diff --git a/tools/enforce-hook-helpers.mjs b/tools/enforce-hook-helpers.mjs index 4227d872..2384706c 100644 --- a/tools/enforce-hook-helpers.mjs +++ b/tools/enforce-hook-helpers.mjs @@ -412,6 +412,8 @@ export const FAIL_CLOSE_DISCIPLINE_HOOKS = Object.freeze([ 'enforce-skill-journaler', 'enforce-coverage-verify', 'enforce-todowrite-skill-verifier', + 'enforce-rationalization-audit', + 'enforce-self-debrief-detector', ]); export const FAIL_QUIET_OBSERVATION_HOOKS = Object.freeze([ diff --git a/tools/enforce-hook-helpers.test.mjs b/tools/enforce-hook-helpers.test.mjs index 10fdb82b..e36c3ba4 100644 --- a/tools/enforce-hook-helpers.test.mjs +++ b/tools/enforce-hook-helpers.test.mjs @@ -87,6 +87,16 @@ describe('FAIL_CLOSE_DISCIPLINE_HOOKS — Фаза 4a поглощённая д } }); +// Фаза 4b поглощённая Stop-дисциплина (§4.2): rationalization + self-debrief fail-CLOSE. +// Символ FAIL_CLOSE_DISCIPLINE_HOOKS — из ./enforce-hook-helpers.mjs (см. import выше). +describe('FAIL_CLOSE_DISCIPLINE_HOOKS — Фаза 4b Stop-дисциплина', () => { + for (const name of ['enforce-rationalization-audit', 'enforce-self-debrief-detector']) { + it(`includes ${name} (fail-CLOSE, манифест Фазы 6)`, () => { + expect(FAIL_CLOSE_DISCIPLINE_HOOKS).toContain(name); + }); + } +}); + describe('safe-baseline action log', () => { it('appends and reads action records', () => { const dir = mkdtempSync(join(tmpdir(), 'sb-'));