CB-WP-0009-T01: the meta budget measures the pass it governs

ADR-0006 D1. cb-cost gains pass_costs, which buckets responses into
workplan windows in a single read of the transcripts — calling collect()
once per boundary would re-read every transcript per window, and status
is supposed to stay cheap enough that nobody replaces it with ls.

make status now reports the share over a trailing three passes with the
per-pass breakdown, keeps the lifetime figure labelled NOT the metric,
and prints the D2 exemption so the next reader does not re-derive the
standoff where the budget blocked its own repair. One pass would be a
coin flip: a meta pass reads 100%, a product pass 0%. Three is the
smallest window where the ratio means something and still moves.

First reading: 36% over the last three passes against 49% lifetime,
with CB-WP-0008 at 0%.

The first run reported $0.00 for every window. Transcript stamps are
UTC Z and git prints a local offset, so the string comparison put every
response before the first boundary. Both the fix and a self-test for it
are in; reverting the conversion turns four checks red.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-01 15:38:35 +02:00
parent f4dccb6f99
commit 38f237fc5c
3 changed files with 194 additions and 26 deletions

View file

@ -2,7 +2,7 @@
id: CB-WP-0009
kind: meta
title: "Make control gates experimental: window them, review them, cash them out"
status: proposed
status: in_progress
authorized_above_budget: "maintainer, 2026-08-01 — 'improve our policies where it seems promising; we will experiment our way to sensible task- and context-specific control and review gates'. Meta read 59% at the time."
state_hub_workstream_id: "98c0af4a-415c-4cf5-92d0-a722eb70cb90"
---
@ -34,7 +34,7 @@ prose has not delivered.
```task
id: CB-WP-0009-T01
status: todo
status: done
priority: high
state_hub_task_id: "c6eefacd-5bb9-4640-8356-12e8112bcf11"
```
@ -53,6 +53,11 @@ it was a pure product pass — against 61% cumulative.
**Refuted if** the two land within 20% of each other, in which case D1 is
wrong and the machinery should be deleted rather than kept.
**Done 2026-08-01.** `cb-cost.pass_costs` buckets by pass window in one
read of the transcripts; `make status` reports a trailing 3-pass share
with the per-pass breakdown and the exemption. First reading **36% over
the last 3 passes** against **49% lifetime** — CB-WP-0008 alone reads 0%.
## Task: `gates.toml` and `make gate-review`
```task