feat(observer): extend classifyPromptSignal vocabulary
Closes brain-retro 2026-05-20 #9 — добавлены маркеры: - correction: 'не совсем', 'другое|другая', 'не сходится', 'wrong direction' - approval: 'класс', 'хорошо', 'принято', 'well done', 'nice' - new_task (prefix): 'теперь', 'далее', 'следующее', 'next', 'now' NB на JS \b с Cyrillic: \b matches word↔non-word boundary, но Cyrillic chars не word-chars в JS RegExp default → \b после русского слова никогда не fires. Решение: substring-match для русских correction-маркеров; lookahead с явными разделителями для start-of-prompt new_task маркеров. 11 new vitest tests, 301/301 GREEN. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -402,15 +402,16 @@ export function extractAskUserQuestionEvents(turn) {
|
||||
export function classifyPromptSignal(text) {
|
||||
const t = String(text || '').toLowerCase().trim();
|
||||
if (
|
||||
/не то\b|не так\b|переделай|отбой|\bстоп\b|почему ты|неверно|не верно|это не |не работает|не правильн|сломал|опять|снова не|всё ещё|все ещё|все еще|верни как|откат|\brevert\b|\bundo\b|still not|doesn'?t work|does not work|\bwrong\b/.test(
|
||||
/не совсем|другое|другая|не сходится|wrong direction|не то\b|не так\b|переделай|отбой|\bстоп\b|почему ты|неверно|не верно|это не |не работает|не правильн|сломал|опять|снова не|всё ещё|все ещё|все еще|верни как|откат|\brevert\b|\bundo\b|still not|doesn'?t work|does not work|\bwrong\b/.test(
|
||||
t
|
||||
)
|
||||
) {
|
||||
return 'correction';
|
||||
}
|
||||
if (/^(ок|окей|ok|спасибо|супер|отлично|готово|дальше|идеально)([,\s]|$)/.test(t)) {
|
||||
if (/^(ок|окей|ok|спасибо|супер|отлично|готово|дальше|идеально|класс|хорошо|принято|well done|\bnice\b)([,\s]|$)/.test(t)) {
|
||||
return 'approval';
|
||||
}
|
||||
if (/^(?:теперь|далее|следующее)(?=\s|[,.!?:;]|$)|^next\b|^now\b/.test(t)) return 'new_task';
|
||||
if (classifyTask(t) !== 'other' && t.length > 15) return 'new_task';
|
||||
return 'neutral';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user