Files
gstack/test/plan-format-kind-note.test.ts
T
garrytan a981dc3970 test: fold the harness-freeze fixture tests into the tests that own their helpers (test-of-test ratchet)
Seven new files imported only test code; their stored known-good/known-bad
rows move unchanged into the owning tests:
- auq-matrix-format-gate -> auq-native-capture.test.ts
- browse-judge-floors -> workflow-judge-cache.test.ts
- ceo-split-floor -> plan-review-cases.test.ts (one block appended at the end)
- plan-mode-targeting -> plan-mode-evidence.test.ts
- shared-libs-pr-coverage-budget -> shared-libs-fixture.test.ts
- skill-body-narration -> skill-fixture.test.ts
- test-value-seam-evidence -> test-value-bar.test.ts
plan-format-kind-note and ship-triage-labels have no other owner, so each now
checks its grader against the production source it grades: the kind note
generateAskUserFormat prescribes, and the in-branch / pre-existing labels in
ship/sections/tests.md.tmpl. No BASELINE entries added.
2026-10-03 01:07:08 +00:00

21 lines
1.1 KiB
TypeScript

import { describe, expect, test } from 'bun:test';
import * as fs from 'fs';
import * as path from 'path';
import { KIND_NOTE_RE } from './helpers/plan-format-kind-note';
import { generateAskUserFormat } from '../scripts/resolvers/preamble/generate-ask-user-format';
import { HOST_PATHS, type TemplateContext } from '../scripts/resolvers/types';
const stored = JSON.parse(fs.readFileSync(path.join(import.meta.dir, 'fixtures/plan-format-kind-notes.json'), 'utf8')) as
{ known_good: string[]; known_bad: string[] };
describe('plan-format kind note', () => {
test('accepts the kind note the AskUserQuestion format itself prescribes', () => {
const format = generateAskUserFormat({ skillName: 'plan-ceo-review', host: 'claude', paths: HOST_PATHS.claude } as TemplateContext);
const prescribed = /Note: options differ in kind[^`\n]*/.exec(format)?.[0];
expect(prescribed).toBeDefined();
expect(prescribed!).toMatch(KIND_NOTE_RE);
});
test.each(stored.known_good)('accepts %s', line => expect(line).toMatch(KIND_NOTE_RE));
test.each(stored.known_bad)('rejects %s', line => expect(line).not.toMatch(KIND_NOTE_RE));
});