Files
claude-plugin-inference-arb…/tests/calibration/anxious-7d.scan.json
T
oleks dcec9cabfb FR-4.5: evidence-stability gate — refuse to file a candidate whose confidence moved with the window
Phase 7 filed anxious/agent-wip/release-policy-derivation as `measured` at
11.94% of audited spend on a 30-day window. The same candidate over 7 days came
back `thin` at 0.00%. Only the date range differed. A human reading either issue
body alone cannot know the other exists, which is rubric.md §4a's failure mode
reached through the plugin's own headline number.

That was caught by a human running a second skeptical review — luck, not a
control. It is now mechanical, in the same register as FR-4.2's overrule-case
gate:

- bin/stability-classify matches each `file` candidate against the most recent
  prior snapshot recording it (FR-5.2 identity) and downgrades it to a boundary
  question if `measurement_strength` changed or the share crossed the 2% filing
  threshold between windows. Movement within a label is a trend, not an
  instability; no prior window is `unchecked`, not unstable (FR-2.4).
- The downgrade is a finding against THIS repo, not the target's — the target
  did not change, the auditor described it two ways. Carries an `ia-stability`
  marker so a re-run comments rather than duplicating.
- bin/ia_store.py factors the store and identity resolution out of
  audit-snapshot so both scripts hash signatures identically. A divergence there
  would make the gate match nothing and fail open.

Documented as spec FR-4.5 and rubric §5b (shipped verbatim in references/).
Wired into skills/offload-audit as step 4b, before filing-plan; steps 5-6 now
consume its output rather than classified.json.

S4 is retired in its old form — a human triage catching a bad candidate is not a
repeatable test — and re-passed as: the gate catches the real
release-policy-derivation case with no human in the loop. Asserted in
tests/stability.test.sh case (f) against the verbatim two-window Phase 7 output.

Closes kotkan/claude-plugin-inference-arbitrage#11
Suite: 178 assertions, exit 0.
2026-07-29 20:25:04 +03:00

117 lines
3.0 KiB
JSON

{
"window": {
"since": "2026-07-22T15:04:13.318000+00:00",
"until": "2026-07-29T15:04:20.306000+00:00",
"requested_since": "2026-07-22T15:04:13.270540+00:00",
"requested_until": null,
"sessions": 69
},
"plugin": "anxious",
"tool_versions": {
"cc_tokens_path": "/home/oleks/projects/claude-plugins/token-budget/bin/cc-tokens"
},
"coverage": {
"attributed_turns": 1493,
"candidate_turns": 45384,
"ratio": 0.033,
"caveat": "hook-driven and unattributed agent turns excluded"
},
"totals": {
"weighted_tokens": 4036235,
"cost_estimate_usd": 20.18,
"invocations": 146,
"mechanical_share": 0.179
},
"skills": [],
"agents": [
{
"agent": "anxious:issuer-agent",
"invocations": 144,
"turns": 1487,
"sidechain_turns": 1487,
"weighted_tokens": 3856203,
"cost_estimate_usd": 19.28,
"share_of_plugin": 0.955,
"mtr": 0.18,
"judgment_density": 0.019,
"retry_density": 0.132,
"offload_waste": 536202,
"read_amplification": 492.12,
"fanout_multiplier": 1.0,
"repetition_factor": 5.755,
"ngrams": [
{
"sig": [
"Agent(description=<str>, prompt=<str>, subagent_type=<str>)",
"issue_read(index=<n>, method=<str>, owner=<str>, repo=<str>)",
"issue_read(index=<n>, method=<str>, owner=<str>, repo=<str>)"
],
"recurrences": 23,
"invocations": 21,
"waste": 277765
},
{
"sig": [
"Agent(description=<str>, prompt=<str>, subagent_type=<str>)",
"Agent(description=<str>, prompt=<str>, subagent_type=<str>)",
"issue_read(index=<n>, method=<str>, owner=<str>, repo=<str>)"
],
"recurrences": 10,
"invocations": 10,
"waste": 151483
},
{
"sig": [
"issue_read(index=<n>, method=<str>, owner=<str>, repo=<str>)",
"Agent(description=<str>, prompt=<str>, subagent_type=<str>)",
"issue_read(index=<n>, method=<str>, owner=<str>, repo=<str>)"
],
"recurrences": 11,
"invocations": 9,
"waste": 133610
},
{
"sig": [
"Agent(description=<str>, prompt=<str>, subagent_type=<str>)",
"Agent(description=<str>, prompt=<str>, subagent_type=<str>)",
"issue_read(index=<n>, method=<str>, owner=<str>, repo=<str>)",
"issue_read(index=<n>, method=<str>, owner=<str>, repo=<str>)"
],
"recurrences": 7,
"invocations": 7,
"waste": 127433
},
{
"sig": [
"Bash(command=cat <str>)",
"Bash(command=cat <str>)",
"Bash(command=cat <str>)"
],
"recurrences": 27,
"invocations": 9,
"waste": 102394
}
],
"offload_value": 3027155
},
{
"agent": "anxious:steward-agent",
"invocations": 2,
"turns": 6,
"sidechain_turns": 6,
"weighted_tokens": 180032,
"cost_estimate_usd": 0.9,
"share_of_plugin": 0.045,
"mtr": 0.0,
"judgment_density": 0.167,
"retry_density": 0.333,
"offload_waste": 0,
"read_amplification": 0.0,
"fanout_multiplier": 1.0,
"repetition_factor": 1.0,
"ngrams": [],
"offload_value": 0
}
]
}