📝 Headless-forks post-mortem and Spire guidance text audit

This commit is contained in:
2026-10-16 23:03:06 +02:00
parent dff19572ab
commit 5bd945ea60
4 changed files with 536 additions and 0 deletions
@@ -202,6 +202,35 @@
- About two thirds is detached-process policing; most of the rest is unrequested heuristics.
- Recommendation: keep stream parsing, usage and cache accounting, env scrub, the argv builder and templates; replace the supervisor with a blocking call under `run_in_background`; ~600–800 lines.
- Pre-rewrite check: does TaskStop on a backgrounded Bash call kill the claude.exe grandchild?
- User corrections and asks:
- "throw out" meant output volume. Delete code only after committing; history is useful.
- The prototype holds wisdom; it was just too much; a prototype first would have helped.
- Wants a post-mortem that calls this a failure (approval waits aren't the main issue).
- Wants to know skill text size, filler, and whether the skills are written for agents.
- Brainstorm corrected. Dispatched two Opus agents in parallel (30 min timebox each): post-mortem → reports/2026-10-16-23-headless-forks-postmortem.md; guidance-text audit → reports/2026-10-16-23-spire-guidance-text-audit.md.
- Post-mortem back (claude-opus-5-5): reports/2026-10-16-23-headless-forks-postmortem.md.
- ~12,700 lines in total (code, tests, process docs) vs ~1,100–1,300 needed. ~21 h wall clock, 11.6 h of it waits, **~9 active hours, which is the real failure**.
- Top causes:
1. The premise fell (Bash backgrounds long calls) and nobody re-planned.
2. The goal and design specified a large tool.
3. No size criterion, and reviews only add (+480 lines of fixes, ~25 unrequested items never cut).
4. No code structure in the plan.
5. Opus everywhere with no budgets.
- The 1.1 skeleton alone was 1,124 lines.
- **Igor's own miss, made explicit:** the Phase 0 hand-back stated the Bash-background finding, and Igor answered with "rung 3 default" instead of stopping to re-plan.
- Igor proposed a gremlins MVP box list:
- train/spawn as blocking calls; the Athanor runs spawns under run_in_background; stop via TaskStop (5-min check first);
- usage from the result JSON; warmth reported only, no pings; rebase optional;
- no detach code, so it may be cross-platform; ~400–600 lines in a few modules;
- one agent, one go, happy path first, one boxes-and-deletion review.
- The user had asked: "ecosystem first" (inventory harness/stdlib/existing tools before building), which belongs in grotto's orientation probe. The user feels it's their fault for keeping the first drop; Igor: a rewrite is cheap now that the prototype exists.
- Guidance audit back (claude-opus-5-5): reports/2026-10-16-23-spire-guidance-text-audit.md.
- ~25k words on main.
- Split: 42% agent instruction / 22% facts / 9% general knowledge / 23% filler / 4% stale.
- Planner, attacker and reviewer carry ~83% preloaded workpad + implementation text.
- Steering sentences match today's behaviour exactly: reviewer.md:22 "Answer every … flag … one by one", "Hunt …", run-log handoff fields with no length cap, attacker.md:25 asking for more scope.
- No size, happy-path or delete guidance anywhere.
- Stale text includes the athanor.md:32 Agent-tool fork and the zathras "Always pass model".
## Adepts