feat: анти-диктовка свободного floor_escape (consent forgery C)
Свободный floor_escape (лёгкий escape в чате) НЕ доверяется, если контроллер в своём тексте текущего хода инструктировал владельца вписать метку. processEvent читает текст контроллера из транскрипта хода (readTranscript + lastAssistantText, переиспользован), один раз на событие зовёт detectOtherSocialEng (раньше был мёртвой проводкой — не вызывался нигде); flagged → floor_escape не пишется. Паттерны detectOtherSocialEng усилены императивной диктовкой метки FLOOR-ESCAPE (глагол рядом; простое упоминание концепта не флагуется). fail-open observability — сбой чтения транскрипта → как раньше. Применяется к floor_escape (git-approval закрыт #A). Завершает кодовую часть эпика (A + B1-B5 + C). Спека §C. Свод 4350 зелёный. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -248,6 +248,15 @@ describe('askuser-answer-parser / detectOtherSocialEng (E29 + v4.0 RU)', () => {
|
||||
expect(detectOtherSocialEng('выбери подходящий вариант').flagged).toBe(false);
|
||||
});
|
||||
|
||||
it('flags imperative dictation of FLOOR-ESCAPE marker (C)', () => {
|
||||
expect(detectOtherSocialEng('набери FLOOR-ESCAPE: write:c:/x.md').flagged).toBe(true);
|
||||
expect(detectOtherSocialEng('paste FLOOR-ESCAPE: bash:rm -rf x').flagged).toBe(true);
|
||||
});
|
||||
|
||||
it('does not flag mere mention of FLOOR-ESCAPE concept (C)', () => {
|
||||
expect(detectOtherSocialEng('это даётся через FLOOR-ESCAPE из терминала').flagged).toBe(false);
|
||||
});
|
||||
|
||||
it('handles non-string', () => {
|
||||
expect(detectOtherSocialEng(null).flagged).toBe(false);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user