clay-borg/workplans/CB-WP-0013-instrument-corrections.md

277 lines
12 KiB
Markdown
Raw Normal View History

---
id: CB-WP-0013
kind: meta
title: "Two instruments that were wrong, and the record they wrote"
CB-WP-0013-T04: evidence — and a rule about quoting your own cost CB-EV-0011. Three instruments were wrong; the pass found the third defect itself and committed the fourth. The rule this pass should leave behind: an evidence file quotes the PREVIOUS pass's final cost, not its own. Three for three, all low by a strikingly consistent ~2/3: CB-WP-0009 $6.73 reported -> $11.31 final CB-WP-0011 $4.23 reported -> $7.02 final CB-WP-0012 $8.82 reported -> $14.52 final And this time it changed a conclusion. CB-EV-0010 reported the first priced tier comparison as "0.123 at L against 0.099 at S — 24% more". The final figures are 0.150 against 0.099 — 51% more. Tier L costs twice what that comparison claimed. It still deleted a port that would have been rewritten and found errors of 25x and 85x, so it still looks worth it, but the price doubled and the file that made the argument could not have known. Also closed rather than deferred again: cb-play's "third mode" never arrived. --serve is a play flag selecting which Policy fills a human seat; the binary still has two modes, and CB-EV-0010 §6 was wrong. Carried for two passes, resolved, stopped. Recorded as a near-miss: an instrument reading that looked impossible (53 tool calls in 53 responses) turned out to be correct. One independent re-derivation before writing anything stopped a false accusation — in the pass whose whole subject is instruments reporting things that are not so. gate-review: 0 due, 0 silent, 0 drifted. Every gate in the registry has a caught entry for the first time. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 07:32:07 +02:00
status: done
state_hub_workstream_id: "b5adc29b-1a83-4958-8ca6-7be072dccacf"
---
# Purpose
```
structural tier M (changes how the loop constrains its own operation:
a budget instrument and a gate floor — InnerLoop
v1.6, ADR-0006 D5)
chaos d4 = 3 → no override
declared tier M
```
Declaration 8 of 12 in the calibration window. Tier M means the survey and
the ADR merge into one document and the adversarial review is optional.
**Meta budget: 0% of the trailing three**, so this pass is in budget
without the ADR-0006 D2 repair exemption — though it would qualify for it,
since both halves repair an instrument that reports a breach.
## Why now
CB-WP-0012 ended owing two corrections, and one of them turns out to be
larger than it was filed as.
### SH-3 has never read what six evidence files say it read
CB-EV-0010 §5 states *"SH-3 has now read 0.0% for six consecutive passes"*
and calls it the oldest unargued number in the project. The number is an
artifact.
`--shape-budget` measures **the window since the last commit**, and it is
read while writing the evidence file — immediately *after* a commit, when
that window holds one or two responses. SH-1 and SH-2 are location
statistics and survive a sample of two. **SH-3 is a rate**, and at n=2 its
only possible values are 0%, 50% and 100%. One window, three metrics, and
it is only wrong for one of them.
Measured over real per-pass windows instead:
| window since | responses | SH-3 |
|---|---:|---:|
| `0d2ab22` | 115 | 6.2% |
| `6fb0aea` | 113 | 6.3% |
| `331e7e9` | 95 | 1.1% |
| `c5fa610` | 74 | 1.4% |
| `883b608` | 70 | 1.4% |
| `84d6886` | 24 | 4.3% |
So the substantive claim survives — SH-3 is badly unmet — but **the figure
quoted in six evidence files was never the measurement**. Worse, the real
numbers say something the artifact hid: the historical rate pinned in
`specs/SessionShape.md` is **7.88.6%**, and these windows are **1.16.3%**.
Batching has got *worse*, and a metric stuck at a constant 0.0% could not
show a trend at all.
### AM-4a overstates every figure it has ever reported by 36%
ADR-0007 Decision 4, filed and unimplemented. AM-4a counts
`--edges normal`, which includes proc-macro crates that run in the compiler
and never reach a binary: **89,048 lines, 36.2%** of the shipped-runtime
figure, `syn` alone 66,916.
## Task: fix SH-3's instrument, and correct the record
```task
id: CB-WP-0013-T01
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>
2026-08-02 07:23:04 +02:00
status: done
priority: high
state_hub_task_id: "0e2b9dc1-d3e7-4833-b03c-24ff987e5b95"
```
A rate needs a sample. `--shape-budget` must **refuse to report SH-3**
below a stated minimum rather than print a number the window cannot
support — `insufficient sample (n responses)`, not `0.0%`.
**The choice to argue, not assume:** whether SH-3 should instead be
windowed differently from SH-1/SH-2 — over the pass rather than since the
last commit — since it is the only one of the three that a two-response
window destroys. Pick one and say why the other was rejected.
**Controls.** A minimum-sample rule is exactly the kind of guard that can
be satisfied vacuously: assert that a window *above* the floor still
reports a rate, that one below reports the refusal, and that the refusal
is distinguishable from a genuine 0.0%. Mutate each.
**Correct the record.** Six evidence files quote 0.0%. They are history and
are not rewritten; the correction is recorded once, where a reader will
find it, and named as what it is — the same class as CB-WP-0002's
"0 of 330 tool calls were batched", which `specs/SessionShape.md` §4
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.
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>
2026-08-02 07:23:04 +02:00
**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
id: CB-WP-0013-T02
CB-WP-0013-T02/T03: retire SH-3 as a gate; correct AM-4a and its target ADR-0008, tier M (survey and ADR merged). D1 — SH-3 retired as a gate, kept as a diagnostic. Investigating it found a third defect, deeper than the two this pass was declared on. Re-deriving batching from the raw transcripts, independently of cb-cost: CB-WP-0011 pass 54 with tools 0 batched 0.0% gap -> next decl 16 with tools 6 batched 37.5% CB-WP-0012 pass 86 with tools 0 batched 0.0% gap -> next decl 10 with tools 1 batched 10.0% CB-WP-0013 so far 10 with tools 0 batched 0.0% Zero batched turns in 150 in-pass responses; 37.5% in one gap, above the 20% floor. Batching needs two calls whose inputs are known at once — orientation work. Implementation consumes each step's result before the next. SH-3's window is since the last commit, which during a pass is always implementation. The metric could not read above ~0% in the window it was gated on. A floor the window structurally excludes is not a target. This pass's own declaration was also wrong: it claimed batching "has got worse" (7.8-8.6% vs 1.1-6.3%). Differently-placed windows, not different behaviour. Withdrawn — the same class of error, in the pass written to correct it. Not retargeting to match the measurement: the floor was not moved to 6%, the gate was removed on an argument about what the quantity is worth. The number is still reported; only the verdict is gone. D2/D3 — AM-4a counts --edges normal,no-proc-macro: 157,202, not 246,250. The target moves down with it, 250,000 -> 161,000, so the correction hands back essentially nothing (headroom 3,750 -> 3,798). Three controls: the exclusion drops exactly the five expected crates, only removes and never adds, and is not a no-op. The DFD gate then caught the follow-on it exists for — three historical documents carrying live fact tags for a number that had changed. Not rewritten; untagged, with a supersession banner. AM-4b is deliberately not corrected: its proc-macro share is unmeasured. gate-review now reads 0 due, 0 silent, 0 drifted — GATE-REVIEW earns its first caught entry by forcing SH-3's re-justification, and the registry has no silent gates left. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 07:30:14 +02:00
status: done
priority: high
state_hub_task_id: "c926c370-26fd-4450-aeee-bc2dff69cdbc"
```
The declaration CB-EV-0010 said was owed. `specs/SessionShape.md` is
explicit that the 20% floor was set above the measured rate deliberately
and that *"whether 20% is reachable or arbitrary is unknown until a pass
tries"*. Seven passes have now reported it and none has tried.
Decide, with the real numbers rather than the artifact:
- is 20% reachable, and at what cost to how the work is actually done;
- is the measured decline from 7.88.6% to 1.16.3% a behavioural change
worth reversing, or an artifact of tier-L passes doing more sequential
reading than tier-S ones;
- **and the honest option: retire SH-3.** `specs/SessionShape.md` §4 puts
the ceiling at **$24 on a $93 pass** and says *"batch because it is
free, not because it is the lever."* A floor that is 320× the measured
rate, cannot be moved by the party measured, and is worth single-digit
dollars is a candidate for `retire_if`, not a standing breach.
**Do not retarget to match the measurement.** `specs/SessionShape.md`
already forbids exactly that, and CB-WP-0003 T07 exists to prevent it. If
the floor moves, it moves on an argument about what batching is worth, and
the argument is written down before the number changes.
CB-WP-0013-T02/T03: retire SH-3 as a gate; correct AM-4a and its target ADR-0008, tier M (survey and ADR merged). D1 — SH-3 retired as a gate, kept as a diagnostic. Investigating it found a third defect, deeper than the two this pass was declared on. Re-deriving batching from the raw transcripts, independently of cb-cost: CB-WP-0011 pass 54 with tools 0 batched 0.0% gap -> next decl 16 with tools 6 batched 37.5% CB-WP-0012 pass 86 with tools 0 batched 0.0% gap -> next decl 10 with tools 1 batched 10.0% CB-WP-0013 so far 10 with tools 0 batched 0.0% Zero batched turns in 150 in-pass responses; 37.5% in one gap, above the 20% floor. Batching needs two calls whose inputs are known at once — orientation work. Implementation consumes each step's result before the next. SH-3's window is since the last commit, which during a pass is always implementation. The metric could not read above ~0% in the window it was gated on. A floor the window structurally excludes is not a target. This pass's own declaration was also wrong: it claimed batching "has got worse" (7.8-8.6% vs 1.1-6.3%). Differently-placed windows, not different behaviour. Withdrawn — the same class of error, in the pass written to correct it. Not retargeting to match the measurement: the floor was not moved to 6%, the gate was removed on an argument about what the quantity is worth. The number is still reported; only the verdict is gone. D2/D3 — AM-4a counts --edges normal,no-proc-macro: 157,202, not 246,250. The target moves down with it, 250,000 -> 161,000, so the correction hands back essentially nothing (headroom 3,750 -> 3,798). Three controls: the exclusion drops exactly the five expected crates, only removes and never adds, and is not a no-op. The DFD gate then caught the follow-on it exists for — three historical documents carrying live fact tags for a number that had changed. Not rewritten; untagged, with a supersession banner. AM-4b is deliberately not corrected: its proc-macro share is unmeasured. gate-review now reads 0 due, 0 silent, 0 drifted — GATE-REVIEW earns its first caught entry by forcing SH-3's re-justification, and the registry has no silent gates left. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 07:30:14 +02:00
**Done 2026-08-02.** [ADR-0008](../decisions/ADR-0008-instrument-corrections.md)
D1 — **SH-3 is retired as a gate and kept as a diagnostic.**
Investigating it turned up a third defect, deeper than the two this
workplan was declared on. Measured by re-deriving batching from the raw
transcripts, independently of `cb-cost`:
| window | with tools | batched | rate |
|---|---:|---:|---:|
| CB-WP-0011 pass | 54 | 0 | **0.0%** |
| gap → next declaration | 16 | 6 | **37.5%** |
| CB-WP-0012 pass | 86 | 0 | **0.0%** |
| gap → next declaration | 10 | 1 | **10.0%** |
| CB-WP-0013 so far | 10 | 0 | **0.0%** |
**Zero batched turns in 150 in-pass responses; 37.5% in one gap.**
Batching needs two calls whose inputs are known at once — orientation
work. Implementation consumes each step's result before the next. And
SH-3's window is *since the last commit*, which during a pass is always
implementation. **The metric could not read above ~0% in the window it was
gated on.**
**And this workplan's own Purpose was wrong.** It stated batching *"has
got worse"* (7.88.6% historical against 1.16.3% per-pass). Those come
from differently-placed windows, not different behaviour. Withdrawn — the
same class of error, in the pass written to correct it.
The retirement is *not* retargeting to match the measurement: the floor
was not moved to 6%, the gate was removed on an argument about what the
quantity is worth, established before the disposition. The number is still
reported; only the verdict is gone.
## Task: correct AM-4a to count what ships
```task
id: CB-WP-0013-T03
CB-WP-0013-T02/T03: retire SH-3 as a gate; correct AM-4a and its target ADR-0008, tier M (survey and ADR merged). D1 — SH-3 retired as a gate, kept as a diagnostic. Investigating it found a third defect, deeper than the two this pass was declared on. Re-deriving batching from the raw transcripts, independently of cb-cost: CB-WP-0011 pass 54 with tools 0 batched 0.0% gap -> next decl 16 with tools 6 batched 37.5% CB-WP-0012 pass 86 with tools 0 batched 0.0% gap -> next decl 10 with tools 1 batched 10.0% CB-WP-0013 so far 10 with tools 0 batched 0.0% Zero batched turns in 150 in-pass responses; 37.5% in one gap, above the 20% floor. Batching needs two calls whose inputs are known at once — orientation work. Implementation consumes each step's result before the next. SH-3's window is since the last commit, which during a pass is always implementation. The metric could not read above ~0% in the window it was gated on. A floor the window structurally excludes is not a target. This pass's own declaration was also wrong: it claimed batching "has got worse" (7.8-8.6% vs 1.1-6.3%). Differently-placed windows, not different behaviour. Withdrawn — the same class of error, in the pass written to correct it. Not retargeting to match the measurement: the floor was not moved to 6%, the gate was removed on an argument about what the quantity is worth. The number is still reported; only the verdict is gone. D2/D3 — AM-4a counts --edges normal,no-proc-macro: 157,202, not 246,250. The target moves down with it, 250,000 -> 161,000, so the correction hands back essentially nothing (headroom 3,750 -> 3,798). Three controls: the exclusion drops exactly the five expected crates, only removes and never adds, and is not a no-op. The DFD gate then caught the follow-on it exists for — three historical documents carrying live fact tags for a number that had changed. Not rewritten; untagged, with a supersession banner. AM-4b is deliberately not corrected: its proc-macro share is unmeasured. gate-review now reads 0 due, 0 silent, 0 drifted — GATE-REVIEW earns its first caught entry by forcing SH-3's re-justification, and the registry has no silent gates left. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 07:30:14 +02:00
status: done
priority: high
state_hub_task_id: "51265ba6-2517-49d0-b842-d9a73016124d"
```
ADR-0007 Decision 4. `tools/dep-weight.py` counts
`--edges normal,no-proc-macro`.
**The targets do not move with the instrument.** Correcting a metric that
reports 246,250 down to 157,202 while leaving the target at 250,000 hands
this project 89,048 lines of headroom it did not earn, in the same commit
that reveals the error. Either the target moves down by the same amount
the instrument does, or the pass states plainly why the extra headroom is
legitimate. It is not obviously legitimate; argue it or give it back.
**Positive control.** `dep-weight.py` already has the guard that an
unlocatable crate must not silently count as zero. The new flag must not
be able to drop crates it should have counted: assert that the proc-macro
set is exactly the five expected crates and that removing the flag
restores the old figure.
CB-WP-0013-T02/T03: retire SH-3 as a gate; correct AM-4a and its target ADR-0008, tier M (survey and ADR merged). D1 — SH-3 retired as a gate, kept as a diagnostic. Investigating it found a third defect, deeper than the two this pass was declared on. Re-deriving batching from the raw transcripts, independently of cb-cost: CB-WP-0011 pass 54 with tools 0 batched 0.0% gap -> next decl 16 with tools 6 batched 37.5% CB-WP-0012 pass 86 with tools 0 batched 0.0% gap -> next decl 10 with tools 1 batched 10.0% CB-WP-0013 so far 10 with tools 0 batched 0.0% Zero batched turns in 150 in-pass responses; 37.5% in one gap, above the 20% floor. Batching needs two calls whose inputs are known at once — orientation work. Implementation consumes each step's result before the next. SH-3's window is since the last commit, which during a pass is always implementation. The metric could not read above ~0% in the window it was gated on. A floor the window structurally excludes is not a target. This pass's own declaration was also wrong: it claimed batching "has got worse" (7.8-8.6% vs 1.1-6.3%). Differently-placed windows, not different behaviour. Withdrawn — the same class of error, in the pass written to correct it. Not retargeting to match the measurement: the floor was not moved to 6%, the gate was removed on an argument about what the quantity is worth. The number is still reported; only the verdict is gone. D2/D3 — AM-4a counts --edges normal,no-proc-macro: 157,202, not 246,250. The target moves down with it, 250,000 -> 161,000, so the correction hands back essentially nothing (headroom 3,750 -> 3,798). Three controls: the exclusion drops exactly the five expected crates, only removes and never adds, and is not a no-op. The DFD gate then caught the follow-on it exists for — three historical documents carrying live fact tags for a number that had changed. Not rewritten; untagged, with a supersession banner. AM-4b is deliberately not corrected: its proc-macro share is unmeasured. gate-review now reads 0 due, 0 silent, 0 drifted — GATE-REVIEW earns its first caught entry by forcing SH-3's re-justification, and the registry has no silent gates left. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 07:30:14 +02:00
**Done 2026-08-02.** ADR-0008 D2/D3.
```
shipped-runtime 18 crates 157,202 lines [ok target 161,000]
```
**The target moved down with the instrument**, 250,000 → 161,000, so the
correction hands back essentially nothing: headroom goes from 3,750 to
3,798. 161,000 keeps ~2.4% of room where 250,000 kept ~1.5%; that small
rounding up is the only thing given back, because a target with 1.5% of
room fails on a dependency's patch release.
Three controls, all green: the exclusion drops **exactly** the five
expected crates, only ever removes and never adds, and is not a no-op.
**The DFD gate then caught the follow-on**, which is what it is for: three
historical documents carried live `fact:am4a_loc` tags for a number that
had changed. They are history and were not rewritten — the tags were
removed and both documents carry a supersession banner instead.
**AM-4b is deliberately not corrected.** Its proc-macro share is
unmeasured, and correcting a second instrument on the strength of the
first one's ratio is the error this task exists to fix. Filed as owed.
## Task: evidence
```task
id: CB-WP-0013-T04
CB-WP-0013-T04: evidence — and a rule about quoting your own cost CB-EV-0011. Three instruments were wrong; the pass found the third defect itself and committed the fourth. The rule this pass should leave behind: an evidence file quotes the PREVIOUS pass's final cost, not its own. Three for three, all low by a strikingly consistent ~2/3: CB-WP-0009 $6.73 reported -> $11.31 final CB-WP-0011 $4.23 reported -> $7.02 final CB-WP-0012 $8.82 reported -> $14.52 final And this time it changed a conclusion. CB-EV-0010 reported the first priced tier comparison as "0.123 at L against 0.099 at S — 24% more". The final figures are 0.150 against 0.099 — 51% more. Tier L costs twice what that comparison claimed. It still deleted a port that would have been rewritten and found errors of 25x and 85x, so it still looks worth it, but the price doubled and the file that made the argument could not have known. Also closed rather than deferred again: cb-play's "third mode" never arrived. --serve is a play flag selecting which Policy fills a human seat; the binary still has two modes, and CB-EV-0010 §6 was wrong. Carried for two passes, resolved, stopped. Recorded as a near-miss: an instrument reading that looked impossible (53 tool calls in 53 responses) turned out to be correct. One independent re-derivation before writing anything stopped a false accusation — in the pass whose whole subject is instruments reporting things that are not so. gate-review: 0 due, 0 silent, 0 drifted. Every gate in the registry has a caught entry for the first time. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 07:32:07 +02:00
status: done
priority: medium
state_hub_task_id: "e9b20874-692a-48df-b3ee-c2929d7fe5a8"
```
`evidence/CB-EV-0011-instrument-corrections.md`.
Carry: whether tier M's merged survey-and-ADR was the right weight for two
instrument corrections; the cost of a meta pass immediately after two
product passes; and the standing question of whether **three** consecutive
evidence files reporting their own pass's cost low means the loop should
simply stop quoting it.
Also carry the one that is now overdue: **`cb-play` is three modes in one
binary.** CB-EV-0009 §5 named the third mode as the trigger to reconsider
the shape, CB-EV-0010 §6 recorded that it had arrived and that the pass
did not act. Either do it or state why not, and stop carrying it.
CB-WP-0013-T04: evidence — and a rule about quoting your own cost CB-EV-0011. Three instruments were wrong; the pass found the third defect itself and committed the fourth. The rule this pass should leave behind: an evidence file quotes the PREVIOUS pass's final cost, not its own. Three for three, all low by a strikingly consistent ~2/3: CB-WP-0009 $6.73 reported -> $11.31 final CB-WP-0011 $4.23 reported -> $7.02 final CB-WP-0012 $8.82 reported -> $14.52 final And this time it changed a conclusion. CB-EV-0010 reported the first priced tier comparison as "0.123 at L against 0.099 at S — 24% more". The final figures are 0.150 against 0.099 — 51% more. Tier L costs twice what that comparison claimed. It still deleted a port that would have been rewritten and found errors of 25x and 85x, so it still looks worth it, but the price doubled and the file that made the argument could not have known. Also closed rather than deferred again: cb-play's "third mode" never arrived. --serve is a play flag selecting which Policy fills a human seat; the binary still has two modes, and CB-EV-0010 §6 was wrong. Carried for two passes, resolved, stopped. Recorded as a near-miss: an instrument reading that looked impossible (53 tool calls in 53 responses) turned out to be correct. One independent re-derivation before writing anything stopped a false accusation — in the pass whose whole subject is instruments reporting things that are not so. gate-review: 0 due, 0 silent, 0 drifted. Every gate in the registry has a caught entry for the first time. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-02 07:32:07 +02:00
**Done 2026-08-02.**
[CB-EV-0011](../evidence/CB-EV-0011-instrument-corrections.md).
- **The self-quoting rule is proposed.** Three passes have now reported
their own cost mid-flight and all three were low by ~2/3 — and this
time it changed a conclusion: CB-EV-0010's tier comparison said L cost
*24% more* than S; the final figures say **51%**.
- **`cb-play`'s third mode never arrived.** `--serve` is a *play flag*
selecting which `Policy` fills a human seat. The binary still has two
modes. CB-EV-0010 §6 was wrong; the item is **closed, not deferred**.
- **A near-miss recorded**: an instrument reading that looked impossible
turned out to be correct, and one independent re-derivation before
writing anything stopped a false accusation.
- **Tier M was the right weight** — one merged document, no separate
review, and the pass still found a defect deeper than the one it was
declared on, because the finding came from measuring rather than from
an extra review round.