# Schema — the rules of this map The closed set of node types, the labels they carry, and the naming they follow. When practice and this file disagree, reconcile the same day — schema drift is how maps rot. ## Node types | `type:` | Lives at | Carries | |---|---|---| | object | `objects//.md` | one noun: why / shape / connected to / hits | | process | `processes/.md` | one movement: input → movement → output | That is the whole set. `effects/CONTEXT.md` is an index, not a node type — it holds no facts of its own, only pointers into the two types above. ## Frontmatter Object cards: ```yaml type: object cluster: identity | org | gradebook | money | trading | content universe: live | leftover | ghost status: stub | verified | stale entity: app/models/order.rb # the file that owns the fact ``` Process cards add `consumes:` and `produces:` as relative links to object cards. Those links draw the graph on their own — do not maintain a separate edge list. ## Label rules - `universe: live` is the default. `leftover` and `ghost` must say why in the card body. - `status: verified` requires **a date, a commit, and citations** in the card. A card with no `path:line` may not be `verified`. - `status: stale` is allowed and preferred over a confident wrong claim. - `entity:` is one path. If a noun is owned by several files, the card's Shape section lists them; `entity:` names the primary one. ## Naming - Slugs: kebab-case, singular, matching the product word where it differs from the class name (`grade-level.md` owns `Grade`). - Clusters are the six above. Adding a seventh requires three nouns that genuinely do not fit — not one that is merely new. - `_meta/` and `_templates/` hold rules and blanks. Underscore = about the map, not of it. - `AGENTS.md` and `routing.md` are generated from `CLAUDE.md` by `_meta/sync-twins.sh`. Never hand-edited. ## Citation rule Code is the source of truth. Cite `path:line`. If a comment and the code disagree, the code wins and the card says so. Never paste behaviour into a card that the source already states — point at it.