Skip to content

feat(notice): what a point buys — the scoped strand reading - #34

Merged
lroolle merged 1 commit into
mainfrom
feat/scoped-strand
Sep 1, 2026
Merged

feat(notice): what a point buys — the scoped strand reading#34
lroolle merged 1 commit into
mainfrom
feat/scoped-strand

Conversation

@lroolle

@lroolle lroolle commented Sep 1, 2026

Copy link
Copy Markdown
Member

The account 7d pool and the model-scoped weekly pool drain at different speeds toward the same wall. Both counters are cumulative from one reset instant, so their live ratio IS this week's mix rate — no history, no cache field. New + notice (rank 58, scope fb): fb ~22% expires at this mix, long form names what the mix reaches of the model's remaining pool; report gains the mix exchange line.

  • Four shared reading rules (SCOPE_STRAND_MIN_PCT=10, SCOPE_MIX_MIN_7D=60, SCOPE_MIX_MIN_SCOPE=5, SCOPE_SAME_WALL_SEC=120), documented in state-dir.md; ccpace v0.5.0 implements the identical rules.
  • Muted when the scoped walk already projects the model capping first (sc_str) and while a rebase is newsworthy — one fb claim per frame.
  • Validated against corpus mining: live ratio 0.78 vs week-level dF/dS 0.77 on the same window. The pure-scope coupling stays unpublished (n=22, band 0.2–0.5 — fluent-but-wrong risk).
  • No forecast.cache change. 464 bats passing (6 new), shellcheck clean.

🤖 Generated with Claude Code

Two pools drain toward one wall and nothing said which one binds. The live
reading that started this: the account at 81%, the model-scoped weekly at
63%, both resetting at the same instant. Line 1 has printed the two numbers
for months and never their relation, and the relation is the decision —
22 of the model's remaining points are already unreachable at the rate this
week is mixing them.

Both counters are cumulative from one reset instant, so `scope / seven` IS
this week's rate of scoped points per account point. `reachable =
round((100 - seven) * scope / seven)` is what the account's remaining
points can still buy in the scoped pool; `strand = (100 - scope) -
reachable` is the rest. At 81/63: mix 0.78, reachable 15, strand 22,
against 0.77 mined from the corpus at week level. One division, and the
strand is its remainder, because both numbers print beside the total they
have to add to. No forecast.cache field and no schema concern.

New `+` notice at rank 58, scope fb: `fb ~22% expires at this mix`, in full
`7d caps before fb: this mix reaches ~15% of its 37% left · run fb heavier
to extract more`. Above the 5h tail, below the fleet hint, and never above
the 7d pressure that causes it — the pairing is the dry warning pinned on
row 2 with the strand flashing on row 3. It is the mirror of the steering
notice and cannot coexist with it: that one needs the model ahead of the
account, this one needs the account ahead of the model.

Gated, because a ratio is easy to say and easy to get wrong: one wall
(SCOPE_SAME_WALL_SEC = 120 — the pools have always reset together to the
microsecond, but Anthropic could split them and then the ratio would
compare two different weeks), the account at 60% or deeper, the model at 5%
or more, both pools under 100, ten stranded points or more, and the 7d
window past its young guard. Two statusline-only mutes: a projected scoped
cap ("fb caps first" and "fb strands" cannot both be true in one frame) and
a live re-base, which moved one of the two counters for a reason the ratio
cannot see.

`report` gains the same reading in the other currency, one line after the
price/spend block: `fb mix: ~0.78 fb-pt per 7d-pt this week · 7d's 19% left
carries ~15% of fb's 37%`. No session runs there to name a model, so it
takes the binding scoped limit, else the deepest.

SCOPE_STRAND_MIN_PCT, SCOPE_MIX_MIN_7D, SCOPE_MIX_MIN_SCOPE and
SCOPE_SAME_WALL_SEC are documented in docs/api/state-dir.md as READING
RULES computed live rather than cache fields; ccpace v0.5.0 ships the same
four with the same closed forms. The coupling in the other direction — what
a scoped point costs the account — stays unpublished: n=22 in a 0.2-0.5
band is fluent enough to be believed and too noisy to be true.

464 tests (6 new), shellcheck clean.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@lroolle
lroolle merged commit cd94c6c into main Sep 1, 2026
1 check passed
@lroolle
lroolle deleted the feat/scoped-strand branch September 1, 2026 07:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant