Build specification
Event Model#
Events are immutable facts that something occurred; current state is still queried from aggregates. Every envelope includes event ID/type/version, time, Source/principal, Organization, aggregate ID/version, correlation/causation, access level, and schema-versioned payload.
Catalog#
PLAYER_ARRIVED— aggregate: player; durable.PITCH_STARTED— aggregate: player; durable.PITCH_RESPONSE_RECORDED— aggregate: player; durable.PITCH_RECEIPT_CONFIRMED— aggregate: player; durable.ORIENTATION_UPDATED— aggregate: player; durable.ORIENTATION_ASSIGNED— aggregate: player; durable.ORIENTATION_DISAGREED— aggregate: player; durable.QUEST_OFFERED— aggregate: quest; durable.QUEST_ACCEPTED— aggregate: quest; durable.QUEST_BLOCKED— aggregate: quest; durable.QUEST_COMPLETED— aggregate: quest; durable.SCENE_ENTERED— aggregate: world; durable.SCENE_LEFT— aggregate: world; ephemeral/operational.PORTAL_PREVIEW_AUTHORIZED— aggregate: world; durable.PORTAL_OPENED— aggregate: world; durable.PORTAL_MOVED— aggregate: world; durable.ALLY_CREATED— aggregate: ally; durable.ALLY_PERMISSION_CHANGED— aggregate: ally; durable.ALLY_ACTED— aggregate: ally; durable.PROJECT_CREATED— aggregate: project; durable.PROJECT_JOIN_REQUESTED— aggregate: project; durable.PROJECT_JOINED— aggregate: project; durable.PROJECT_SPACE_EXPANDED— aggregate: project; durable.CONTRIBUTION_CREATED— aggregate: project; durable.CONTRIBUTION_REVISED— aggregate: project; durable.CONTRIBUTION_ACCEPTED— aggregate: project; durable.FUNDING_REQUESTED— aggregate: player; durable.FUNDING_SIGNAL_CAST— aggregate: player; durable.FUNDING_DECISION_RECORDED— aggregate: player; durable.FUNDING_GRANTED— aggregate: player; durable.EXTERNAL_SETTLEMENT_CONFIRMED— aggregate: player; durable.ACTOR_DECISION_CREATED— aggregate: actor; durable.PLAYER_DECISION_RECEIVED— aggregate: player; durable.ACTOR_MESSAGE_SENT— aggregate: actor; durable.ACTOR_MEMORY_UPDATED— aggregate: actor; durable.TIME_ANOMALY_DETECTED— aggregate: player; durable.MYSTERY_INTERPRETATION_RECORDED— aggregate: player; durable.VALUE_FLOW_RECORDED— aggregate: player; durable.CONSENT_CHANGED— aggregate: player; durable.PERMISSION_DENIED— aggregate: player; durable.LEVEL_COMPLETED— aggregate: player; durable.
Delivery#
Local state, Record, and outbox write in one PostgreSQL transaction. Consumers are idempotent by event ID and track cursor/checkpoint. Delivery is at least once; effects are exactly-once at the aggregate boundary through idempotency keys and expected versions. External callbacks create new events and never mutate an earlier one.
High-volume telemetry—camera movement, model tokens, particles, hover—does not enter the operating graph. It uses privacy-safe observability stores unless a durable consequence exists.