gstack/fanout
sohmn 298f76b942 feat(fanout): /fanout skill rebased on main + all six v1 limitations closed
Rebuilt fresh on current main per review feedback on the first PR
(#1763): rebase instead of dragging four generations of merge
conflicts forward.

Carries the first PR's hardening (Step 1 trust boundary, substitution
discipline) and closes all six limitations that PR documented as v1
work:

- L1 worktree/branch names get a doc-path sha8 suffix (collision-proof
  across same-stem design docs)
- L2 CHANGELOG/VERSION named expected-conflict files in Merge order,
  slab prompts, and the wall-clock report
- L3 Slab 0 promotion keeps contract ownership with the owning slab
- L4 over-decomposition guard: draft-contract refusal in heuristic 4 +
  parallelism-confidence check (stop when >1/3 of slabs chain)
- L5 table cells escape pipes, collapse newlines
- L6 per-slab .prompt.md files replace heredocs in the dispatch script
  (kills the EOF-breakout class, prompts editable before dispatch)

test/fanout.test.ts pins all six guardrails. 7/7 pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 00:10:01 -07:00
..
SKILL.md feat(fanout): /fanout skill rebased on main + all six v1 limitations closed 2026-07-20 00:10:01 -07:00
SKILL.md.tmpl feat(fanout): /fanout skill rebased on main + all six v1 limitations closed 2026-07-20 00:10:01 -07:00