infospace-bench/src/infospace_bench
tegwick 5b6a63fb7a IB-WP-0016-T01: spine-aware EPUB3 intake
Parse META-INF/container.xml and the OPF package document, then iterate
documents in spine reading order instead of archive-name sort. Classify
each spine item (body, cover, nav, toc, header, footer, notes, license,
auxiliary) and exclude non-body sections by default; include_non_body=True
opts them back in for inspection. Capture OPF book metadata (title,
creator, language, subjects, rights, identifier, source_url, modified)
onto every chunk and propagate it through source artifact provenance.
Preserve the legacy zip-without-OPF fallback for malformed EPUBs.

Real Lefevre EPUB now yields 148 body chunks in spine order (was 155
mixed, archive-sorted) with cover=1, header=1, footer=4 detected and
dropped. 78 tests pass.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 13:52:24 +02:00
..
profiles/general-knowledge generic source-to-infospace generator 2026-05-14 19:33:22 +02:00
__init__.py IB-WP-0014: archive-list, restore, retention annotation, docs (T03-T05) 2026-05-17 11:46:23 +02:00
__main__.py Initial implementation 2026-05-14 11:32:25 +02:00
archive.py archive: include contracts/, schemas/; report skipped top-level dirs 2026-05-17 12:21:19 +02:00
checks.py Initial implementation 2026-05-14 11:32:25 +02:00
cli.py IB-WP-0014: archive-list, restore, retention annotation, docs (T03-T05) 2026-05-17 11:46:23 +02:00
engine.py engine and lifecycle 2026-05-14 16:26:42 +02:00
errors.py Initial implementation 2026-05-14 11:32:25 +02:00
evaluation.py eval history and metrics 2026-05-14 15:35:04 +02:00
evaluation_io.py infospace pipeline for wealth of nations example 2026-05-14 18:04:38 +02:00
generation.py infospace pipeline for wealth of nations example 2026-05-14 18:04:38 +02:00
generator.py IB-WP-0016-T01: spine-aware EPUB3 intake 2026-05-17 13:52:24 +02:00
history.py eval history and metrics 2026-05-14 15:35:04 +02:00
inspection.py Initial implementation 2026-05-14 11:32:25 +02:00
lifecycle.py engine and lifecycle 2026-05-14 16:26:42 +02:00
markdown_adapter.py acceptance matrix and workflow generation 2026-05-14 16:01:32 +02:00
models.py Initial implementation 2026-05-14 11:32:25 +02:00
openrouter.py generic source-to-infospace generator 2026-05-14 19:33:22 +02:00
semantics.py entity relationship model 2026-05-14 15:06:17 +02:00
source_intake.py IB-WP-0016-T01: spine-aware EPUB3 intake 2026-05-17 13:52:24 +02:00
viability.py Initial implementation 2026-05-14 11:32:25 +02:00
workflow.py generic source-to-infospace generator 2026-05-14 19:33:22 +02:00