docs(k3): round 14, the declared-structure route at the shipped defaults
The report, with every measurement carrying its denominator and both instrument forms side by side on every row -- including the proof that the two forms cannot both reach 2 761, because 2 739 of 2 761 fasit titles carry a numbering token and the two keys then demand mutually exclusive strings. Also states two things round 13 left unsaid: - XML that is not STS gives 0 plans and exit 2, and the `.txt` known-positive shows it is general `okf build` behaviour for any structureless document, not an `.xml` defect. Separating the two states would change the outcome on 0 of the 4 reference corpora, so the gate stays. - Which two instruments were corrected in scratch and what the correction is. With the shipped matcher the XML bundle scores 0/6 with `rang: null` on every question, including the known-positive whose top excerpt IS the fasit. Round 13's 14 two-file directories are re-classified on measurement: they were false positives of the text route reading the document's own contents listing, not the publisher reusing a title, and they are gone. Two remain, the same two the PDF arm has. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
ee12f644ca
commit
078b7df94f
3 changed files with 448 additions and 2 deletions
45
CHANGELOG.md
45
CHANGELOG.md
|
|
@ -9,6 +9,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
### Added
|
||||
|
||||
- **A section the SOURCE DECLARES now takes the route declared structure takes,
|
||||
at the shipped defaults.** `.xml` gained a reader in the entry above and the
|
||||
reader reached its ceiling -- **2 761 of 2 761** heading lines -- while the
|
||||
build delivered **23 concepts and 15 of 2 761 boundaries**. Everything after
|
||||
the reader ate it, and both steps are measured: the **orphan check** removed
|
||||
**710 of 2 761** (710 of 710 removed headings are followed immediately by
|
||||
another heading and **0 of 2 051** delivered ones are -- they are container
|
||||
sections), and **Arm F** folded **2 066** more, 2 089 -> 23.
|
||||
- `extract.xml_outline` reports the marks the reader wrote itself. There is
|
||||
**no bridge** and therefore no tolerance constant and no `unresolved`
|
||||
bucket: the reader appended the line it names. That is the difference from
|
||||
`pdf_outline`, whose naive nearest-line rule was wrong on 1 840 of 2 762.
|
||||
- `propose.RULE_XML_SECTION` (`rule:xml-section`) is its own name in
|
||||
`RULE_NAMES` and in `_ORPHAN_EXEMPT`, so an artifact still distinguishes an
|
||||
element the reader transcribed from a bridged bookmark
|
||||
(`rule:pdf-outline`) and from a heading somebody guessed (`rule:heading`).
|
||||
- The route is chosen by the ROW (`DECLARED_STRUCTURE_IDS = {"xml"}`), never
|
||||
by the text: the same markdown arriving from a `.md` file is still a guess.
|
||||
**No other file type changes one byte** -- `diff -r` on the five-document
|
||||
reference folder is empty (52 md, 26 concepts, 0 of 5 rejected, 0 `.xml`
|
||||
files in it), `okf project` is still byte-equal to `okf build`, the pinned
|
||||
K2 bundle is unchanged, and the PDF arm still proposes 2 762 segments.
|
||||
- Measured at SHIPPED DEFAULTS, not behind a flag: **2 761 concepts**;
|
||||
**2 761 of 2 761** declared sections became a concept with the source's own
|
||||
directory and title; **0** concepts match no declaration; `a)`-points
|
||||
**0 of 4 954**; table blocks **10 of 10**; hit@1/8/50 **3/6 · 5/6 · 6/6**
|
||||
(from 0/6 · 0/6 · 0/6) with the known-positive at rank 1. Cross-arm,
|
||||
**2 761 shared concept ids** -- 100 % of the XML bundle and 2 761 of 2 762
|
||||
of the PDF arm's, up from round 13's 2 022.
|
||||
- Two directories of 2 738 still hold two concepts (`11`, `12`): the
|
||||
publisher reuses a section number for two distinct sections, and it is the
|
||||
same 2 the PDF arm has. Round 13's 14 such directories were false positives
|
||||
of the text route reading the document's own contents listing, and they are
|
||||
gone.
|
||||
|
||||
- **`.xml` is a core file type, NISO-STS aware, with a generic fallback.** A
|
||||
publisher's own viewer delivers a zip that holds 0 html, 1 xml and 109
|
||||
images; `okf build` on it was **110 of 110 unreadable, 0 plans, exit 2**, and
|
||||
|
|
@ -38,6 +73,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
- `.xml` never routes through the converter, and it is measured about 12x
|
||||
faster and about 30x smaller in peak memory than the PDF arm on the same
|
||||
document and the same machine.
|
||||
- **XML that is not STS gives 0 plans and a FAILED build, and that is not an
|
||||
`.xml` defect.** The known-positive that decides it: a folder holding one
|
||||
`.txt` of prose with no headings gives exactly the same three lines and the
|
||||
same exit 2. This is general `okf build` behaviour for any structureless
|
||||
document -- extraction works, 0 unreadable, the text is there, and the
|
||||
proposer has nothing to propose. The gate that refuses a run with no plans
|
||||
stays: a run replaying zero plans would emit a flat bundle and report it as
|
||||
a success. Separating "0 plans, 0 unreadable" from "0 plans because nothing
|
||||
could be read" would change the outcome on **0 of the 4** reference
|
||||
corpora, so it is not separated.
|
||||
- Report: `docs/2026-09-11-k3-runde13-xml-sts.md`.
|
||||
|
||||
### Fixed
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue