fix(report): say what the composition bands hold, and pin their weights #7

Merged
john merged 3 commits from fix/composition-label-wording into main 2026-08-01 13:05:19 +00:00
Owner

The ×1.25 composition band is computed as cc - cc1h, which is every write NOT reported as 1h rather than every write known to be 5m. Transcripts predating the cache_creation breakdown report cc1h = 0, so their 1h writes sat inside a band labeled 5m. The card's note also never named its unit while the daily chart beside it did.

The card recomputes billed-equiv in JavaScript, so the weights are a two-copy fact: be_of() and the viewer. Nothing in the suite read the viewer's copy, which is the seam the 1h weight already broke on, so it is now pinned to be_of by a test that fails when the two disagree.

Also: the ask output nests cache_write_1h inside cache_write, and now says so where a reader looks.

Ships as 1.0.2.

The ×1.25 composition band is computed as `cc - cc1h`, which is every write NOT reported as 1h rather than every write known to be 5m. Transcripts predating the `cache_creation` breakdown report `cc1h = 0`, so their 1h writes sat inside a band labeled 5m. The card's note also never named its unit while the daily chart beside it did. The card recomputes billed-equiv in JavaScript, so the weights are a two-copy fact: `be_of()` and the viewer. Nothing in the suite read the viewer's copy, which is the seam the 1h weight already broke on, so it is now pinned to `be_of` by a test that fails when the two disagree. Also: the `ask` output nests `cache_write_1h` inside `cache_write`, and now says so where a reader looks. Ships as 1.0.2.
The composition band is computed as cc - cc1h, which is every write NOT
reported as 1h, not every write known to be 5m. Transcripts predating the
cache_creation breakdown report cc1h = 0, so their 1h writes sit inside a
band labeled "5m" -- the label claims a TTL the data never carried.

The card's note also never named its unit, while the daily chart beside it
does. Both charts plot billed-equivalent tokens; only one said so.
The card recomputes billed-equiv in JavaScript, which makes the weights a
two-copy fact: be_of() and the viewer. Every existing assertion reads the
Python copy, so the viewer's could go back to pricing a 1h write at 1.25x
and the suite would stay green -- which is how that seam broke before.

The ask output has the same shape of trap: cache_write is the whole
cache_creation total and cache_write_1h is the half already inside it, so
a reader who adds them double-counts. Said so where the reader looks.
The plugin cache is version-keyed, so a release that leaves this string
alone reaches nobody. Nothing here changes a number: the composition
card's two labels now say what the bands hold, and the viewer's copy of
the billed-equiv weights is pinned to be_of by a test.
john merged commit 045420fcd5 into main 2026-08-01 13:05:19 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: crenshawdev/burnrate#7
No description provided.