T05: live cost budget replaces the dead token budget
The 8k/10k per-task token budget was never referenced or enforced and T08 blew past it silently. Replaced with a budget that can actually fire. The design constraint is the interesting part: per-task cost needs the commit that CLOSES the task, so a per-task budget is unavoidably retrospective -- it can only report a breach after the money is spent, which is the dead-policy failure again. What IS observable mid-task is spend since the last commit, because the transcript is append-live. So the budget binds on the open remainder. CB-01 budget = USD since the last commit, via `make cost-budget` CB-02 soft $10.00 (state progress, decide), hard $22.00 (stop) Calibrated on the 32 non-empty commit intervals of CB-WP-0001: p50 $1.40, p90 $9.36, max $10.80. Soft sits just below the observed maximum -- it would have fired exactly once on the calibration pass. Hard is ~2x the observed max, a value never reached in 32 intervals, so reaching it means the session is doing something the data has no example of. Both thresholds are set ABOVE every observed value, so they bind on future work rather than ratifying present work -- the distinction T07 is about. Stated limit: it is a command, not a daemon. An agent that never runs it gets no signal, which is the dead-policy failure one level up. Mitigated only by being free to run and on the one command surface. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
d382fd4555
commit
06628e83e1
6 changed files with 122 additions and 4 deletions
|
|
@ -317,6 +317,16 @@ The loop exists to be driven by agents. Therefore:
|
|||
that does not exist. Replacement in USD is CB-WP-0003 T05; until then
|
||||
this is documentation of a gap, not a rule.
|
||||
|
||||
6a. **Live cost budget** *(replaces the above)* — spend since the last
|
||||
commit, soft **$10.00**, hard **$22.00**, checked by `make cost-budget`.
|
||||
Calibrated on the 32 commit intervals of CB-WP-0001 (p50 $1.40, p90
|
||||
$9.36, max $10.80), so both thresholds bind on future work rather than
|
||||
ratifying past work. Contract: [CostAccounting.md](CostAccounting.md)
|
||||
§7 (CB-01, CB-02). It fires on the open remainder rather than per task
|
||||
because per-task cost needs the commit that closes the task, and a
|
||||
budget that can only report after the money is spent is the dead policy
|
||||
this replaces.
|
||||
|
||||
**Enforcement status.** Rules above that a command can check are enforced
|
||||
by `make loop-lint`; the full classification of every InnerLoop rule as
|
||||
executable / checkable / decorative, with the failure class each catches,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue