convert pdf to md, add OVERVIEW and docs

This commit is contained in:
2026-08-17 22:30:18 +00:00
parent 95d5787868
commit 4df62d2609
44 changed files with 3307 additions and 1 deletions

View File

@@ -0,0 +1,54 @@
# 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/<cluster>/<slug>.md` | one noun: why / shape / connected to / hits |
| process | `processes/<slug>.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.