Composition / foldkit-composition
What it owns
| Fact | Owner |
|---|---|
| Which Blocks exist, their props, Regions and Content | foldkit-composition, in code |
| Which Blocks a page has, and where | the Document, stored as data |
| Whether a Document fits a Catalog | Composition.validate, which reads and never repairs |
| The draft being edited, saving, revisions, publishing | the application: a foldkit-form key, foldkit-cms |
| How a Block looks and behaves | a view, drawn from the Block by a renderer |
Code decides what may exist; data records what does. A Document refers to code only by name, so it outlives the code: a Block removed from a deployment leaves a node that still loads, still round-trips and is reported, never dropped.