A2/auto-decide: the CEO handoff chat repeats the helper's printed line verbatim

Claude Code 2.1.284 collapses the helper's Bash output ('Ran 1 shell
command'), so the 'Auto-decided review mode → …' line reaches the user only
through chat. In lane D's auto-decide-preserved corpus every passing capture's
chat starts with that line, and the reds paraphrased it ('HOLD SCOPE was
auto-selected…', 'Mode decision done…', "I'm defaulting to HOLD SCOPE…").
The template now says verbatim and why.
This commit is contained in:
garrytan committed 2026-10-04 18:14:44 +00:00
1 parent 74f720909d
commit b8ec190551
2 files changed
+12 -2

No files matched your search

+1 -1
View File
@@ -407,7 +407,7 @@ Follow the preamble's session rules; `CONDUCTOR_SESSION: true` changes transport
wins. When `QUESTION_TUNING: true`, include `<gstack-qid:plan-ceo-review-mode>`.
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 "<selected mode>" --decisions "<rows or none>"` (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.
4. **Mode handoff:** After selection, before other tools or further questions, run `~/.claude/skills/gstack/bin/gstack-ceo-mode-handoff "<selected mode>" --decisions "<rows or none>"` (add `--auto` for `plan-ceo-review-mode: AUTO_DECIDE`). It prints the matching line below. Then send brief chat beginning with that line, copied verbatim (the terminal collapses tool output, so the user sees it only in your chat; never a paraphrase such as "I've set review mode…"), 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 → <selected mode> (your preference). Change with /plan-tune. Approved decisions: <rows or none>. <Application and rationale>.`
- Other selections: `Mode: <selected mode>; approved decisions: <rows or none>. <Application and rationale>.`
+11 -1
View File
@@ -137,7 +137,17 @@ test('CEO handoff carries all answered rows instead of one synthetic approach',
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');
expect(instruction).toContain('before any other tool call, plan write or section load, and never skip the helper');
});
// A2/auto-decide: Claude Code 2.1.284 collapses the helper's Bash output ("Ran 1 shell command"), so the
// printed line reaches the user only through chat. Census reds 37176837432, 37179171083 and 37182865432
// paraphrased it ("HOLD SCOPE was auto-selected…", "Mode decision done…", "I'm defaulting to HOLD SCOPE…");
// every passing capture's chat starts with "Auto-decided review mode →".
test('CEO mode handoff chat repeats the printed line verbatim because tool output is collapsed', () => {
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, copied verbatim (the terminal collapses tool output, so the user sees it only in your chat; never a paraphrase');
});
// Guards the public handoff instruction, not model compliance or posture detection.