MeridiansMeridians

Domain spine — System · World · Fate [Concept]

Source path: knowledge-base/diagrams/concepts/domain-spine.md

# Domain spine — System · World · Fate `[Concept]`

Every expert's canonical state rests on one measured spine. Three kinds of knowledge, kept apart because they answer different questions and are recovered differently. Scene deltas mutate the spine; **forces** ([derivations](derivations.md)) are deterministic reads over it — never re-parse generated prose to recover canonical state.

```mermaid
flowchart TB
    Scene(["a scene delta"]) -->|"mutates"| Spine

    subgraph Spine["the measured domain — src/types/domain/"]
        direction LR
        Sys["**System**<br/>rules · structures · constraints<br/>*(system.ts — the how-it-works graph)*"]
        Wor["**World**<br/>actors · places · artifacts · state<br/>*(entity.ts — the who/where/what)*"]
        Fate["**Fate**<br/>open questions + their bearing<br/>*(thread.ts — the what-might-happen)*"]
    end

    Spine -->|"deterministic derivation<br/>(forces, never authored)"| Forces(["ForceSnapshot · thread market ·<br/>positions · categories"])
```

| Kind | Answers | Shape | File |
|---|---|---|---|
| **System** | how does this world *work*? | rules, mechanisms, institutions, conventions — a node graph | `types/domain/system.ts` |
| **World** | who / where / what *is* there now? | characters, locations, artifacts + their edges and state | `types/domain/entity.ts` |
| **Fate** | what might *happen*, and does it matter? | open outcome questions carrying priced stances | `types/domain/thread.ts` |

- The spine is the **data substrate**; the three layers of opinion ([three-layers](three-layers.md)) are *held over* it. A **Thread** is Fate at long horizon; a **Stream** is present-day belief that resolves into Fate via a Merge; a **Position** is a forward read grounded in a Reasoning Graph.
- The spine is measured, not narrated. Prose is a **projection** of it; the canonical value lives in the typed structure. This is why forces are derived and never stored — storing them would create a second source of truth that drifts.
- Scene deltas are the *only* authoring path into the spine. Everything else (market prices, positions, categories) is a pure read.

**Where it lives:** `src/types/domain/{system,entity,thread}.ts` (the spine), `src/lib/core/forces/` (the derivations over it). Vocabulary is owned by [LANGUAGE.md](../../knowledge/vocabulary/index.md); the model rules by [ARCHITECTURE.md](../../knowledge/architecture/ARCHITECTURE.md).
Open on GitHub

Raw Markdown source