scroll # 🜂 MOON WITNESSING — EVENT FLOW & THINGBOXES ## Overview Data flows continuously. Notall flow is kept. We choose what to witness. A**Moon** is: > a captured event from a livestream, made persistent as a Thing. --- ##🜁 Core Principle > Ephemeral reality →selective capture → persistent memory Allsystems emit events: - commands - statetransitions - deploys - connections - rolls -actions These are not different kinds ofthings. They are: > **events in a stream** ---## 🜃 Event Model An event is: - timestamp -type - context - participants (optional) -outcome (optional) - measurements (optional) -tags (optional) ### Examples #### System Event```yaml type: "ring.promoted" thing:"boot-new-feature" duration_ms: 128 actor:"hex" ``` #### Dice Roll ```yaml type:"dice.rolled" roller: "player-1" die: "d20"result: 17 modifier: +2 context: "combat" ```#### Command Event ```yaml type:"command.invoked" command: "▲ ring swap"args: ["boot-v2", "cosmostack-config","candidate-B"] ``` --- ## 🜄 Layers ofCapture ### 1. Ephemeral Flow - live only -not persisted - used for streaming / logs ---### 2. Moon Things Persisted when: -significant - state-changing - narrativelyrelevant - historically useful Examples: -ring promoted - deploy completed - branchcreated - critical dice roll - player joined--- ### 3. Thing Boxes (Buckets) A Thing Boxis: > a container of related Moon eventsExamples: - session box (all events in asession) - deploy box (all events in a deploywindow) - party box (all rolls/actions for aparty) - command box (operator activity) ---## 🜅 System Architecture ### Event Source -`tracing` (Rust) - emits structured events ###Numeric Layer - `metrics` - counts, durations,gauges ### Moon Layer - custom transformation- selects events → creates Moon Things ###Storage - Moon Things persisted in Things DB -optionally grouped into Thing Boxes --- ##🜆 Classification Not all events becomeMoons. ### Ephemeral - high-frequency noise -internal steps ### Moon-worthy - meaningfultransitions - important outcomes - rare orsignificant events ### Aggregated - collectedinto Boxes for analysis --- ## 🜇 The BucketModel > The system is a river. > We placebuckets where it matters. - tracing = river -metrics = gauges in the river - Moon layer =selective net - Thing Box = bucket on the bank--- ## 🜈 Multi-Domain Unity Same mechanismapplies to: - runtime telemetry - commandexecution - deployment lifecycle - websocketactivity - dice rolls - party actions - gamesessions > One flow. Many event types. --- ##🜉 Observability → Ontology Traditionalsystems: - observe → dashboard Portal: -observe → **becomes part of the world**Events are not just seen. They are: >**remembered as Things** --- ## 🜊 FinalPrinciple > Not everything should be stored. >But what is stored becomes history.