diff --git a/docs/REVIEW_LOG.md b/docs/REVIEW_LOG.md index e676268..2c9f736 100644 --- a/docs/REVIEW_LOG.md +++ b/docs/REVIEW_LOG.md @@ -7303,3 +7303,63 @@ Both halves mutation-checked: disabling the table-header class fails *"a bold fi measurement header is fatal"* and nothing else; accepting an empty waiver fails *"an EMPTY waiver is fatal"* and nothing else. End to end, restoring the **24** stops the build with both values named. Twenty-two guards green. + +--- + +## R-301 — the narrow repair to R-299, and what R-300 got right + +**R-300 was correct and it was correct with a run rather than an argument.** `check-figures` +reported OK on a bare `**24**` in a table whose own header row reads *Median rounds*, against +a baseline holding 25. The scan read one line at a time, so measurement status living two +lines above was invisible. + +**The repair is one idea: a cell inherits the measurement status of its column.** That is +deliberately a *different mechanism* from the shapes rather than more of them — the shapes +guess at phrasing, and a column header does not have to be guessed at, because **the document +itself says what the column is.** Where the vocabulary has to anticipate how somebody will +write a figure, the header only has to be read. + +**R-300's general point stands and is now written where the shapes are defined.** A vocabulary +learned from the marked figures cannot contain the phrasing of the figure nobody marked; the +defect sits outside the training set by construction. `check-unmarked` attacks that from the +other end, using **bold as the corpus's own mark of a published figure** — a signal that comes +from the documents' habits rather than from a guard author's imagination, which is why it +catches what a shape list cannot. + +### Two bugs in the repair, both found before it shipped + +1. ⚠ **A citation marker is full of digits and none of them are figures.** `packs + line.hollow6.hurt` holds a 6; `fight-tail cut.over15` holds a 15. Scanning raw cell text + reported **roughly 130 correctly-cited rows as unheld** — the best-marked tables in the + corpus, every one of them fine. Comments are now blanked rather than stripped so every + offset still points at the right character of the real line. +2. **"3.48 of 6"** — the 6 is the party size the mean is out of, not a measurement. + +**The first is worth keeping in view.** A guard that reports the correctly-marked material as +broken is worse than one that misses a defect: the first run produces 130 lines of noise, and +what a reader learns is to stop reading the output. The blind spot R-300 found cost one wrong +number; a false-positive storm costs the guard. + +**Coverage: 25 figures, 7 marked → 120 figures, 102 marked.** + +### Proved by breaking it + +| Break | Result | +|---|---| +| The historical bare `**24**` in the median-rounds table | fails, at its own line | +| Strip a marker off a cited prose figure | fails | +| Plant *"a median 24 rounds"* in prose | fails | +| Bare figure into a document that cites nothing | trips the ratchet | +| Threshold column header, *"Past 15 rounds"* | silent | +| All 102 correctly-cited cells | silent | + +Every restore byte-identical. + +**Two guards now cover one job**, and that is a decision rather than an accident: `check-figures` +reads shapes and column headers, `check-unmarked` reads boldness and waivers. They agree on the +tables and disagree usefully in prose, where one is fatal and the other counts. **Whether they +should be merged is a question for whoever next has cause to touch either** — the answer is not +obvious, and two readers that disagree are how three of this session's defects were found. + +**State:** CLEAN GROUND v0.24, **22 guards**, 168 cited figures, artwork prompts written and +nothing generated. Still the only untested thing is a run with human beings.