test(classifier): regression guards for 8-pattern PAMYATKA (Phase 3 close)

Three regression tests:
1. Header count reflects 8 patterns
2. All 8 patterns present in strict ascending order (1-8)
3. Original 4 patterns (brainstorming/discovery/plans/debugging) preserved
   verbatim — protects existing accuracy baseline from drift on future
   pamyatka edits.

Closes Phase 3 brain-retro #9 candidates 7/1/8/10.
This commit is contained in:
Дмитрий
2026-05-28 12:13:54 +03:00
parent ee32317bf4
commit eedc700bb7
2 changed files with 23 additions and 1 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
# Brain Status (auto-generated)
Last updated: 2026-05-28T09:10:54.147Z
Last updated: 2026-05-28T09:12:46.162Z
| Контролёр | Состояние | Детали |
|---|---|---|
+22
View File
@@ -557,4 +557,26 @@ describe('PAMYATKA extensions (Phase 3 brain-retro #9)', () => {
expect(system).toMatch(/coder-agent|#19|Task tool|субагент/);
expect(system).toMatch(/однотипн|механич|N одинаковых|перенеси все/);
});
it('PAMYATKA header reflects 8 patterns total', () => {
const { system } = buildClassifierPromptStructured('тест', registry, { enrichment: true });
expect(system).toMatch(/=== ПАМЯТКА \(8 паттернов\) ===/);
});
it('all 8 patterns present in correct order', () => {
const { system } = buildClassifierPromptStructured('тест', registry, { enrichment: true });
const indices = [1, 2, 3, 4, 5, 6, 7, 8].map(n => system.indexOf(`ПАТТЕРН ${n}`));
indices.forEach((idx, i) => expect(idx, `ПАТТЕРН ${i + 1} missing`).toBeGreaterThan(-1));
for (let i = 1; i < indices.length; i++) {
expect(indices[i]).toBeGreaterThan(indices[i - 1]);
}
});
it('original 4 patterns (brainstorming, discovery, plans, debugging) preserved verbatim', () => {
const { system } = buildClassifierPromptStructured('тест', registry, { enrichment: true });
expect(system).toContain('минимум 3 alternative_considered');
expect(system).toContain('discovery-interview');
expect(system).toMatch(/single-step.*multi-step|multi-step.*single-step/);
expect(system).toContain('system/expected/actual');
});
});