plan reviews: '## CRITICAL RULE — How to ask questions' -> '## How to ask questions' (s04 F9, s05 L3)

The bodies are plain procedure; the caps label added nothing and competed
with the CRITICAL GAP output label. Applied in plan-ceo-review,
plan-design-review and plan-devex-review sections (s05 L3 promoted by the
plan).

W7a: test/devex-finding-fixture.test.ts:83-84 now finds the section by a
heading regex ending in 'How to ask questions'; the skill-e2e-plan-ceo-plan-mode
failure diagnosis names the new heading.
Judge anchors NOT changed here (builder E moves them to structural anchors):
skill-ceo-section-ordering.test.ts (old :938), workflow-excerpt.test.ts:109,296,
skill-llm-eval.test.ts:638, workflow-judge-input.test.ts:366,373; the mirror
in touchfiles.test.ts:219 also uses '## CRITICAL RULE'. These stay red until
E's anchor commit lands. expected red until the regeneration commit
This commit is contained in:
garrytan committed 2026-10-03 00:14:50 +00:00
1 parent 4a27431795
commit f2eee1f2b8
5 files changed
+7 -7

No files matched your search

+3 -2
View File
@@ -80,8 +80,9 @@ test('every host exposes the DX per-call rule before the pre-review audit and St
const options = beforeAudit.indexOf('4. **Draft and answer one decision.**', gate);
expect([gate, ground, classify, scope, options].every((offset, i, offsets) =>
offset >= 0 && (i === 0 || offset > offsets[i - 1]!))).toBe(true);
const localRule = allContent.slice(allContent.indexOf('## CRITICAL RULE — How to ask questions'),
allContent.indexOf('## Required Outputs', allContent.indexOf('## CRITICAL RULE — How to ask questions')));
const askHeading = allContent.search(/^## .*How to ask questions$/im);
expect(askHeading).toBeGreaterThanOrEqual(0);
const localRule = allContent.slice(askHeading, allContent.indexOf('## Required Outputs', askHeading));
expect(localRule).toContain('Run the Decision gate before drafting options.');
expect(localRule).not.toContain('use AskUserQuestion for each gap');
expect(allContent).toContain('Record observed human onboarding separately from automated execution');
+1 -2
View File
@@ -99,8 +99,7 @@ describeE2E('plan-ceo-review plan-mode smoke (gate)', () => {
`plan-ceo-review smoke FAILED: outcome=${obs.outcome}\n` +
`${diagnosis}\n` +
`Expected 'asked'. See plan-ceo-review/SKILL.md.tmpl: the Step 0 STOP rules ` +
`and the "One issue = one AskUserQuestion call" rule under "CRITICAL RULE — ` +
`How to ask questions".\n` +
`and the "One issue = one AskUserQuestion call" rule under "How to ask questions".\n` +
`summary: ${obs.summary}\n` +
`elapsed: ${obs.elapsedMs}ms\n` +
`--- evidence (last 2KB visible) ---\n${obs.evidence}`,