docs(front-page): the gate numbers the gate actually prints, and a breaking point that was measured
Four claims on the front page were false on this commit, and one of them was a number no division ever produced. **The retrieval gate.** README reported it RED on rows 3, 4, 5, 7, 8 and 9, with row 3 at 2 of 5 and row 4 at 3 of 6. Run on this commit it is RED on rows 5, 7, 8 and 9, with row 3 at 5 of 5 and row 4 at 6 of 6: `f81683e` made a withheld concept carry the rule that actually decided it, and `05cb190` gave the payload a `coverage` block, and neither updated the table. Row 8 is `0 of 3 | NOT RUN` on the default run and was published as `44 of 64 questions`, which is what it scores the day all three private sets are handed to it -- now labelled with the day and the machine rather than printed as a row. The same four figures were stale in `CLAUDE.md`. **The breaking point in a generated skill.** `int(LIMIT / per_withheld) if per_withheld else 0` printed `At roughly 0 concepts the bookkeeping alone reaches the 120000-byte limit` whenever the generation run withheld nothing -- the absence of a measurement, rendered as one, and read as a bundle that breaks before it holds anything. A run with no withheld entry has no slope to extrapolate from, so the sentence is withheld with its reason. The shipped `skills/okf-consume/SKILL.md` is generated with the question its `references/README.md` names, withholds nothing, and carried exactly that `0`; it is regenerated. Two arms in the test, because one would pass on an empty set: the bundles that withhold something must still state a positive figure. The sentence for that arm also stopped saying `**4 bytes** for 3 concepts` where the 4 bytes were the cost of 0 withheld entries. It is now `for N of M concepts`, which moves two generated skills' line counts and therefore the published comparison: 280 of 312 and 310 -> 281 of 313 and 311, re-measured, with the 62 differing lines unchanged. **Four tools.** A single-bundle server exposes three: `okf_list` is absent where there is nothing to list. README's table already said so in a cell; the heading and the CHANGELOG did not. **What `--accounting` accounts for.** The account is over the element classes each format's vocabulary names, verified against `accounting._READERS` rather than against the report: a file whose suffix has no reader is accounted at file level only, `.docx` reads `document.xml` and `footnotes.xml` (so headers, footers, endnotes and comments are outside), `.pptx` reads the slides (so speaker notes are outside), `.xlsx` reads the worksheets (so cell comments are outside and a cell contributes its cached value, never its formula), and `.rtf` skips its header and footer groups. A hidden slide or sheet IS counted -- it lives in the same part as a visible one. Nothing is built for this; the list is what `0 unaccounted` does not claim. Gates re-run on the commit: retrieval `GATE RED: rows 5, 7, 8, 9` (exit 1), MCP `GATE RED: rows 2` (exit 1), both matching what is now written. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
bf697bfcad
commit
d300338e4d
9 changed files with 203 additions and 754 deletions
35
CLAUDE.md
35
CLAUDE.md
|
|
@ -1263,10 +1263,11 @@ and fixtures, never code.
|
|||
bytes moved is exit 2, never a quiet continuation, because **a gold set is
|
||||
an INPUT and never a constant here** (`okf_consume_measure.py`'s rule, and
|
||||
this repo is public). **THE CORPUS IS PINNED THE SAME WAY** since
|
||||
2026-09-19 (`SPECS_SHA256`). Today: **1 (10/10) - 2 (7/7) - 3 (2/5) -
|
||||
4 (3/6) - 5 (0/1) - 6 (10/10) - 7 (12/14) - 8 (44/64 questions, all three
|
||||
real sets measured 2026-09-19) - 9 (0/6)**, `GATE RED: rows 3, 4, 5, 7, 8,
|
||||
9`.
|
||||
2026-09-19 (`SPECS_SHA256`). Today (measured on the default run
|
||||
2026-09-20): **1 (10/10) - 2 (7/7) - 3 (5/5) - 4 (6/6) - 5 (0/1) -
|
||||
6 (10/10) - 7 (12/14) - 8 (0 of 3 sets, NOT RUN without `--real`; 44 of 64
|
||||
questions the day all three were given to it, 2026-09-19) - 9 (0/6)**,
|
||||
`GATE RED: rows 5, 7, 8, 9`.
|
||||
**FOUR OF EIGHT CHEATING ATTACKS WENT THROUGH IT AND ARE CLOSED
|
||||
(2026-09-19).** PM's checkpoint on `2c8296b` found rows 3, 5, 7 and 8 could
|
||||
go GREEN without one label becoming true or one concept ranking better, and
|
||||
|
|
@ -1305,15 +1306,19 @@ and fixtures, never code.
|
|||
(index built UNDER the patch: every unit a hit; warmed first: every unit a
|
||||
miss). Row 9 takes `--k2 SET SHA BUNDLE` and stays RED without one, because
|
||||
ITS denominator is known -- a deliberate divergence from the order, stated.
|
||||
Report: `docs/2026-09-19-gjenfinningsgaten-motstand.md`. **Row 3 is the finding to read first**: in a bundle built
|
||||
from ONE source document every concept past the first two carries that
|
||||
document's `source_file`, so a concept the RANK had already lost is withheld
|
||||
as `source_quota_exceeded` -- the truth is decided by the SAME cut run
|
||||
without the quota, and PM measured the same lie on **13 of 25** real misses
|
||||
17.09. **Row 4 is the second**: no payload key says "this bundle does not
|
||||
answer that", so the only honest case is `delivered == 0`; 3 of 6 controls
|
||||
come out right and the three that do not get eight excerpts and no
|
||||
statement. **A miss has exactly ONE class** (a fasit not in the bundle, b
|
||||
Report: `docs/2026-09-19-gjenfinningsgaten-motstand.md`. **ROWS 3 AND 4 WERE THE TWO FINDINGS AND BOTH ARE
|
||||
CLOSED** (`f81683e`, `05cb190`, 2026-09-20). Row 3: in a bundle built from
|
||||
ONE source document every concept past the first two carries that document's
|
||||
`source_file`, so a concept the RANK had already lost came back withheld as
|
||||
`source_quota_exceeded` -- PM measured the same lie on **13 of 25** real
|
||||
misses 17.09. A drop now keeps the rule the SAME cut without the quota would
|
||||
have given it, decided by the code the run itself uses: **2 of 5 -> 5 of
|
||||
5**. Row 4: no payload key said "this bundle does not answer that", so the
|
||||
only honest case was `delivered == 0`. `coverage` states the terms the
|
||||
pre-pass read, the terms no concept in the bundle answers and the terms no
|
||||
delivered excerpt answers -- facts and no verdict, both candidate verdicts
|
||||
falsified over 81 questions -- with the gate's own `UNANSWERED_BAR = 2/3`:
|
||||
**3 of 6 -> 6 of 6**, 0 of 65 real questions marked. **A miss has exactly ONE class** (a fasit not in the bundle, b
|
||||
below k, c cut by quota/budget, d delivered without the citation, e other),
|
||||
each FORCED by its own fixture, and an unplaced miss takes the row to 0 of
|
||||
N. **The judge opens the bundle**: `BundleIndex` reads every concept off
|
||||
|
|
@ -1449,8 +1454,8 @@ and fixtures, never code.
|
|||
skill for ANY bundle: it carries no bundle's identity and no bundle's numbers,
|
||||
and the property that makes that checkable rather than asserted is that
|
||||
`skill.render_generic()` **takes no argument** -- there is no bundle it could
|
||||
have read. Measured 2026-09-20: two per-bundle skills are identical on **280
|
||||
of 312** and **310** lines, and the 62 that differ are exactly identity,
|
||||
have read. Measured 2026-09-20: two per-bundle skills are identical on **281
|
||||
of 313** and **311** lines, and the 62 that differ are exactly identity,
|
||||
concept count, the conditional-field table, the whole-bundle cost and the
|
||||
breaking point -- the five things that go stale on a rebuild. The update
|
||||
drill, four artefact classes: MCP one-to-one **0 artefacts / 0 steps**, MCP
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue