From 5e3635ffedd98557097a5a010d036aec66a0e72b Mon Sep 17 00:00:00 2001 From: slaguru666 <111923774+slaguru666@users.noreply.github.com> Date: Sun, 13 Sep 2026 20:11:11 +0100 Subject: [PATCH] =?UTF-8?q?docs:=20R-303=20=E2=80=94=20the=20two=20guards?= =?UTF-8?q?=20are=20disjoint=20in=20both=20directions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit R-302 showed check-unmarked catching what check-figures misses. I had taken that, plus a preference for structure over vocabulary, as grounds for folding check-figures in as a secondary pass. The converse test contradicts it: five unbolded cells in a measurement column, markers stripped, fail check-figures and pass check-unmarked, whose strict class requires bold by design. So the relationship is symmetric. The shapes are the weak half and should fold in behind the structural classes; the column-header rule is not a shape and belongs beside bold-as-published, not under it. Also records what a merged guard must face rather than inherit: this corpus bolds inconsistently inside tables, which is invisible to a reader and load-bearing for a class keyed on boldness. Both runs in throwaway worktrees, never the shared tree. No merge performed; the decision sits with the humans. Co-Authored-By: Claude Opus 5 --- docs/REVIEW_LOG.md | 54 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/docs/REVIEW_LOG.md b/docs/REVIEW_LOG.md index e42e0e6..610e0c7 100644 --- a/docs/REVIEW_LOG.md +++ b/docs/REVIEW_LOG.md @@ -7399,3 +7399,57 @@ had the file on disk. finding before accepting it, repaired it in `e9f7d45`, then checked my account of their own commit and found it wrong. R-300's technical claim stood; its account of how the breakage happened did not, and I had asserted a mechanism I never looked at. + +--- + +## R-303 — the two guards are disjoint in both directions + +**Evidence for a decision neither session should make alone**, and it corrects a +recommendation I made on one-way data. R-302 showed `check-unmarked` catching what +`check-figures` misses; I had concluded from that, plus a general preference for structure +over vocabulary, that mine should fold in as a **secondary pass**. **The converse test says +otherwise.** Both runs in throwaway worktrees off `e2a474b`, never in the shared tree. + +**Their direction** — strip the markers from two bold prose figures, `**1.29**` and +`**48.7%**`, neither in a table: + +``` +check-figures: OK exit 0 +check-unmarked: FAILED — 2 published figures carry no marker exit 1 +``` + +**The converse** — strip the markers from five *unbolded* cells in one row of the +mixed-force table, every one of them in a measurement column: + +``` +| Six hollow men, column stands off | 3.48 of 6 | 0.42 | 0% | 0.04 | 13 | + +check-figures: FAILED — 5 figures carry no citation marker exit 1 +check-unmarked: OK exit 0 +``` + +| Defect | `check-figures` | `check-unmarked` | +|---|---|---| +| Bold figure in prose, marker stripped | misses | **catches** | +| Unbolded cells in a measurement column | **catches** | misses | + +**So the relationship is symmetric, not hierarchical.** Bold-as-published owns prose and +cannot see an unbolded cell; column-inherits-header owns tables and cannot see a bold +sentence. `check-unmarked`'s strict class requires bold by design — those five cells fall into +the twenty it counts loosely and leaves unjudged, which is correct for it and still means five +stripped citations pass the build. + +**What was actually wrong in my recommendation.** Not the preference for structure over +vocabulary — that stands, and my eight **shapes** are the weak half that should fold in behind +`check-unmarked`'s classes. But **the column-header rule is not a shape.** It reads a claim the +document makes about its own columns, and it belongs beside bold-as-published rather than +under it. + +⚠ **And a fact a merged guard will have to face rather than inherit.** The two mechanisms +disagree about what this corpus's tables are, because **the corpus bolds inconsistently inside +them** — the same measurement is bold in one row and plain in the next, four lines apart. That +is invisible to a reader and load-bearing for a strict class keyed on boldness. Better said +out loud by whatever replaces these two than quietly depended on. + +**No merge performed.** Both guards remain in the chain, both green, and the decision sits +with the humans.