From 5f247ba817f40ef7264a7b7d1bbc61453def51ca Mon Sep 17 00:00:00 2001 From: garrytan Date: Sun, 4 Oct 2026 17:30:05 +0000 Subject: [PATCH] A2: /plan-ceo-review sends the mode handoff line before any other tool call plan-ceo-mode-routing's HOLD SCOPE session spends its 240 s post-selection window on model work: 37176837432 skipped the handoff helper and paraphrased the mode, 37198445662 ran it, then wrote the plan, loaded sections and probed Codex for 114 s before the posture chat. The handoff line is the posture. --- plan-ceo-review/SKILL.md.tmpl | 2 +- test/skill-ceo-section-ordering.test.ts | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/plan-ceo-review/SKILL.md.tmpl b/plan-ceo-review/SKILL.md.tmpl index 7d83703fd..72628bade 100644 --- a/plan-ceo-review/SKILL.md.tmpl +++ b/plan-ceo-review/SKILL.md.tmpl @@ -407,7 +407,7 @@ Follow the preamble's session rules; `CONDUCTOR_SESSION: true` changes transport wins. When `QUESTION_TUNING: true`, include ``. These modes differ in kind, not coverage; do NOT score completeness. -4. **Mode handoff:** After selection, before other tools or further questions, run `~/.claude/skills/gstack/bin/gstack-ceo-mode-handoff "" --decisions ""` (add `--auto` for `plan-ceo-review-mode: AUTO_DECIDE`). It prints the matching line below. Then send brief chat beginning with that line: the mode's application and rationale; every governing approved row's ID, answer reference and accepted scope. Keep rows separate. +4. **Mode handoff:** After selection, before other tools or further questions, run `~/.claude/skills/gstack/bin/gstack-ceo-mode-handoff "" --decisions ""` (add `--auto` for `plan-ceo-review-mode: AUTO_DECIDE`). It prints the matching line below. Then send brief chat beginning with that line, before any other tool call, plan write or section load, and never skip the helper: the mode's application and rationale; every governing approved row's ID, answer reference and accepted scope. Keep rows separate. - `plan-ceo-review-mode: AUTO_DECIDE`: `Auto-decided review mode → (your preference). Change with /plan-tune. Approved decisions: . .` - Other selections: `Mode: ; approved decisions: . .` diff --git a/test/skill-ceo-section-ordering.test.ts b/test/skill-ceo-section-ordering.test.ts index 8b6949ffa..31e512378 100644 --- a/test/skill-ceo-section-ordering.test.ts +++ b/test/skill-ceo-section-ordering.test.ts @@ -131,6 +131,15 @@ test('CEO handoff carries all answered rows instead of one synthetic approach', expect(handoff).not.toContain(''); }); +// ci-37176837432 paid-slice-3 HOLD SCOPE skipped the helper and paraphrased ("holding scope"); +// ci-37198445662 paid-slice-3 HOLD SCOPE ran it, then wrote the plan, loaded sections and probed Codex +// for 114 s before the posture chat. Both spent the case's 240 s post-selection window. +test('CEO mode handoff chat follows the helper before any other tool call', () => { + const selection = between(skeletonSource(), '### 0E. Mode Selection', '### 0F.'); + const instruction = selection.slice(selection.indexOf('4. **Mode handoff:**')).split('\n')[0]!; + expect(instruction).toContain('Then send brief chat beginning with that line, before any other tool call, plan write or section load, and never skip the helper'); +}); + // Guards the public handoff instruction, not model compliance or posture detection. test('CEO mode handoff applies the selected mode before the next question', () => { const selection = between(skeletonSource(), '### 0E. Mode Selection', '### 0F.');