docs: remove what this repository published about a consumer's corpus

Operator decision 2026-09-21: nothing from that consumer's collection goes out
on the public remote. The NAME stays where it is already published -- it is a
consumer of this library, named as such, and removing it would mean rewriting
published history, which this repository does not do. What goes is everything
that describes their CONTENT.

Removed across README, CLAUDE.md, CHANGELOG, four dated reports, the
consumption contract, three source modules and three test modules: their
corpus's document and page counts, the concept count of a bundle built from
it, the byte figures of a payload built from it, the question and fasit counts
and recorded score of their evaluation set, a bundle id with two content refs,
an order id naming them, and a path into their repository.

Kept, because the argument survives without the corpus: RATIOS and
percentages. A ratio is the finding -- a withheld list that is 65.5 % of a
payload is a defect at any corpus size -- and it discloses nothing about how
large anyone's collection is. Where a claim lost its denominator it now SAYS
so rather than quietly reading as unmeasured: the gate-refusal limitation in
the README states that the corpus and its counts are deliberately withheld and
points the reader at their own build, which is the number that binds them
anyway.

One integrity pin is kept and named here rather than left to be found: the
retrieval gate still pins that set by sha256, because the pin is what refuses
a self-written file in the right shape, and a checksum discloses nothing about
what it checksums. Its recorded SCORE is gone -- that was their figure about
their own corpus, and the row now says so instead of restating it.

The known-positive constants move with the contract document, as they must.
Suite green, 2372 passed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-21 04:28:15 +02:00
commit cf21449ddb
15 changed files with 108 additions and 97 deletions

View file

@ -296,16 +296,15 @@ of `segment`, which is how the defect survived.
**AND THAT GATE WAS SILENT ABOUT WHAT IT DROPPED, UNTIL v1 (2026-09-20).**
Naming the gate in `log.md` said which screen ran; it did not say what the
screen took. Measured on an official documentation corpus of 594 sources at the
shipped default: `guard-trusted-source` refused **17 of 594 sources OUTRIGHT**
-- `fail_secure` 3, `quarantine_review` 14 -- and **16 of those sat among 197
documentation pages** (8.1 %), the pages on hooks, skills, permissions, errors,
env-vars and authentication among them. Rebuilt with `--gate none`, **17 of 17**
went through untouched, so the refusal is the GATE and not the readers: official
screen took. Measured at the shipped default against a real corpus of official
documentation: `guard-trusted-source` refused a minority of sources OUTRIGHT,
under `fail_secure` and `quarantine_review`, and most of those were ordinary
reference pages. Rebuilt with `--gate none`, every one of them went through
untouched, so the refusal is the GATE and not the readers: official
documentation naturally carries commands and instruction-shaped text, and the
guard reads that as something to hold for review. The summary printed `` `fail_secure`:
3/594 `` and nothing else, so **three of the four facts a reader needs were
absent**: the COUNT of documents the gate dropped (the existing `rejected
guard reads that as something to hold for review. The summary printed one
`` `fail_secure`: N/D `` line and nothing else, so **three of the four facts a
reader needs were absent**: the COUNT of documents the gate dropped (the existing `rejected
(coded)` line SUMS gate refusals and extraction failures -- two failures with
two different remedies, which is why `gate_refused` is its own column on
`CorpusReport`), the NAMES, and the way out. `corpus.REFUSED_HEADING` now opens
@ -1395,11 +1394,11 @@ and fixtures, never code.
set exists nowhere** while the bundles do. Granularity is stated and the two
forms are NEVER summed: a citation-level set and a concept-level set are two
numbers. Nevnerne re-measured against the sources 2026-09-19 and they hold:
wiki **20** questions / **29** fasit entries (sha `972d0f57...`), R761
**8** (S1-S6 + KP + KN), vegnormal **32** questions / **43** `must_cite` /
32 `must_contain`, K2 **6**. PM's **45 of 70** is itself a MIXED sum (wiki
at question level, vegnormal at citation level) and the gate carries it
labelled as recorded, never as its own.
R761 **8** (S1-S6 + KP + KN), vegnormal **32** questions / **43**
`must_cite` / 32 `must_contain`, K2 **6**. The fourth set's own figures are
a consumer's and are not restated here; the gate reads it by path and
sha256 like the others. PM's mixed sum over two sets at two granularities
is carried labelled as recorded, never as the gate's own.
- **Judge a bundle: `okf quality <bundle>` (G37, 2026-09-12).** A per-file-type
verdict, with the denominator on every line, and it is a SEPARATE command
from `okf check` on purpose: `check` is the contract check, and a green one
@ -1751,13 +1750,14 @@ and fixtures, never code.
`docs/2026-09-10-k3-runde7-forste-spenn-og-rangeringen.md`.
The other three stay off.
**`--withheld-titles` IS RETIRED (v1.1 ordre A, 2026-09-21), together with
the flat `withheld` list it existed to name.** Measured on a 2313-concept
bundle of one project's own documentation: the list held **2 305 entries =
186 440 B = 65.5 % of the 284 850-byte payload**, and not one of those bytes
counted against the budget the same payload reported (`spent` 45 192) — so a
reader was handed 239 658 bytes the budget line did not know about, to learn
2 305 concept ids with nothing beside them. The flag bought the missing
field and was off because buying it for 2 305 entries cost another 37.9 %.
the flat `withheld` list it existed to name.** Measured on a large real
bundle: the list came to **65.5 % of the written payload**, and not one of
those bytes counted against the budget the same payload reported — so a
reader was handed most of a file the budget line did not know about, to
learn one concept id per withheld concept with nothing beside it. The flag
bought the missing field and was off because buying it for a list that long
cost another 37.9 %. (The corpus is a consumer's; its counts are not
restated here, and the ratio is the argument.)
**`withheld` is now a MAPPING** (`CONTRACT_REVISION` = `okf-consumption/2`,
bumped so a consumer indexing the old key as a list breaks loudly):
`total` (equal to `denominators.withheld`, so SS 5.2's identity closes on the
@ -1765,7 +1765,7 @@ and fixtures, never code.
(the best-ranked drops BY NAME with title and source document, read off
`ranked` and not off `cut`'s id-sorted output, capped at
`WITHHELD_NEAREST_DEFAULT` = 20) and `complete`. Same question, same bundle,
after: **52 349 B, 18.4 % of the old file**. `--withheld-full` brings the
after: **18.4 % of the old file**. `--withheld-full` brings the
whole list back and is what an instrument classifying EVERY miss asks for —
the retrieval gate and `okf_consume_measure` both pass it and assert
`complete`. `--withheld-nearest N` sets the cap. Three checker rules moved