Prime Radiant / Schema v0.1 — Couplings

Couplings & Lineage

The graph layer of Prime Radiant is built from two coupling types (intra-era and cross-era) and a lineage system that tracks how machines succeed, branch, and merge across historical time. Cross-era couplings form the load-bearing structure of the simulator — they describe how the Modernity Machine, Divergence Machine, and Liveness Machine are entangled right now.

Coupling (intra-era)

Edges within a single world-machine era. The target_id must share the same parent_machine as the source. Required for all cards with lifecycle_status ≥ proposed.

Field Type Required Notes
id str yes Unique coupling identifier within the card.
target_id str (machine id) yes Same parent_machine as source card. Resolved to a card slug in the graph.
kind CouplingKindIntra enum yes Functional coupling kind within the era graph. Distinct from cross-era typology.
strength float [0,1] optional Edge weight for PageRank. High-strength couplings drive gravitational_type.
temporal_window tuple[int, int|null] optional Active year range. Null second element = ongoing as of authoring. Patched in surface S2.
causal_kind structural | behavioral | associational optional Pearl rung promotion gate.
canon_flag CanonFlag enum yes [CANON], [EXTRAP], or hybrid form.
wave_source str yes Research wave that grounded this coupling.

CrossEraCoupling (10-kind enum)

The target_id must have a DIFFERENT parent_machine from the source. DM cards require ≥1 cross-era coupling; LM cards require ≥3. Patched per oq-6-5.

Value Meaning Observable signal
zombie_dependency Newer era machine needs older; older cannot reproduce conditions Target's zombie_persistence_index > 0.60
adapted_inheritance Older reterritorializes to serve new era delanda_coding delta > 0.30 + machine_lifespan continuity
hostile_inheritance Older actively blocks or taxes newer via OPP position purification_index > 0.60 on older machine
parasitic_extraction Newer extracts older's value flows without sustaining them Older throughput declines; newer grows in same niche
substrate_provision Older's outputs are foundational substrate; no backflow No substitute path; disruption halts newer
sublimation_coupling Newer renders older's OPP irrelevant; passive obsolescence Older's gravitational_type degrades without coupling signal from newer
black_hole_dependency Single-node existential dependency (≥0.85 severity; no viable substitute) Target's gravitational_type = black_hole
withholds_from Directed denial via export controls / sanctions Regulatory/legal action denying access
tool_set_evolution_of Same institutional identity across cards; different tool sets Use only between cards sharing identity_lineage_id
mutualistic_coupling Both sides materially reinforce; symmetric directionality Maps to Bryant Path relation_type: symbiotic; both ends carry same label

Key discriminator: mutualistic_coupling is symmetric — both machines reinforce each other. adapted_inheritance is asymmetric — the older reterritorializes to serve the newer, with no required backflow. Conflating them is the most common cross-era authoring error.

CrossEraCoupling additional fields

FieldTypeRequiredNotes
path_type corporeal | technological | semiotic | energetic yes Orthogonal to kind. Determines programmer-machine Castells rule.
temporal_window tuple[int, int|null] yes Cross-era temporal_window is required (unlike intra-era where it is optional).
strength float [0,1] yes Required on cross-era couplings.
confidence float [0,1] yes Confidence < 0.5 implies canon_flag = [EXTRAP].
observable_signal str optional Qualitative discriminator — the empirical observable that would distinguish this coupling kind from an alternative.

Lineage & Succession

When a machine structurally transforms enough that it requires a new card, the successor_of / preceded_by chain links the two cards. The identity_lineage_id groups all cards in a chain under a single UUID cluster.

FieldTypeRequiredNotes
successor_of list[str] optional Predecessor card ids. List supports merger patterns (≥2 predecessors).
preceded_by list[str] optional Successor card ids. List supports branching patterns.
identity_lineage_id str (UUID) required if successor_of non-empty Shared across entire lineage chain. Enables cross-card lineage graph traversal.
succession_type SuccessionType (9 values) required if successor_of non-empty evolution deliberately absent — use adaptation instead.
succession_date_range tuple[int, int] required if successor_of non-empty Typology break spans 5–20 years.
typology_break_pattern list[TypologyBreakPattern] required (≥1; canonically ≥2) What structurally changed to require a new card.
lineage_substrate institutional | technical_memory | hybrid required if successor_of non-empty Per Stiegler: technical_memory lineages are susceptible to proletarianization_terminus.

SuccessionType enum — 9 values

ValueMeaning
substitutionNiche matures and displaces predecessor (predecessor expires independently)
adaptationPredecessor restructures under pressure; restructured form requires new card
hostile_takeoverSuccessor captures predecessor's infrastructure; predecessor dissolves into successor
branchingOne predecessor → ≥2 simultaneous successors; all share identity_lineage_id
mergerTwo predecessors → one successor
vestigialPredecessor persists as Dusk zombie while successor takes function
crypto_continuationStructurally continuous but genealogical link denied
de_alignment_reconfigShock collapses predecessor pre-successor-ready; interregnum then re-alignment
proletarianization_terminusLineage terminates while artifact persists; no living competence re-internalizes (Stiegler)

TypologyBreakPattern enum — 6 values

ValueMeaning
substrate_replacementThe material substrate the machine runs on has changed
substrate_additionA new substrate layer was added without removing the old one
input_set_replacementPrimary inputs have been fundamentally replaced
output_category_replacementThe category of outputs produced has shifted
coupling_typology_shiftThe dominant coupling kind to other machines has changed
operational_grammar_collapseThe machine's operational grammar has been replaced wholesale