Shared ontology

Ten entities — every system speaks this language.

The ontology is not a database — it is a contract. Any object emitted by a subsystem should be recognizable to the others as one of these ten kinds.

Civilization

owner: civilization-os

Top-level container

Population

owner: life-os

Aggregate of organisms

Resource

owner: material-civilization

Material + energy unit

Institution

owner: decision-os

Stable rule set

Lineage

owner: clan-civilization

Trust-network anchor

Idea

owner: idea-evolution

Replicating cultural pattern

Percept

owner: sensory-os

Predictive inference output

Phase

owner: cycle-engine

Position in a cycle archetype

Realm

owner: psy-protocol-spec

State-machine partition

PhysicalLaw

owner: reality-kernel

Substrate constraint

Type signatures (pseudocode)
type Civilization = {
  id: uuid
  epoch: Phase
  population: Population
  energy: EnergyBudget
  ideology: MemeMix
  institutions: InstitutionGraph
}

type Phase   = "rise" | "peak" | "strain" | "collapse" | "renewal"
type Idea    = { id: uuid; form: string; parents: uuid[]; fitness: 0..1 }
type Realm   = { id: u32; state_root: bytes32; coordinator: address; epoch: u64 }
type Decision = { id: uuid; agent_id: uuid; choice_set: Option[]; outcome: Payoff }