fix(review): live-crew findings — defer slice capture, judge fencing, allowlist, fanout fallback

Commit

peyton-alt2mo ago

A full-crew dogfood review of this branch (request changes, 4 mediums + 1 low, all verified) on the integrated stack:

  • capScopeListsToBudget's 'defer slices.Reverse(sc.Commits)' captured the pre-trim slice header, so byte-trimmed commit lists reversed the FULL backing array and the trimmed view held the OLDEST commits — inverting keep-newest exactly when truncation matters. Now a closure re-reading sc.Commits at return; pinned by a test that reproduces the inversion.

  • writeSynthesisScopeGate wrote branch-controlled file paths raw into the judge prompt ahead of the discard rule — the same injection class fixed for worker prompts, but feeding the FINAL verdict gate. The list now renders inside a dynamic fence introduced as untrusted data, instructions outside.

  • The allowlist granted only 'entire checkpoint explain' while the injected checkpoint context tells reviewers to run 'entire explain <id>' — headless -p denied the prompt's own guidance. Added Bash(entire explain:*).

  • Unconditional explodeSkillWorkers regressed single multi-skill agents without a review-runner adapter (previously served by RunMarkerFallback; explosion forced them into the multi-agent branch which hard-fails, with a circular --agent workaround). Explosion now skips adapter-less agents.

  • picker.go task-persistence comment referenced a nonexistent workerTask function; aligned with the actual runtime contract.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com Entire-Checkpoint: 01KX14MDBGM3BNQK1JKDH030FY

Checkpoints

test(review): pin that codex $name skills survive the legacy repair + native invocation

Claude Code
View session
Checkpoint 1