test: one owner per case id, a structural devex 0B setup rule, and correct design/gbrain actors

- plan-design-review-plan-mode was registered by two files; the PTY smoke is
  now plan-design-review-plan-mode-smoke, and a registry test requires one
  owner per case in case-sharded files.
- plan-devex-finding-floor: the template's 0B narrative-confirmation question
  is classified as setup structurally instead of timing out a Haiku assessor.
- setup-gbrain-remote: the actor accepted 'skip' on the MCP-registration
  question the test asserts; it now accepts that question and declines others.
- design-review-plugin-handoff: the fake engine cited a file absent from the
  fixture repo and index.html linked a missing styles.css.
Captured-question regressions with negative controls; each case passed a
focused paid run.
This commit is contained in:
garrytan committed 2026-09-30 12:24:05 +00:00
1 parent 8cf87d4729
commit dfe5e733fb
10 files changed
+152 -21

No files matched your search

+10
View File
@@ -206,6 +206,16 @@ describe('case-sharded files', () => {
});
}
test('every case in a case-sharded file has exactly one owner, so --case can select it', () => {
for (const file of CASE_SHARDED_FILES) {
const { registered } = fileCaseRegistration(file, fs.readFileSync(path.join(ROOT, file), 'utf8'));
for (const id of registered) expect(caseFile(id), id).toBe(file);
}
expect(caseFile('plan-design-review-plan-mode')).toBe('test/skill-e2e-design.test.ts');
expect(caseFile('plan-design-review-plan-mode-smoke')).toBe('test/skill-e2e-plan-design-plan-mode.test.ts');
expect(() => caseFile('carve-section-loading')).toThrow(/registered by .*; it needs exactly one/);
});
test('a case key runs exactly its case: exact name pattern, own eval slug, per-case supervision', () => {
const pattern = new RegExp(caseTestNamePattern(['design-review-detector-shim']));
expect(pattern.test('Design review detector shim E2E design-review-detector-shim')).toBe(true);