397777089e
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
26 lines
1001 B
JavaScript
26 lines
1001 B
JavaScript
import { describe, it, expect } from 'vitest';
|
|
import { decide } from './enforce-self-debrief-detector.mjs';
|
|
|
|
describe('enforce-self-debrief-detector decide()', () => {
|
|
it('allows neutral controller text', () => {
|
|
expect(decide({ controllerText: 'Implementing feature X.', transcript: [] }).block).toBe(false);
|
|
});
|
|
it('blocks retrospect-style text without self-retrospect skill call', () => {
|
|
const r = decide({
|
|
controllerText: 'Я заметил паттерн в своих ответах — generalisable lesson: ...',
|
|
transcript: [],
|
|
});
|
|
expect(r.block).toBe(true);
|
|
expect(r.reason).toMatch(/self-debrief hard-block/);
|
|
});
|
|
it('allows retrospect-style text when self-retrospect was invoked recently', () => {
|
|
const r = decide({
|
|
controllerText: 'я обобщаю опыт',
|
|
transcript: [
|
|
{ type: 'tool_use', name: 'Skill', input: { skill: 'self-retrospect' }, turn: 1 },
|
|
],
|
|
});
|
|
expect(r.block).toBe(false);
|
|
});
|
|
});
|