feat(consume): measure the budget lock, add one flag-gated top-rank reservation
The prior measurement (docs/2026-09-08-blindsone-below-k-k2.md SS 3) found that
the budget, not the ranking, is the second lock on a mandate-shaped cost
question -- and that the same mechanism was a REGRESSION on the question that
works: raising `--k` to 16 evicted the gold concept, because the exact knapsack
maximises a SUM of fused scores and has no opinion about rank, so twenty small
excerpts out-value one that costs 56.5 % of the budget.
Measured here on the same 629-concept bundle, with the three known-positive
figures from `4c699fd` reproduced first:
- Corpus distribution, denominator 629: median excerpt 857 B, max 223 391 B,
3 concepts over the limit alone.
- Candidate rule (b), a corpus-derived budget, is FALSIFIED by two numbers: two
defensible derivations are 49x apart on the same corpus, the small one turns
the gold concept into `over_budget_alone` (13 refusals against 2), the large
one changes nothing at the default k. A budget is the consumer's constraint,
not a property of the corpus; `--limit` already belongs to the caller.
- Built instead, behind `--reserve-top-rank` (default OFF): the top-ranked
candidate gets its bytes before the pack runs, AFTER the `over_budget_alone`
pre-exclusion and never before, and the payload declares `budget.reserved`.
- It fixes the eviction: k=16 and k=24 deliver the gold concept at rank 1,
costing one and two excerpts, and 20.4 % / 27.3 % FEWER o200k tokens.
- It changes the delivered list in 2 of 24 measured combinations -- both of them
that eviction. In the other 22 the list, its order and `spent` are identical.
- It does NOT close the mandate-shaped blind spot: that concept ranks 10, not 1.
The one delivering command is `--cost-vocabulary --k 12 --limit 160000`
(62 149 tokens against 58 401), and that is a consumer's decision.
11 new tests (RED first), 7 mutations 7 red with an unmutated negative control
green before and after; two of the seven survived the first test set and the
tests were strengthened. Default payload byte-identical, both goldens unchanged.
Report: docs/2026-09-08-blindsone-laas2-budsjett-k2.md
Suite 1279 green, mypy --strict clean over 28 files, ruff clean.
Co-Authored-By: Claude <claude-opus-5>
This commit is contained in:
parent
4c699fdbb1
commit
6776c37d23
5 changed files with 746 additions and 17 deletions
14
README.md
14
README.md
|
|
@ -117,7 +117,8 @@ cuts them to a bounded set and emits one payload. It decides nothing about the
|
|||
question; the skill that reads the payload does the judgement. It calls no
|
||||
model, opens no socket, imports nothing outside the standard library and this
|
||||
package, and takes no clock: the same bundle bytes and the same
|
||||
`(question, k, limit, cost_vocabulary)` produce byte-identical output.
|
||||
`(question, k, limit, cost_vocabulary, reserve_top_rank)` produce
|
||||
byte-identical output.
|
||||
|
||||
`--cost-vocabulary` is off by default and widens one question class: it lets a
|
||||
declared list of cost/price/quantity terms bridge a question and a document that
|
||||
|
|
@ -125,6 +126,17 @@ name money with different words. The gate is the question — one naming no such
|
|||
term gets byte-identical bytes either way — and what it does and does not close
|
||||
is measured in `docs/2026-09-08-blindsone-below-k-k2.md`.
|
||||
|
||||
`--reserve-top-rank` is off by default and answers a different objection: the
|
||||
budget is packed by an exact knapsack, which maximises a SUM of scores and
|
||||
therefore has no opinion about rank, so a top-ranked excerpt costing a large
|
||||
share of the budget is out-summed by many small ones. Measured, that made `--k`
|
||||
a dial that could EVICT the concept a question was asked about. The flag gives
|
||||
rank one its bytes before the pack runs — after the `over_budget_alone`
|
||||
pre-exclusion, never before — and the payload then declares
|
||||
`budget.reserved`. On a 629-concept corpus it changed the delivered set in 2 of
|
||||
24 measured combinations, both of them that eviction:
|
||||
`docs/2026-09-08-blindsone-laas2-budsjett-k2.md`.
|
||||
|
||||
It emits the § 8 shape — `contract`, `bundle` (`bundle_id` plus a
|
||||
`sha256-tree:` content identity), `budget` (unit, instrument, limit, spent and a
|
||||
validated known-positive), `denominators`, `excerpts` and `withheld` — and every
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue