Repository path: config/budget.md · rendered 2026-09-09
Page metadata (front matter)
| type | ledger |
|---|---|
| id | budget |
| status | active |
| created | 2026-07-23 |
| updated | 2026-09-04 |
| links | config/archive/budget-2026-07-23-to-2026-09-04.md, config/models.md, PROJECT.md |
Budget
Cap: USD 5.00 per calendar day (UTC), in OpenRouter billed cost, all sessions that day combined.
Soft cap, self-enforced, no rollover; a ceiling, not a target — but chronic underfunding of
load-bearing lines (above all jury calibration) is itself a defect. A run that does not fit today's
headroom is split, scaled down, or deferred, with the deferral noted in NEXT.md.
Method. Before any API run: check today's rows below, snapshot key usage
(GET https://openrouter.ai/api/v1/key, field data.usage), write the pre-flight estimate from
the max_tokens the request actually permits (note (abc)), reading every dispatched seat's price
from GET /api/v1/models in the same session (note (bsw)). After: record the API-returned actual
("usage": {"include": true} → usage.cost per response, summed across every attempt, note
(brw)). The per-request sum is the ledgered figure; the key-usage delta is an observation only —
the endpoint lags (note (bso)) and the key is also used outside this project.
One-time increases (charter §6): a REQUEST TO TOM block at the top of NEXT.md plus a matching
page in wiki/decisions/open/, stating task, amount, why the cap cannot accommodate it, and the
consequence of declining. Active only when Tom's written approval appears in the repo; record any
grant verbatim here with scope and expiry. Never spend against an unapproved request.
Lead translation is free and is never ledgered (charter §3, A4).
The ledger before 2026-09-04 — every row from S001 to S243, 712 KB — is intact in
config/archive/budget-2026-07-23-to-2026-09-04.md. This file carries the live ledger; cap 40 KB,
enforced by tools/check_state.py. When the cap is hit, move rows older than fourteen days to a
new dated file under config/archive/ and link it here.
Grants
(none)
Key-usage snapshots
| timestamp (UTC) | all-time usage (USD) | context |
|---|---|---|
| 2026-09-04 (S243 start) | 251.723042776 | before any project spend; +0.503849600 above S242's close, recorded as an observation (note (bso)) |
| 2026-09-04 (S243 end) | 251.931674426 | after two critic seats, twelve second-coder batches, four refills; delta 0.208631650 = per-request sum exactly |
| 2026-09-04 (S244) | — | assessment session; no API call made, no snapshot taken |
| 2026-09-05 (S247 start) | 252.440299526 | before this session's pre-run critic dispatch |
| 2026-09-06 (S250, after ratification) | 253.722642726 | usage_daily field reads 0.4811429 against this session's own per-request sum of 0.3506834 — an observation, not a cross-check (note (bso)); the key is shared outside this project |
Ledger
| UTC day | session | run | pre-flight ceiling | actual | day running total |
|---|---|---|---|---|---|
| 2026-09-04 | S243 | E-20260904-french-in-russian: 2 critic seats, blind second coder 16 calls |
$0.50 | $0.208631650 | $0.208631650 |
| 2026-09-04 | S244 | assessment; no spend | — | $0 | $0.208631650 |
| 2026-09-05 | S247 | E-20260905-tierD-design-v3 pre-run critic dispatch: qwen/qwen3.7-max (clean), nvidia/nemotron-3-ultra-550b-a55b ×3 attempts (all failed to return content — note added config/models.md), z-ai/glm-5.2 (failed, same reason). Design itself not dispatched. |
$0.50 | $0.248310425 | $0.248310425 |
UTC day 2026-09-05 actual, per-request sum: qwen $0.092870425 + nemotron attempt 1
$0.047349 + attempt 2 $0 (errored pre-billing) + glm $0.108091 + nemotron attempt 3 $0
(killed at 676s wall-clock with no completion, confirmed against the key-usage delta — a call that
runs past every latency this project has recorded and returns nothing is worth stopping, not
waiting out) = $0.248310425, matching the key-usage delta exactly (252.688610351 −
252.440299526). Well under the $5.00 cap.
UTC day 2026-09-05 running total: $0.248310425 of $5.00; $4.751689575 unspent.
| 2026-09-06 | S250 | D-20260905-01 ratification: independent adversarial review (qwen/qwen3.7-max, clean) + routed non-Anthropic vote (moonshotai/kimi-k3, max_tokens 6000 VOID/length no content, re-dispatched at 14000 clean — note (b)/(bmb) fired again, full account in wiki/decisions/votes/2026-09-06/D-20260905-01-ratification-record.md) | $0.50 | $0.3506834 | $0.3506834 |
UTC day 2026-09-06 running total so far: $0.3506834 of $5.00; $4.6493166 unspent — before the Tier D run itself (§9 worst case $2.804, central estimate ≈ $0.72), which this session prices fresh below.
| 2026-09-07 | S253 | E-20260907-panel-judging-2 (W2 step 4): pre-run critic (P4) + 54 rating calls (2 seat failures on P5, both retried clean) | $2.147 (declared worst case, §8) | $0.629262330 | $0.629262330 |
UTC day 2026-09-07 running total: $0.629262330 of $5.00; $4.370737670 unspent. Key-usage delta 256.812470151 − 256.183207826 = 0.629262325, against the raw-body re-sum of 0.629262330 — agreement to 5 × 10⁻⁹, matching the per-request sum exactly per note (brw). Well under both the daily $5.00 cap and the plan's own $2/session line for this step.
| 2026-09-09 | S256 | W3 step 5: choosing the long prose work — text fetches, a lead-translated probe passage, one local dependence_check.py run, WebSearch calls. No OpenRouter model dispatched | — | $0.00 | $0.00 |
UTC day 2026-09-09 running total: $0.00 of $5.00; $5.00 unspent.