fix(structure): the index resolves a parent naming a segment of its own document
K3-21 C. `resolve_structure` asks `_segment_lookup` first for a `parent`
edge: `(source_file, segment_id)` -> concept name, keyed off each concept's
own frontmatter (`DocumentStructure.declared`, no file read again), so a
pointer lands only inside the pointing concept's document -- `p1` exists in
every document of a multi-document bundle. A value no segment answers to is a
document number and is looked up exactly as before; a pointer naming nothing
keeps `UNRESOLVED_MARKER`. The rendering rule is untouched: a resolved
relation renders as its subject, so `parent: p1977?` becomes `parent: p1977`.
Moved on purpose, each named: both segmented goldens' index files
(`examples/ingest-golden-segmented{,-okf-v0-2}/expected-bundle/krav/1-{1,2}/
index.md`), whose declared parents s1 and s2 -> s0 rendered `parent: s0?`
while s0 stood in the bundle -- four lines, `?` removed. The four goldens
`test_the_four_existing_goldens_are_untouched` guards are not among them.
`skills/okf-consume/` regenerated, because the golden's index bytes -- and so
its ref -- moved. `test_shell_parent`'s byte test now expects the resolved
facet. README and CLAUDE.md no longer say the index renders it unresolved.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
c188a0c749
commit
59703699a5
10 changed files with 50 additions and 17 deletions
11
CLAUDE.md
11
CLAUDE.md
|
|
@ -641,10 +641,13 @@ and fixtures, never code.
|
|||
set is the same with it as without it; a text that does not fit is cut to
|
||||
the longest prefix that does and marked `truncated`. Whether either default
|
||||
moves is K3-21 B's measurement, not this line's.
|
||||
**The index renders every such parent
|
||||
UNRESOLVED** (`parent: p1?`): `structure` reads `parent` as a document
|
||||
NUMBER, and a segment id answers to none -- the one key with two meanings
|
||||
`inbox.py` already names for a declared parent. Report:
|
||||
**Since K3-21 C the index RESOLVES such a parent**: it rendered every one
|
||||
unresolved (`parent: p1?`, 675 of 675) because `structure` read `parent` as
|
||||
a document NUMBER and a segment id answers to none. `structure._segment_lookup`
|
||||
keys `(source_file, segment_id)` off the concept's own frontmatter and is
|
||||
asked first, inside the pointing concept's document; a value no segment
|
||||
answers to is a number, looked up as before, and a pointer naming nothing
|
||||
keeps `?`. The one key keeps its two meanings (`inbox.py`). Report:
|
||||
`docs/2026-09-11-k3-runde20-delt-katalog-og-arvet-kontekst.md`.
|
||||
- **A TWELFTH flag, `--pdf-outline`, is OFF** (round 12, 2026-09-10) and it is
|
||||
the only one here that does not read the extracted text at all: it cuts a PDF
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue