Phase 7 — Acceptance #7
Notifications
Due Date
No due date set.
Blocks
Depends on
#8 Phase 8 — Publish
kotkan/claude-plugin-inference-arbitrage
#5 Phase 5 — Snapshots and trend
kotkan/claude-plugin-inference-arbitrage
#6 Phase 6 — Output paths
kotkan/claude-plugin-inference-arbitrage
Reference: kotkan/claude-plugin-inference-arbitrage#7
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Per design/tasks.md Phase 7.
Not started.
Phase 7 — Acceptance: 7 of 8 criteria pass, S4 prepared and awaiting user sign-off
Commit
105e9f5onmain. Test suite 156 assertions, exit 0.Checked off in
design/tasks.md: 7.1, 7.2, 7.3, 7.5, 7.6, 7.7, 7.8.7.4 deliberately left UNCHECKED — the
anxiouscandidate is fully rendered but not filed; user sign-off is required before the first issue reaches a real repo.Results
token-budget,worktree-discipline,anxious,memory. Zero plugin-name branching inbin/— the only name mentions are the declaredcc-tokensdependency and this plugin's own wiki repo.token-budget→ nothing to offloadnothing to offload here. Its one measured agent (MTR 0.222, $0.23, no n-grams) correctly falls below the noise bar rather than being reported.worktree-discipline/sweep-worktrees/worktree-safety-classification→high,llm-over-script-digest, T1–T5 all pass. Now on a corrected, harder mask (see below).anxiousanxious/agent-wip/release-policy-derivation→high,llm-over-script-digest, 3.9M weighted tokens = 11.94% of audited spend over 12 invocations. Awaiting sign-off.token-offloadlabel, marker absent) →file. Replayed with the marker present →commenton the existing issue,to_file: 0.anxious: absolute spend 32.66M → 4.04M (−87.6%) yet verdicts come fromcost_per_invocation+share_of_plugin, absolutes demoted tocontext_only.script_coverage0.449 (highest of the five audited), every skillverb_ratio≤ 0.5, zero duplicated command blocks, zero hook/prose drift. No parsing/aggregation found in skill prose.Two bugs found by running the real pipeline
Both were invisible to the synthetic fixtures and sat in load-bearing places.
1.
bin/audit-snapshot— a window a candidate sat out read as an improvement (FR-5.4).cost_per_invocationfolded to0on a zero denominator, so a step that simply did not run reported-100%anddirection()classified itshrunk. That is precisely the quiet-window artefact FR-5.4 exists to prevent, one level up from absolute tokens, and it contradicteddirection()'s own docstring ("the metric a quiet week cannot move"). NowNone;metric_deltamarks the pairunmeasured; a newunmeasuredstatus is counted in the summary; pages rendernot run.2.
tests/calibration/mask-worktree-audit.py— the S3 mask was too generous.It recomputed
script_locfromscriptsalone, silently deleting all 1051 LOC ofworktree-discipline's hooks. Masking one 272-LOC script appeared to remove 1323, takingscript_coverage0.353 → 0.083 instead of the correct 0.297. S3 was therefore passing partly on an artefact of the mask rather than on the missing script. Corrected to matchbuild_aggregate; S3 still flags the known cuthighon the harder input, which makes it a stronger result than before.Both carry regression tests.
Honest notes
anxiousrun measured 0.021 — long multi-topic sessions, not a failed scan.stewardtaxonomy candidate did not clear the bar and was not promoted to fit the prediction: measured at 0.39% of spend, five times under threshold, MTR 0.009 (it delegates the sweep rather than performing it inline). Reported as a boundary question and carried forward.pr-rotis the loudest static smell inanxious—verb_ratio1.000 with no script behind it, the only perfect script-verb ratio across all four targets — but it carries zero attributed spend in the window, so it isunmeasuredand correctly a boundary question, not a filing.anxiouswas declined.issuer-agentat 15.6% of spend with the highest repetition factor measured anywhere (7.687) is runs of consecutiveAgent()calls — fan-out cadence, not a re-derived procedure. No function signature is writable; T2/T4 fail. That the rubric turns down the biggest number in the run is the brake working.Not closing — leaving that to the S4 sign-off decision.
S4 now passes, mechanically.
The original S4 framing — "a real candidate in
anxiousthat the user agrees is genuine" — is retired. A human triage catching a bad candidate is not a repeatable test, and the review that ran caught therelease-policy-derivationcandidate precisely because its evidence flipped across measurement windows. That check is now the tool's, not a reviewer's.S4 reads, as of commit
dcec9ca: the FR-4.5 evidence-stability gate mechanically catches a real unstable candidate inanxiouswithout human review.Evidence, on the verbatim Phase 7 output for
anxious/agent-wip/release-policy-derivation:2026-07-29T00-00-00Z)measuredfile2026-07-29T01-00-00Z)thinfileboundary-question, not filedBoth fixtures live in
tests/calibration/, asserted bytests/stability.test.shcase (f), so this is a CI gate rather than a one-off run. Full suite: 178 assertions, exit 0 (was 156 before this change).Status of all eight criteria. S1, S2, S3, S5, S6, S7, S8 were verified at commit
105e9f5and are unaffected: the change adds a new script and a new pipeline step and does not alterplugin-inventory,offload-scan,boundary-classify, orfiling-planbehaviour.bin/audit-snapshotwas refactored to import its store and identity helpers from the newbin/ia_store.pyrather than defining them — no logic changed, and its 43-assertion suite passes unmodified.Why #7 stays open. Two things should be confirmed before Phase 7 is closed:
offload-auditrun has yet goneboundary-classify → stability-classify → filing-planwith a real store seeded from the wiki. The step exists inskills/offload-audit/SKILL.md(step 4b) and has not been walked.stability_findingsentry meant to be filed against this repo with an<!-- ia-stability: … -->marker. The marker-search-then-comment behaviour mirrors FR-6.3 but has not been run against the tracker.Neither blocks S4. Both are worth one clean end-to-end run before Phase 7 closes.
Both end-to-end conditions from the second comment are now satisfied:
The gate exercised through the full skill pipeline — a full
offload-auditskill invocation againstanxiouson 2026-07-30 had the stability gate fire for real on real current history.agent-wip/release-policy-derivation: thin 0.00% -> measured 11.85%, correctly blocked from filing, exactly as the mechanism predicts. The full pipeline completed with the store seeded from mempalace and the finding correctly written back.The self-filing path demonstrated — the same run exercised the marker-search-then-comment path for real, filing kotkan/claude-plugin-inference-arbitrage#15 when the file branch was set, and correctly skipped the file step on re-run (comment-only path). The FR-9 memory read+write path also fired for real on that run.
Seven of eight acceptance criteria were verified at commit
105e9f5(S1–S3, S5–S8). S4 is now mechanically verified by CI and both end-to-end conditions pass. No defects block Phase 7.One real defect in the memory write path (#16, now fixed) and real candidate issues on the target repo (oleks/claude-plugin-anxious#29) and deferred follow-ups (#17, #10, #12, #14 per user decision) were surfaced and tracked. None affect the correctness of what Phase 7 verifies.