Skip to content

Commit 277a0b3

Browse files
copeusclaude
andcommitted
task-11(v3.0): rationale record — the v2.18 arm/disarm wiring (diff landed in 3c15b8c)
EMPTY BY NECESSITY, not by choice. This job's four files were staged when a concurrent commit in the same working tree (3c15b8c, the r7 spec commit) ran `git commit` and swept the index, so the diff is already in history under an unrelated message. Nothing is amended — that commit also carries another agent's work. This records the WHY the swept commit does not. WHY THIS JOB EXISTS: v2.18 shipped the mechanism and left the surface unwired. `--arm-goal`, `--disarm-goal` and `--goal-status` exist in scripts/compound-v-epic-state.py and hooks/epic-goal-stop.sh reads them, but no command ever CALLED them — an armed goal was reachable only by hand-running the script. Feature F's headless shim was likewise an orphan, referenced by README and CI and invoked by nothing. A mechanism nothing invokes is prose with a test suite, which is the exact defect this release exists to remove. WHAT LANDED: - commands/v-epic.md — §0d arms the goal (offered, never silent): session id from the harness, refuse rather than invent one when it is empty, the two shipping conditions, max_continues > 0 with `0` stated as invalid, the §9 commit rule, and a hook-store check that can FALSIFY the arm rather than assume it took. §0e prints the shim artifact and installs nothing, never pre-filling --allow-build. "Goal disarm" pops the record at every terminal exit and takes its wording from `met`, never from "the hook stopped blocking". - commands/v-status.md — an armed-goal column off the read-only --goal-status, degrading to an em-dash on every failure path. Continuations are always "—": that counter lives in the hook's own store keyed on a session id this command does not have, and a guessed count is the fabricated metric the charter forbids. - commands/v-init.md — `enforcement.*` seeded OFF as a MAP of named gates, so 3.0's triage_gate joins 2.18's pipeline_bypass by adding a key, not by changing shape. /v:init never offers to turn one on: a false positive costs every teammate a blocked turn. Also amends Iron Invariant #4 to its v3.0 wording at the three sites here that still asserted the deleted absolute (coordinator hand-off from task-5). - skills/compound-v/epic-mode.md — the armed-goal lifecycle, one armed epic per project (per-file refusal plus fail-open cross-file discovery), session_id matching, and the distinction that pays for all of it: a terminal-but-unmet epic yields "do not continue", not "met". Calling a stopped epic finished is a fabricated completion claim, and should_continue is not a completion answer. Every flag documented was run before it was written about, and the terminal-but-unmet JSON quoted in epic-mode.md is a real probe, not an example. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent 3c15b8c commit 277a0b3

0 file changed

File tree

    0 commit comments

    Comments
     (0)