Skip to content

feat(enginebook): render the LORE reference warrant (v2 sequence) + 0.1.0 bumps#174

Merged
ChBrain merged 9 commits into
mainfrom
claude/enginebook-reference-render
Jun 3, 2026
Merged

feat(enginebook): render the LORE reference warrant (v2 sequence) + 0.1.0 bumps#174
ChBrain merged 9 commits into
mainfrom
claude/enginebook-reference-render

Conversation

@ChBrain

@ChBrain ChBrain commented Jun 3, 2026

Copy link
Copy Markdown
Owner

Renders the LORE reference warrant in the Enginebook (the "see B" payoff) and applies the publish's version bumps. Reviewed in depth.

What it does

  • Loader reads REFERENCES.mdreferenceCard (khai-arch 0.1.0) → book.references; degrades to null if absent/non-conforming.
  • [engine] page builds the v2 sequence: cover → reference (one snap per LORE chapter, paginating Restrictions across its subchapters, coda on the last) → anchor → expressions → wiring (now last).
  • Book.astro gains a bodyHtml prose-snap mode (.pb-prose, incl. tables) — reference snaps are prose/tables, not facet cards. Coexists with feat(playbook): click through from the enriched-by card into the Enginebook #170's deepLink.
  • Bumps: khai-arch ^0.1.0, gender ^0.0.11, website 0.0.5.

Review fixes folded in

  • META_SECTIONS Title→Taxonomy (parse-engine-spec.ts) — your rename shipped in gender 0.0.11; without this the anchor/expression spreads would render a stray "Taxonomy" facet. Now HOLD = Has/Orders/Loses/Drives exactly.
  • Cover CTA#${spreads[0].slug} (was #wiring, which after the reorder jumped to the end).

Before merge / deploy (maintainer)

  1. Merge test(enginebooks): bridge the v2 spread order (reference leads, wiring closes) #173 first (the test-order bridge) — else this PR's CI fails the stale "opens with wiring" assertion.
  2. Regenerate the lockfile against khai-arch 0.1.0 + gender 0.0.11 (authed env — the sandbox 401s), build, then DEPLOY_ENV=staging rsync the architecture surface → see B on staging.
  3. Source bucket only (no tests/**); the branch name still carries the old claude/* prefix (rename to surface/enginebooks/reference whenever we do the branch-scope migration).

https://claude.ai/code/session_01LwCVbSERbgE8XpULEe5YTk


Generated by Claude Code

claude and others added 9 commits June 3, 2026 06:53
Project an engine's REFERENCES.md through the canon's new referenceCard
and render it as prose/table snaps ahead of the content. Reorders the
Enginebook to the v2 sequence: cover -> reference -> anchor ->
expressions -> wiring (the canon binding now closes the book).

- loader: import referenceCard; add Reference / ReferenceSection /
  ReferenceSubchapter types and EngineBook.references, degrading to null
  on a missing or non-conforming REFERENCES.md.
- chassis: BookSpread.bodyHtml; Book.astro renders a .pb-prose body
  (markdown -> HTML) where facets would go, with table/link/list styles.
- page: build reference snaps one per chapter (or per subchapter so a
  heavy chapter paginates); fold the chapter intro into the first
  subchapter snap; tail the warrant coda onto the last reference snap.

Intentionally unbuildable here: referenceCard is not yet in the
installed @chbrain/khai-arch. Versions left unchanged for a human bump.

https://claude.ai/code/session_01LwCVbSERbgE8XpULEe5YTk
… section

- khai-arch ^0.0.10 -> ^0.1.0 (provides referenceCard)
- khai-engine-gender ^0.0.10 -> ^0.0.11 (LORE REFERENCES.md + Taxonomy content)
- website version 0.0.4 -> 0.0.5 (package source touched)
- parseEngineSpec META_SECTIONS Title -> Taxonomy (gender 0.0.11 renamed the
  position type's first section); HOLD facets stay exactly Has/Orders/Loses/Drives

https://claude.ai/code/session_01LwCVbSERbgE8XpULEe5YTk
The v2 reorder moved wiring to last, so ctaHref "#wiring" made "Open the
enginebook ->" jump to the end, past the whole reference warrant + content.
Point it at spreads[0].slug (the first reference snap, or anchor when an engine
ships no REFERENCES.md).
tests/links.test.ts flagged the gender enginebook for unresolved internal links
(position_gender.md / position_male.md / position_female.md): the Encoding
chapter links each source to the member file it constrains, but those files are
not pages -- they are the anchor/expression snaps in the same book. Rewrite
those link targets to the in-page anchors (anchor -> #anchor, each expression ->
#<key>) so they resolve AND the warrant hands directly into the content it names.
@ChBrain
ChBrain merged commit ab82fb6 into main Jun 3, 2026
4 checks passed
@ChBrain
ChBrain deleted the claude/enginebook-reference-render branch June 3, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants