feat(propose): --shell-parent points a heading-only section at the ancestor holding its text
A plan entry whose span holds its heading alone gets `parent_id` naming the nearest preceding entry at a smaller level whose own span holds text, passing over an ancestor that is empty too; the door writes the existing `parent:` key. Nothing is copied and no boundary moves. The rule reads the plan's level and order, never the row. Off by default: `okf consume` reads no `parent` key, so no payload ranks differently, while the flag moves the bytes of every bundle holding a heading-only section. Measured before building on one 2 761-concept process code: 710 concepts are heading-only; the level route names the ancestor the document's own <sec> nesting names on 708 of 710 (two sit at depth 7, clipped to 6, and point one level too high), where reading section numbers gets 686 (`12` begins with `1`); 35 have no ancestor holding text and get none. The red test expected only concept files to move. The index is a projection of the frontmatter and shows the key as a facet, so the test now holds both; the facet renders a segment id as unresolved (`p1?`), because `structure` reads `parent` as a document number -- named in README, CLAUDE.md and the CHANGELOG, not repaired here. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
f7fd0d4a43
commit
edd3b70a90
6 changed files with 140 additions and 4 deletions
18
CHANGELOG.md
18
CHANGELOG.md
|
|
@ -7,6 +7,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
|
||||
- **`okf build --shell-parent` (K3-20), off by default.** A concept whose body
|
||||
is its heading alone gets `parent:` naming the `segment_id` of the nearest
|
||||
ancestor that holds text: the nearest preceding plan entry at a smaller
|
||||
level, passing over an ancestor that is empty too. Nothing is copied and no
|
||||
boundary moves. It reads the plan's level and order, never the row. Measured
|
||||
on one process code, 710 of 2 761 concepts are heading-only; the route names
|
||||
the ancestor the document's own nesting names on 708 of them (two sit at
|
||||
depth 7, which a markdown heading clips to 6), where reading section numbers
|
||||
gets 686.
|
||||
- **Off, by measurement:** `okf consume` reads no `parent` key, so no payload
|
||||
ranks differently, while the flag moves the bytes of every bundle holding
|
||||
a heading-only section.
|
||||
- **Known cost:** the index projects `parent` as a document NUMBER, so a
|
||||
segment id always renders unresolved there (`parent: p1?`). The same key
|
||||
already carries both meanings for an adjudicator's declared parent.
|
||||
|
||||
### Fixed
|
||||
|
||||
- **A directory every concept id shares no longer ranks the concepts
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue