CB-WP-0018 T03/T04: explanations, and window 1's verdict
Some checks failed
ci / check (push) Failing after 3s

T03: input::describe writes a sentence per legal command; data-descs
carries them in step with data-targets; the ghost already following the
pointer shows the one for whatever legal target is under it, so the
explanation lands beside the target with no overlay layer to keep
aligned. ADR-0010 D1 binds -- the page renders it, never composes it.

Both mutations INITIALLY SURVIVED because the fixture's Attack card had
exactly one target, where an off-by-one shift and a truncation are both
no-ops. CB-EV-0014's lesson one level in: a fixture too thin to express
a failure is how the failure survives. Two attack targets now, both red.

T04: chaos rate d4 -> d8, window 2 open at 12 declarations, retiring if
an override changes nothing twice running. Window 1's condition was NOT
met -- both overrides changed the outcome -- so the mechanism is kept.
The weakest part of the decision is that it is a rate change argued from
n=2, so window 2 carries a falsifier: no override at all is evidence the
rate went too far, not that the mechanism is healthy.

InnerLoop.md hit 401 lines and the loadability gate fired; the rationale
moved to InnerLoopReference.md, structurally, per the standing precedent
that limits are not raised.

CB-WP-0017 settled at $9.48/40 against $5.19/23 reported mid-flight,
83% higher. Six for six, always low -- read by re-running the instrument
at the moment of quoting, which is CB-EV-0015's correction applied for
the first time.

make all exits 0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-08-03 02:24:13 +02:00
parent 7a78c58404
commit a733826d95
9 changed files with 424 additions and 30 deletions

View file

@ -2,7 +2,7 @@
id: CB-WP-0018
kind: product
title: "The browser is a client: game over, a log, and where a drop goes"
status: todo
status: done
---
# Purpose
@ -235,7 +235,7 @@ the question of whether the move should be offered at all.
```task
id: CB-WP-0018-T03
status: todo
status: done
priority: high
```
@ -257,11 +257,23 @@ description a target shows is the one Rust wrote for *that* pair — a
mutation that shows a neighbouring pair's text must go red. The set
equality property from ADR-0010 D2 must still hold.
**Done 2026-08-03.** `input::describe` writes a sentence per legal
command; `data-descs` carries them in step with `data-targets`; the ghost
already following the pointer shows the one for whatever legal target is
under it, so the explanation appears beside the target without an overlay
layer to keep aligned.
**Both mutations initially SURVIVED**, because the fixture's Attack card
had exactly **one** target — where an off-by-one shift and a truncation
are both no-ops. That is CB-EV-0014's lesson one level in: *a fixture too
thin to express a failure is how the failure survives*. The fixture now
offers two attack targets on purpose and both go red.
## Task: close the chaos change, and the evidence
```task
id: CB-WP-0018-T04
status: todo
status: done
priority: high
```
@ -293,3 +305,21 @@ Then `evidence/CB-EV-0016-*.md`:
memory — CB-EV-0015 §6 found that quoting a remembered figure defeats
the rule even when the boundary is right, and this is the first pass
that can apply that correction.
**Done 2026-08-03.**
[CB-EV-0016](../evidence/CB-EV-0016-the-browser-is-a-client.md). `make
all` exits 0.
- **Chaos rate d4 → d8, window 2 open at 12 declarations**, retiring if an
override changes nothing twice running. Window 1's condition was not
met — both overrides changed the outcome — so the mechanism is kept.
**The weakest part of the decision is that it is a rate change argued
from n=2**, and window 2 therefore carries a falsifier: no override at
all is evidence the rate went too far.
- The rationale moved to `InnerLoopReference.md` because `InnerLoop.md`
hit 401 lines and the loadability gate fired — fixed structurally, per
the standing precedent that limits are not raised.
- **CB-WP-0017 settled at $9.48/40** against $5.19/23 reported mid-flight,
83% higher. Six for six, always low. Read by re-running the instrument
at the moment of quoting, which is CB-EV-0015 §6's correction applied
for the first time.