enrich place: mechanical custody of taxonomy and entity-members - #127
Merged
Conversation
The two judgment files were the last state a session wrote by hand. The judgment is unchanged — what to file where, when a topic exists at all — but it now arrives as JSON and the engine writes both files: `bin/dex enrich place --file cache/placement.json`, five orthogonal operation lists applied in order (topics/entities upserts, place, unplace, drop), whole-payload validation that refuses with the field named and writes nothing, and one canonical byte form — sorted names, sorted unique member ids and aliases, the compiler's JSON style. The first placement of a fresh instance bootstraps both files; item ids are shape-checked only, never against the corpus, because placement may precede or follow the item's other work and ghost members are lint's finding. The loaders the compiler already had become the shared read point (load_taxonomy / load_entity_members, Topic / Entity public), Instance gains entity_members_path, and instance_map gains recompile — the one post-verb trigger: place and a successful exclude purge both recompile state/map.json as their last act, and a compile failure rides the verb's summary into its error exit rather than un-reporting writes that landed. state-formats.md now documents the verb in the digest section's voice and states the settled semantics: digest frontmatter is classification at digest time, stale by design and load-bearing for sweeps; taxonomy is where an item is filed today; the disagreement is permanent and never drift, and stale frontmatter never surfaces as an item's current topics. ingest-item step 7 and the lint repair rows route through the verb, and the parser docstring, shim usage line, README table, CLAUDE.md pipeline list and KNOWN_VERBS move together per the standing rules. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
PR2 of the instance-map stack (design: #125, on #126).
bin/dex enrich place --file— placement judgment arrives as JSON (topic/entity upserts, place, unplace, drop, applied in order), whole-payload refusal naming the field, both judgment files rewritten to one canonical byte form, fresh-instance bootstrap.enrich placeanddex-excludenow recompilestate/map.jsonas their last act; a compile failure exits loud without un-reporting landed writes. state-formats.md carries the verb contract and the settled digest-classification-vs-taxonomy-placement semantics; ingest step 7 and the lint repair rows route through the verb.98 new tests; mutation audits on placement (clean), instance_map, and exclude (two pre-existing assertion gaps tightened).
🤖 Generated with Claude Code