reasoning
Source path: knowledge-base/knowledge/vocabulary/reasoning.md
## Reasoning The substrate plans forward through typed graphs and probabilistic cohorts. Reasoning is how the engine answers "what could happen next, and why?" **Complex** — Mind's central setup and management dashboard and the convergent analytical grounding in domain chat. It is scoped to the selected **Arc** or **World Expansion** entry and keeps the relevant artifacts coherent at that point in the world. For an Arc, **Focus** establishes the top-of-mind questions and belief movement; **Phase Graph** supplies inherited machinery; **Causal Graph** supplies the active causal argument; **Theme** supplies evidence-backed English thematic analysis; **Decision** / Game Theory supplies incentives and strategic counterfactuals; **Readings** supplies the feasible continuations those conditions admit. Complex leads with one integrated read, then makes corroboration, contradiction, uncertainty, and missing links across those artifacts explicit rather than reciting them as separate summaries. A World Expansion can host its own Causal Graph, Reading, and thematic evidence while sharing the active Phase Graph; scene- and arc-owned artifacts are labelled unavailable rather than misattributed. Bulk generation defaults to the coupled **Causal Graph → Readings** sequence and Theme analysis where the scope supports Theme evidence; Phase Graph and Decision are explicit opt-ins. Every row reports readiness and opens the owning specialist Mind tab. A layer appears only when its artifact exists; omission means unavailable context, never proof that the world lacks that structure. Code identifier retained for migration: `chatContextMode: "reasoning"`. **Focus** — the Arc-bounded analytical foreground inside Complex. It combines the most relevant, highest-focus **Fate Threads** with the salience-ranked **Opinions** that explain meaningful belief movement available by that Arc's time cutoff. Each Thread is replayed to the selected story position and carries its current leader and distribution, market-state category, uncertainty, volume, volatility, recency gap, focus score, and recent movement. Arc ownership and evidence determine relevance; live focus determines what is top of mind within that scope. Focus is a derived reading of canonical Threads and Opinions, never another stored force or belief artifact. **Theme** — A durable, contestable English-level proposition the Domain explores, such as “chosen loyalty can outweigh inherited status.” It is not a one-word topic and not a generated Opinion. A Theme has one stable Domain identity, one optional **Theme Type** parent, a central interpretive question, and typed relations to other Themes. Themes may oppose, reinforce, reframe, or intersect; they do not have to be binary opposites. **Theme Type** — A broad interpretive territory such as **Power, War, Love, Identity, Belonging, Justice,** or **Mortality**. A Type is a neutral container: it receives no Scene evidence and owns no logits. Its attention and evidence are exactly the conserved sum of its child Themes. **Theme Tree** — The Domain-level two-level structure **Theme Type → Theme**. It extends the topic-tree idea into interpretation without permitting arbitrary depth: broad territories organise portable propositions, while every evidence-bearing Theme remains individually inspectable. A Type is a reusable comparison shelf rather than a summary of one child: near-synonymous territory labels reconcile so independently moving Themes group under the smallest honest Type set, while genuinely distinct territories remain separate. Definitions are stable and additive during observation: generation may reuse or add an identity, but only an explicit structural edit may redefine one; imported slices reconcile propositions before their foreign ids are remapped. The overall Theme view compares Types; drilling into one Type compares its child Themes. Both are derived from the same canonical identities and conserve the same 100% attention. **Theme Signal** — The canonical evidence boundary for thematic analysis. A Scene or World Expansion attributes what it does to one individual Theme through a semantic role (`enables · expresses · supports · complicates · contradicts · transforms · resolves`), a concrete rationale, one whole-number salience step from −3 to +3, and relevant carriers. The signal deterministically projects its leaf Principle and carriers into flat Scene attribution, plus carrier→Principle links; generators must not duplicate that state. This makes Theme the purple fourth represented attribution cohort beside Fate, World, and System while preserving those three as the causal axes. Theme Types never receive signals or activation. **Theme** — The specialist Mind surface for English thematic analysis: the durable ideas a story explores, the Scene evidence that expresses, challenges, complicates, or resolves them, and how their attention and interpretation change over time. Scene signals are the evidence; Arc and World Expansion observations are deterministic rollups. Each Theme keeps independent whole-number logits, while relative attention is a derived comparison view rather than another source of truth. Theme supports Scene, Arc, and branch-scale reading, exposes exact evidence in the inspector, and projects the same escaped `<theme-analysis>` XML into chat and Complex. Broad **Theme Types** group individual Themes without receiving evidence or weight of their own. The Board's **Field** lens is unrelated and still lays out rooms within a location level. **Mandate** — A branch-scoped, Director-declared trajectory for automated Domain continuation: a sequence of **peaks** (forces converge, Threads culminate, the branch commits) and **valleys** (tension is seeded, an Arc pivots) built by **backward induction**. The intended destination is chosen first, then the structural anchors that earn it are derived backwards. Each Arc gets one mandate anchor (peak or valley); a CRG is generated when that Arc runs. The Mandate tells generated Arcs what to earn without micromanaging every Scene or replacing the per-Arc Causal Reasoning Graph. It is an authoring control, separate from Scenario and World play: it does not predetermine participant Will or require every open Fate to close. Code identifier: `coordinationPlan`; event identifier: `open-coordination-plan`. *Peaks land, valleys launch.* **Causal Reasoning Graph (CRG)** — A per-arc typed graph of 8–20 nodes (fate / reasoning / character / location / artifact / system / pattern / warning / chaos) linked by typed edges (requires / enables / constrains / risks / causes / reveals / develops / resolves). Built before any scene of the arc is generated; scenes then execute the graph. *Consequence isn't a line; it's a graph.* ### Graph view names and generation contracts The interface names a view for the question it answers, not for the rendering library or the stored TypeScript identifier. Dagre only arranges directed nodes and labelled edges; it does not decide their meaning. The prompt or deterministic derivation owns the ontology, permitted topology, evidence boundary, and downstream use. | Interface name | Canonical artifact or projection | Built from | Shape and renderer | What the view answers | |---|---|---|---|---| | **Causal Graph** | **Causal Reasoning Graph (CRG)** | `buildArcReasoningGraphPrompt`; evidence, active Threads, current Frame/Control position, Theme, and the active Phase Graph | Prompted directed acyclic graph; Dagre `causal` profile. It should branch and converge rather than collapse into one chain. | What does this Arc or World position support, and why? | | **Phase Graph** | **Phase Reasoning Graph (PRG)** | `buildPhaseGraphPrompt`; Domain context, optional hypothesis, and optional prior Phase Graph | Prompted directed acyclic graph; Dagre `causal` profile. Node index is causal topological order. | What durable machinery does every downstream stage inherit? | | **Mandate** | `coordinationPlan` | `buildCoordinationPlanPrompt`; branch context, Thread targets, active Phase Graph, and Director guidance | Prompted multi-Arc directed graph; Dagre `plan` profile. Peaks and valleys form a spine, while support may branch across Arcs. | What should later generated Arcs earn without scripting participant Will? | | **Entity Interpretation** | **Entity Interpretation Graph (EIG)**, under Actors → State or Dynamics | `buildEntityInterpretationPrompt`; attributed World evidence for State or current Frame/Control evidence for Dynamics, with an optional guide | Prompted directed graph; Dagre `interpretation` profile. Branching, convergence, and evidence-grounded feedback cycles are valid; index is stable context order, not topology. | How should this entity be understood and performed at this coordinate? | | **Relationship Dynamics** | Current Frame and Control projection | Canonical Frame and Control state; composer prompts create or edit the underlying records, not the displayed graph | Deterministically derived directed graph; Dagre `topology` profile. Cycles and asymmetry are meaningful. | Who reads whom, and who can author a Unit's moves? | | **Board** | Location hierarchy plus per-level `LocationTopology` | `buildBoardTopologyPrompt` proposes lateral paths and portals; canonical containment supplies depth | Prompted topology rendered through Dagre `spatial` in Layer/Level wire views; cycles and disconnected regions are allowed when geography supports them. | What contains this place, and how can its peers be traversed? | | **Constellation Graph** | `OnboardingDocument.map` | `buildOnboardingArchitecturePrompt` or `buildConstellationGraphPrompt`; selected interests, synthesis, Domain boundaries, and optional guidance | Prompted cross-Domain graph; Dagre `domain` profile. Lateral connections are preferred over a forced tree or hub. | Which distinct Domains belong together, and how do they inform one another? | | **World** | World entity projection | Canonical entities, containment, ownership, and relationships | Deterministically derived D3 force view; not Dagre and not graph-generated by a prompt. | What exists in the World and how is it connected? | | **Network** | Attribution network | Canonical Scene attribution edges aggregated at Scene, Arc, or branch scope | Deterministically derived D3 force view; not Dagre and not prompted. | Which forces and entities repeatedly act on one another? | | **Influence** | Force/source alluvial | Canonical movement logs over time | Deterministically derived alluvial; not Dagre and not prompted. | Where did attention and force flow through time? | | **Theme Tree** | Two-level Theme Type → Theme hierarchy | Canonical Theme identities and Scene signals, initially proposed during extraction/generation | Deterministically derived tree; not Dagre. Theme Types organise but never inherit evidence. | Which contestable Themes sit within each interpretive territory? | The static graph in public explanatory material is an example of a **Causal Graph**, not another stored graph type. Likewise, Dagre's cycle handling is a layout concern: it may temporarily reverse an edge to place a cyclic graph, then restores the authored direction for rendering. It must never be mistaken for a semantic rule that all Meridians graphs are acyclic. **Board topology** — A parent location's own, DISPOSABLE read of how one level of its territory connects: typed spatial edges between its direct children — and the parent itself, the way in/out of the area — plus **portals** to locations outside the level. Generated like the reasoning graphs (fixed orthogonal relation grammar `adjoins · leads-to · above · beneath · overlooks · hidden-passage · bridges · surrounds · gates · linked`, ids-only, normalised against the roster), stored per parent (`domain.locationTopologies`), and signature-gated: when the child roster drifts the topology silently retires until rewoven (`generate-board-topology`, or the weave control in the Drive's Boards tab). The recursive tree gives DEPTH; the topology gives each level its navigable, MMO-map structure. On the Board stage it is one of three lenses — **Map** (the annotated image) · **Topology** (the woven graph) · **Field** (the default usage-ordered rooms). **Phase Reasoning Graph (PRG)** — The meta-machinery layer. A working model of the world's economy, conventions, attractors, agents, rules, pressures, and landmarks — mined from domain context and inherited by every downstream stage (CRG, scene, plan, prose, expansion). The UI calls this the **Phase Graph**; `mode`, `ModePromptArgs`, and `buildModePrompt` remain compatibility aliases for the same artifact. *The PRG describes how the world WORKS; the CRG describes how this arc REASONS within it.* **Variables** — Load-bearing forces (not symptoms) that most reshape a domain's trajectory if they shift. Each variable carries an *intensity* on a 5-level scale: `0 off, 1 weak, 2 mild, 3 strong, 4 extreme`. Variables come in two surfaces: a *present* set (the arc's current load-bearing forces) and a *future* set (the cohort of next-arc futures as coordinations over a shared pool). **Variable Projection** — The probabilistic alternative to causal reasoning. Where a CRG commits to one causal account (what *must* happen and why), variable projection produces a *cohort* of timelines with relative probabilities (what *could* happen, how likely). Each scenario is a pattern of variable intensities; a priorLogit ∈ `[-4, +4]` scores each scenario relative to its siblings; softmax across the cohort yields the displayed probability. **Readings** — The room-facing surface that exposes the current possibility space: the load-bearing variables and the activations they admit. The cohort reads as a set of *readings* over where the story could go next — each a priced next-arc direction. In the UI this is the *Readings view*; in prose we say *the Readings surface* (formerly *Readings*, now retired). ---Open on GitHub
Raw Markdown source