The index renders from the compile; lint learns the map - #129
Merged
Conversation
dex-map now writes two artifacts from one compile: state/map.json and
wiki/index.md, rendered through the kernel primitives — header and
standing preamble, then Topics, Entities and Syntheses sections (each
elided when empty; syntheses list their page's first # heading).
Judgment decides the values, code renders them, both byte-deterministic
and atomically written; a bare instance gets an honestly empty index the
way it gets an honestly empty map. The place and exclude triggers keep
both fresh and say so ("map and index recompiled"), and the index is
declared unpinnable — pins target pages' claims, never the catalog.
Lint gains map freshness: an in-memory recompile diffed byte-for-byte
against both artifacts, a repair row (never exit 1) whose whole fix is
bin/dex map. The per-entry index checks (unindexed pages, ghost index
entries) retire — a rendered index cannot drift page-by-page — while
the shortid-in-index scan stays, since the index renders taxonomy
descriptions a session could write a shortid into. A compile refusal on
a shape lint's tolerant reads let through surfaces as the taxonomy
failure it is. And the canonical-topic advisory lands: a conforming
digest naming a canonical topic whose items do not record it is one
advisory row — placement miss or rename residue, session judgment —
while candidate names stay silent by design.
Skills, README and CLAUDE.md move with it: repairs.md swaps the index
rows for the bin/dex map repair and documents the advisory's judgment,
ingest step 8 and dex-query stop hand-editing the index, and the
dex-lint SKILL states the pin boundary.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
leeovery
force-pushed
the
instance-map-lint
branch
from
September 1, 2026 13:29
ecdaf27 to
c638999
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR4 of the instance-map stack (design: #125, on #128).
dex-mapnow writes two artifacts from one compile —state/map.jsonandwiki/index.md— so the catalog page is rendered, byte-deterministic, and unpinnable (pins target pages' claims; a catalog correction is a taxonomy correction throughenrich place). Lint gains map freshness (in-memory recompile, byte diff,bin/dex mapas the whole repair), retires the per-entry index rows the rendered index makes impossible, and adds the canonical-topic advisory (a digest naming a canonical topic whose items don't record it — miss or rename residue, session judgment, never exit 1). Skills and README follow.45 tests added; mutation audit on the compiler and changed lint functions (five real holes closed, including a whole-index byte pin).
🤖 Generated with Claude Code