test(fixtures): replace sector-specific example material with generic, fictitious examples — green
Every fixture, test document, tool example and document now uses an invented kitchen-and-baking handbook series, written in this repository. The package's behaviour is unchanged; src/ changes are comments and help text only. - Generated fixtures are regenerated from their generators. Their structural counts are identical before and after: elements, images, rows, cells, headings, bookmarks and the witness inventory's per-document totals. The image-inbox and accounting documents are renamed kapittel-84-*. - tools/okf_accounting_gate.py: the two options that named one real corpus each are replaced by a generic, repeatable --corpus PATH with no default. Row 5 compares the PDF pair alone. Gate verdict unchanged: RED rows 2, 3, 6. - tools/okf_witness.py: the STS JSON reader for one publisher's delivery is removed, along with its three twins and five tests. The mutation harness loses W09. - docs/: 13 dated reports that documented runs on a retired reference corpus are removed, and 40 are neutralized. Dead links are removed, and no new dangling path is introduced. - The synthetic MCP-gate corpus and the residual probe words are neutral. Valgt: keep the `okf quality --fasit` bar value (the measured fraction, one corpus) and rewrite only its provenance, because the verdict stays unchanged and the number names nothing. Term check with the local list: 0 of 411 tracked files, 0 file names, 0 of 27 binary fixtures. Suite after git add: 2457 passed, 1 skipped. The base tree had 2460 passed and 2 skipped; five tests went with the JSON reader and four were added by the term check. ruff, ruff format and mypy --strict src/ are clean. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
1e7345a401
commit
9d1f4b14ed
174 changed files with 1889 additions and 6512 deletions
|
|
@ -4,10 +4,10 @@ Until 0.10.0 no reader in this package fetched, named, described or copied a
|
|||
single image, and the only writer into a bundle was
|
||||
`materialize.write_bytes(bundle_dir, name, content: str)` -- UTF-8, text, no
|
||||
binary path anywhere. A document whose table is a raster picture therefore
|
||||
reached a concept as an absence with no denominator: measured on R761
|
||||
Prosesskoden:2025, the process text is carried in full while 12 `Tabell N-N`
|
||||
and 9 `Figur N-N` captions stand over nothing, and process 84 says "toleranse-
|
||||
klasse ... er gitt i tabell 84-2" above an empty space.
|
||||
reached a concept as an absence with no denominator: measured on a 701-page
|
||||
reference standard, its text is carried in full while 12 `Tabell N-N` and 9
|
||||
`Figur N-N` captions stand over nothing, and a section saying "... er gitt i
|
||||
tabell 84-2" stands above an empty space.
|
||||
|
||||
THIS MODULE IS THE ONE PLACE THAT DECIDES WHAT AN IMAGE IS. Every reader hands
|
||||
it bytes and gets back either a carried image or a coded rejection, so a
|
||||
|
|
@ -178,7 +178,7 @@ def test_dimensions_absent_is_absent_never_zero() -> None:
|
|||
|
||||
def test_asset_name_is_digest_plus_a_reduced_original() -> None:
|
||||
data = _jpeg(360, 269)
|
||||
image = assets.read_image(data, name="25-0143 - Tabeller - Prosesskoden (R761-R762).jpg")
|
||||
image = assets.read_image(data, name="25-0143 - Tabeller - Oppskriftsboka (P761-P762).jpg")
|
||||
name = assets.asset_name(image)
|
||||
assert name.startswith(hashlib.sha256(data).hexdigest()[: assets.DIGEST_PREFIX] + "-")
|
||||
assert name.endswith(".jpg")
|
||||
|
|
@ -212,13 +212,13 @@ def test_a_nameless_image_still_gets_a_name() -> None:
|
|||
def test_block_names_the_original_the_size_and_the_label() -> None:
|
||||
image = assets.read_image(
|
||||
_jpeg(360, 269),
|
||||
name="25-0143 - Tabeller - Prosesskoden (R761-R762).jpg",
|
||||
name="25-0143 - Tabeller - Oppskriftsboka (P761-P762).jpg",
|
||||
label="Tabell 84-2",
|
||||
)
|
||||
block = assets.render_block(image)
|
||||
first, second = block.split("\n")
|
||||
assert first == f"})"
|
||||
assert second.startswith("Image: 25-0143 - Tabeller - Prosesskoden (R761-R762).jpg")
|
||||
assert second.startswith("Image: 25-0143 - Tabeller - Oppskriftsboka (P761-P762).jpg")
|
||||
assert "360x269 px" in second
|
||||
assert second.endswith("Tabell 84-2")
|
||||
|
||||
|
|
@ -309,7 +309,7 @@ def test_the_pointer_regex_finds_every_shipped_block() -> None:
|
|||
assets.read_image(_png(4, 3), name="a.png", label="Figur 1"),
|
||||
assets.read_image(_jpeg(9, 9), name="b.jpg"),
|
||||
]
|
||||
text = "Prosess 84\n\n" + "\n\n".join(assets.render_block(i) for i in images) + "\n\nSlutt\n"
|
||||
text = "Kapittel 84\n\n" + "\n\n".join(assets.render_block(i) for i in images) + "\n\nSlutt\n"
|
||||
found = assets.IMAGE_POINTER.findall(text)
|
||||
assert [match[1] for match in found] == [assets.asset_name(i) for i in images]
|
||||
|
||||
|
|
@ -374,8 +374,8 @@ def test_the_restated_reduction_is_materializes_own() -> None:
|
|||
from llm_ingestion_okf.materialize import reduce_to_id_grammar
|
||||
|
||||
for value in (
|
||||
"25-0143 - Tabeller - Prosesskoden (R761-R762)",
|
||||
"Figur 11.1 Toleransekrav",
|
||||
"25-0143 - Tabeller - Oppskriftsboka (P761-P762)",
|
||||
"Figur 11.1 Hevetidskrav",
|
||||
"grafikk_med_æøå",
|
||||
"---",
|
||||
"",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue