CB-WP-0013-T01: SH-3 refuses a window that cannot carry a rate
The metric six evidence files reported as 0.0% was never measured. --shape-budget windows since the last commit, and it is read while writing the evidence file — right after a commit, when the window holds one or two responses. SH-1/SH-2 are location statistics and survive n=2. SH-3 is a rate: at n=2 its only possible values are 0%, 50%, 100%. cb-cost.py gains sh3_line(), which below a minimum sample prints "insufficient sample" and no verdict. The floor is derived: if the true rate were exactly the 20% target, P(zero batched in n) = 0.8^n, and at n=14 that is 4.4% — so "0 batched in 14" rules out a target-meeting rate at ~95%. Below that the tool has nothing to say and now says so. The window was kept rather than split. SH-3 could have been given a per-pass window, but the budget's purpose is the open remainder since the last commit, and giving one of three metrics a different window makes "the window" ambiguous in a tool three specs cite. Four controls, three mutations, each red for its stated reason — including the one the evidence files actually hit, where a refusal is printed as a measured zero. SessionShape.md §4 carries the correction with the real per-pass figures (1.1%-6.3%), beside the eighth trusted-arithmetic instance. This is the ninth, and the second in this same metric. It also shows what the frozen 0.0% hid: against the pinned 7.8%-8.6%, batching has got worse, and six passes reported a breach that was moving underneath them. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
7105027173
commit
6080c4cf60
3 changed files with 129 additions and 6 deletions
|
|
@ -69,7 +69,7 @@ figure, `syn` alone 66,916.
|
|||
|
||||
```task
|
||||
id: CB-WP-0013-T01
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
```
|
||||
|
||||
|
|
@ -95,6 +95,32 @@ already records as the eighth trusted-arithmetic instance. **This is the
|
|||
ninth, and it is in the same metric.** That coincidence is worth a
|
||||
sentence: SH-3 is the number this project keeps getting wrong.
|
||||
|
||||
**Done 2026-08-02.** `cb-cost.py` gains `sh3_line()`: below a minimum
|
||||
sample it prints `insufficient sample` and **no verdict**.
|
||||
|
||||
**The window was kept, not split.** SH-3 could instead have been given a
|
||||
per-pass window while SH-1/SH-2 kept the since-last-commit one. Rejected:
|
||||
the budget's stated purpose is the *open remainder* since the last commit
|
||||
— the only thing a live budget can fire on — and giving one of three
|
||||
metrics a different window makes "the window" ambiguous in a tool that
|
||||
three specs cite. Refusing to report is honest and keeps one window.
|
||||
|
||||
**The floor is derived, not round.** If the true rate were exactly the 20%
|
||||
target, the chance of observing zero batched turns in `n` responses is
|
||||
`0.8^n`. At **n = 14** that is 4.4%, so "0 batched in 14" rules out a
|
||||
target-meeting rate at ~95%. Below 14 the tool has nothing to say.
|
||||
|
||||
Four controls, three mutations, each red for its stated reason:
|
||||
|
||||
| mutation | result |
|
||||
|---|---|
|
||||
| the guard never refuses | `SH-3 refuses a window too small` red, *and* `a refusal is distinguishable from a genuine 0.0%` red |
|
||||
| the guard always refuses | reporting at exactly the minimum, and a real 40% rate, both red |
|
||||
| the refusal prints as `0.0%` | `refuses a window too small` red — the case the six evidence files actually hit |
|
||||
|
||||
The correction is recorded in `specs/SessionShape.md` §4, beside the
|
||||
eighth instance, with the real per-pass figures.
|
||||
|
||||
## Task: argue SH-3's floor, or move it
|
||||
|
||||
```task
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue