mirror of
https://github.com/garrytan/gstack.git
synced 2026-10-31 22:14:25 +01:00
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:
1 parent
4a27431795
commit
f2eee1f2b8
5 files changed
+7
-7
No files matched your search
@@ -28,7 +28,7 @@ explicit authority; until then, keep both the proposal and original gap unresolv
|
||||
Carry prior approvals into findings, tasks and the report. Routine auto-decide
|
||||
cannot override user constraints or non-goals.
|
||||
|
||||
## CRITICAL RULE — How to ask questions
|
||||
## How to ask questions
|
||||
Use 0D's decision procedure and the preamble's AskUserQuestion format:
|
||||
* **One decision unit = one AskUserQuestion call.** Use Step 0D boundaries, not topic labels.
|
||||
* Describe the concrete problem with file/line references. Offer 2-3 options,
|
||||
|
||||
@@ -122,7 +122,7 @@ AskUserQuestion: "The review passes changed [list major design changes]. Want me
|
||||
|
||||
If yes, use `$D iterate` with feedback summarizing the changes, or `$D variants` with an updated brief. Save to the same `$_DESIGN_DIR` directory.
|
||||
|
||||
## CRITICAL RULE — How to ask questions
|
||||
## How to ask questions
|
||||
Follow the AskUserQuestion format from the Preamble above. Additional rules for plan design reviews:
|
||||
* **One issue = one AskUserQuestion call.** Never combine multiple issues into one question. Each call contains exactly one question; multiple question tabs in one call are also batching. If a user could choose either remedy without choosing the other, ask separately, even when both affect the same component or token file. Shared implementation work does not make independent design choices inseparable.
|
||||
* Describe the design gap concretely — what's missing, what the user will experience if it's not specified.
|
||||
|
||||
@@ -247,7 +247,7 @@ required proof of the accepted contract does not reopen that contract.
|
||||
|
||||
{{CODEX_PLAN_REVIEW}}
|
||||
|
||||
## CRITICAL RULE — How to ask questions
|
||||
## How to ask questions
|
||||
|
||||
Follow the AskUserQuestion format from the Preamble above. Additional rules for
|
||||
DX reviews:
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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}`,
|
||||
|
||||
Reference in new issue
Block a user