{
  "arm": "counterfactual",
  "cast": {
    "how_characters_are_named": "Colony characters draw their names from one shared pool when a world is made. These two are the names this seed produced.",
    "name_pool_size": 100,
    "not_drawn_from_this_pool": "Authored story characters are separate from the colony and are deliberately excluded from this trace, which is about ordinary colony life.",
    "pool_examples": [
      "Moss",
      "Wisp",
      "Brindle",
      "Pebble",
      "Vale",
      "Fenn",
      "Briar",
      "Loam"
    ],
    "why_the_names_differ_between_runs": "A different seed tells the same story with different characters. That is the design, not an inconsistency: no two colonies are the same."
  },
  "characters": [
    {
      "display_name": "Aster",
      "ref": "A",
      "role": "won three chase legs; in this arm the belief was cleared before the shared event"
    },
    {
      "display_name": "Ember",
      "ref": "B",
      "role": "won two chase legs; the belief never took root"
    }
  ],
  "claim_under_test": "A held belief, and only a held belief, turns one world event into a different response.",
  "counterfactual": {
    "applied": true,
    "changed": "one self-belief row on Aster set to held=false, conviction unchanged",
    "everything_else": "same seed, same world events, same schedule, same bodies, same code path"
  },
  "duration_s": 133.883,
  "notes": [
    "Counterfactual arm: one belief row on Aster was set held=false before the shared event. No other value was edited and nothing downstream was written by hand."
  ],
  "outcome": {
    "A": {
      "action": "carries on unchanged; the same loss lands as an ordinary moment",
      "because": "A.belief@109.8",
      "biography_row": "",
      "conviction": 3,
      "display_name": "Aster",
      "holds_belief": false,
      "spoke_at_the_shared_event": false,
      "times_shaken": 0
    },
    "B": {
      "action": "carries on unchanged; the same loss lands as an ordinary moment",
      "because": "B.belief@109.8",
      "biography_row": "",
      "conviction": 2,
      "display_name": "Ember",
      "holds_belief": false,
      "spoke_at_the_shared_event": false,
      "times_shaken": 0
    }
  },
  "run_conditions": {
    "beat_states": [
      {
        "behaviour": "idle",
        "brain_enabled": true,
        "character": "A",
        "puppet_mode": false,
        "t": 94.309
      },
      {
        "behaviour": "idle",
        "brain_enabled": true,
        "character": "A",
        "puppet_mode": false,
        "t": 96.322
      },
      {
        "behaviour": "move to job",
        "brain_enabled": true,
        "character": "B",
        "puppet_mode": false,
        "t": 98.328
      },
      {
        "behaviour": "move to job",
        "brain_enabled": true,
        "character": "B",
        "puppet_mode": false,
        "t": 100.334
      },
      {
        "behaviour": "idle",
        "brain_enabled": true,
        "character": "A",
        "puppet_mode": false,
        "t": 102.335
      },
      {
        "behaviour": "idle",
        "brain_enabled": true,
        "character": "A",
        "puppet_mode": false,
        "t": 106.839
      },
      {
        "behaviour": "move to job",
        "brain_enabled": true,
        "character": "B",
        "puppet_mode": false,
        "t": 106.839
      },
      {
        "behaviour": "idle",
        "brain_enabled": true,
        "character": "A",
        "puppet_mode": false,
        "t": 109.843
      },
      {
        "behaviour": "move to job",
        "brain_enabled": true,
        "character": "B",
        "puppet_mode": false,
        "t": 109.844
      }
    ],
    "behaviour_transitions": 19,
    "distinct_behaviour_labels": [
      "do job",
      "gather",
      "haul",
      "idle",
      "move to job",
      "socialize"
    ],
    "each_character_was_self_directed": true,
    "live_window_s": 90,
    "mind_enabled": true,
    "per_character": {
      "A": {
        "awareness": 0.08021,
        "awareness_tier": "Sensation",
        "behaviour_transitions": 8,
        "borrowed_by_a_director_fraction_of_live_window": 0.344444,
        "meaning_events_observed": 14,
        "mind_enabled_standing_intent": true,
        "samples": 90,
        "self_directed_fraction_of_live_window": 0.655556
      },
      "B": {
        "awareness": 0.080194,
        "awareness_tier": "Sensation",
        "behaviour_transitions": 11,
        "borrowed_by_a_director_fraction_of_live_window": 0.111111,
        "meaning_events_observed": 14,
        "mind_enabled_standing_intent": true,
        "samples": 90,
        "self_directed_fraction_of_live_window": 0.888889
      }
    },
    "self_directed_at_every_traced_beat": true,
    "self_directed_fraction_of_live_window": 0.655556,
    "traced_character_acted": true,
    "what_puppet_mode_means": "A director may borrow a body for a scripted moment (a shared meal, a ceremony). While borrowed, the body's own brain is held and its standing intent to be self-directed is untouched. Sampled once a second across the whole run rather than read once at the end."
  },
  "scenario": "swift-belief-divergence",
  "schema": "cri_public_trace_v1",
  "seed": 99999,
  "stage_coverage": {
    "action": {
      "present": true,
      "system": "the shared identity beat, read back off the body"
    },
    "appraisal": {
      "present": true,
      "system": "the single event-to-personality classifier: channel, valence, axis delta"
    },
    "belief": {
      "present": true,
      "system": "typed self-beliefs: conviction, doubt, and whether the idea is held"
    },
    "decision": {
      "how_many_places_write_one": 1,
      "note": "NOT ON THIS CHAIN. A behaviour receipt is written by exactly one place in the runtime: a character walking over to comfort a peer. Its stated reason is composed from a held belief about that peer (\"believes <name> is <state>\"), so it is belief-gated decision-making - simply a different chain from the identity belief traced here, where the gate is a direct branch rather than a plan. No comfort errand began during this run, so no specimen is included; the stage is reported from the code rather than from an observation.",
      "observed_off_chain": false,
      "present": false,
      "specimen_from_this_run": {},
      "system": "the behaviour receipt: intent, reason, plan, fallback"
    },
    "discovery": {
      "note": "NOT SEPARATELY REPRESENTED HERE. In this scenario the contradicting evidence IS the discovery and is recorded as the perception of a lost leg. A distinct trait-discovery event exists in the runtime for quirks and did not fire in this window.",
      "present": false,
      "system": ""
    },
    "experience": {
      "present": true,
      "system": "the body's own belief store, bounded and saved with the character"
    },
    "goal": {
      "note": "NOT ON THIS CHAIN, and real. Goal selection is driven by need pressure - hunger, energy, company - not by this belief. The identity belief gates a RESPONSE directly and never selects a want, so no goal step appears in the chain traced here. Reported as absent from the chain rather than invented into it. The reading above was taken from a watched character during this run.",
      "observed_off_chain": true,
      "present": false,
      "specimen_from_this_run": {
        "character": "A",
        "chosen_behaviour": "idle",
        "stated_reason": "recovered or completed action",
        "t": 1.004,
        "top_need": "none pressing",
        "top_need_pressure": 0
      },
      "system": "need pressure selecting the current want"
    },
    "perception": {
      "present": true,
      "system": "the chase game's catch seam into the body"
    },
    "revision": {
      "present": true,
      "system": "the meaning event bus into the character's own memory; the belief un-holds and the axis moves"
    }
  },
  "step_id_format": "<character>.<stage>@<seconds>; every step's derived_from names step ids from this file",
  "steps": [
    {
      "character": "A",
      "derived_from": [],
      "id": "A.perception@94.3",
      "stage": "perception",
      "summary": "Aster lives the moment: A outruns the chaser for a whole leg.",
      "system": "the chase game's own catch seam",
      "t": 94.309,
      "values": {
        "channel": "direct_experience",
        "from_event": "e1",
        "outcome": "won"
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.perception@94.3"
      ],
      "id": "A.experience@94.3",
      "stage": "experience",
      "summary": "The leg is stored as lived evidence for the idea that Aster is the fast one.",
      "system": "the body's own belief store, bounded and saved with the character",
      "t": 94.309,
      "values": {
        "awareness_at_store": 0.080162
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.experience@94.3"
      ],
      "id": "A.belief@94.3",
      "stage": "belief",
      "summary": "Conviction rises to 1 of the 3 the belief needs; nothing is held yet.",
      "system": "typed self-beliefs: an idea takes root after three pieces of evidence and lets go after two contradictions in a row",
      "t": 94.309,
      "values": {
        "conviction": 1,
        "doubt": 0,
        "held": false,
        "held_before": false,
        "shaken_count": 0,
        "trait": "swift"
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.belief@94.3"
      ],
      "id": "A.action@94.3",
      "stage": "action",
      "summary": "Aster carries on unchanged: nothing is held, so the same moment has no idea to contradict.",
      "system": "the belief gate: with nothing held, there is nothing to contradict",
      "t": 94.309,
      "values": {
        "beat_played": false,
        "reason": "no_belief_held"
      }
    },
    {
      "character": "A",
      "derived_from": [],
      "id": "A.perception@96.3",
      "stage": "perception",
      "summary": "Aster lives the moment: A outruns the chaser again.",
      "system": "the chase game's own catch seam",
      "t": 96.322,
      "values": {
        "channel": "direct_experience",
        "from_event": "e2",
        "outcome": "won"
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.perception@96.3"
      ],
      "id": "A.experience@96.3",
      "stage": "experience",
      "summary": "The leg is stored as lived evidence for the idea that Aster is the fast one.",
      "system": "the body's own belief store, bounded and saved with the character",
      "t": 96.322,
      "values": {
        "awareness_at_store": 0.080162
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.belief@94.3",
        "A.experience@96.3"
      ],
      "id": "A.belief@96.3",
      "stage": "belief",
      "summary": "Conviction rises to 2 of the 3 the belief needs; nothing is held yet.",
      "system": "typed self-beliefs: an idea takes root after three pieces of evidence and lets go after two contradictions in a row",
      "t": 96.322,
      "values": {
        "conviction": 2,
        "doubt": 0,
        "held": false,
        "held_before": false,
        "shaken_count": 0,
        "trait": "swift"
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.belief@96.3"
      ],
      "id": "A.action@96.3",
      "stage": "action",
      "summary": "Aster carries on unchanged: nothing is held, so the same moment has no idea to contradict.",
      "system": "the belief gate: with nothing held, there is nothing to contradict",
      "t": 96.322,
      "values": {
        "beat_played": false,
        "reason": "no_belief_held"
      }
    },
    {
      "character": "B",
      "derived_from": [],
      "id": "B.perception@98.3",
      "stage": "perception",
      "summary": "Ember lives the moment: B outruns the chaser for a whole leg.",
      "system": "the chase game's own catch seam",
      "t": 98.328,
      "values": {
        "channel": "direct_experience",
        "from_event": "e3",
        "outcome": "won"
      }
    },
    {
      "character": "B",
      "derived_from": [
        "B.perception@98.3"
      ],
      "id": "B.experience@98.3",
      "stage": "experience",
      "summary": "The leg is stored as lived evidence for the idea that Ember is the fast one.",
      "system": "the body's own belief store, bounded and saved with the character",
      "t": 98.328,
      "values": {
        "awareness_at_store": 0.080166
      }
    },
    {
      "character": "B",
      "derived_from": [
        "B.experience@98.3"
      ],
      "id": "B.belief@98.3",
      "stage": "belief",
      "summary": "Conviction rises to 1 of the 3 the belief needs; nothing is held yet.",
      "system": "typed self-beliefs: an idea takes root after three pieces of evidence and lets go after two contradictions in a row",
      "t": 98.328,
      "values": {
        "conviction": 1,
        "doubt": 0,
        "held": false,
        "held_before": false,
        "shaken_count": 0,
        "trait": "swift"
      }
    },
    {
      "character": "B",
      "derived_from": [
        "B.belief@98.3"
      ],
      "id": "B.action@98.3",
      "stage": "action",
      "summary": "Ember carries on unchanged: nothing is held, so the same moment has no idea to contradict.",
      "system": "the belief gate: with nothing held, there is nothing to contradict",
      "t": 98.328,
      "values": {
        "beat_played": false,
        "reason": "no_belief_held"
      }
    },
    {
      "character": "B",
      "derived_from": [],
      "id": "B.perception@100.3",
      "stage": "perception",
      "summary": "Ember lives the moment: B outruns the chaser again.",
      "system": "the chase game's own catch seam",
      "t": 100.334,
      "values": {
        "channel": "direct_experience",
        "from_event": "e4",
        "outcome": "won"
      }
    },
    {
      "character": "B",
      "derived_from": [
        "B.perception@100.3"
      ],
      "id": "B.experience@100.3",
      "stage": "experience",
      "summary": "The leg is stored as lived evidence for the idea that Ember is the fast one.",
      "system": "the body's own belief store, bounded and saved with the character",
      "t": 100.334,
      "values": {
        "awareness_at_store": 0.080166
      }
    },
    {
      "character": "B",
      "derived_from": [
        "B.belief@98.3",
        "B.experience@100.3"
      ],
      "id": "B.belief@100.3",
      "stage": "belief",
      "summary": "Conviction rises to 2 of the 3 the belief needs; nothing is held yet.",
      "system": "typed self-beliefs: an idea takes root after three pieces of evidence and lets go after two contradictions in a row",
      "t": 100.334,
      "values": {
        "conviction": 2,
        "doubt": 0,
        "held": false,
        "held_before": false,
        "shaken_count": 0,
        "trait": "swift"
      }
    },
    {
      "character": "B",
      "derived_from": [
        "B.belief@100.3"
      ],
      "id": "B.action@100.3",
      "stage": "action",
      "summary": "Ember carries on unchanged: nothing is held, so the same moment has no idea to contradict.",
      "system": "the belief gate: with nothing held, there is nothing to contradict",
      "t": 100.334,
      "values": {
        "beat_played": false,
        "reason": "no_belief_held"
      }
    },
    {
      "character": "A",
      "derived_from": [],
      "id": "A.perception@102.3",
      "stage": "perception",
      "summary": "Aster lives the moment: A outruns the chaser a third time — B is elsewhere.",
      "system": "the chase game's own catch seam",
      "t": 102.335,
      "values": {
        "channel": "direct_experience",
        "from_event": "e5",
        "outcome": "won"
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.perception@102.3"
      ],
      "id": "A.experience@102.3",
      "stage": "experience",
      "summary": "The leg is stored as lived evidence for the idea that Aster is the fast one.",
      "system": "the body's own belief store, bounded and saved with the character",
      "t": 102.335,
      "values": {
        "awareness_at_store": 0.080182
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.belief@96.3",
        "A.experience@102.3"
      ],
      "id": "A.belief@102.3",
      "stage": "belief",
      "summary": "Aster now holds the belief: three legs of evidence, and the idea takes root.",
      "system": "typed self-beliefs: an idea takes root after three pieces of evidence and lets go after two contradictions in a row",
      "t": 102.335,
      "values": {
        "conviction": 3,
        "doubt": 0,
        "held": true,
        "held_before": false,
        "shaken_count": 0,
        "trait": "swift"
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.belief@102.3"
      ],
      "id": "A.appraisal@102.3",
      "stage": "appraisal",
      "summary": "The moment is weighted: novelty channel, valence positive, pushing boldness by 0.50.",
      "system": "the single classifier that turns a lived event into personality pressure",
      "t": 102.335,
      "values": {
        "axis": "boldness",
        "axis_delta": 0.5,
        "channel": "novelty",
        "meaning_channels": [
          "self_regulation",
          "continuity"
        ],
        "salience": 0.05,
        "valence": 1
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.appraisal@102.3"
      ],
      "id": "A.action@102.3",
      "stage": "action",
      "summary": "Aster settles into the idea, says \"I'm fast!\".",
      "system": "the shared identity beat",
      "t": 102.335,
      "values": {
        "beat": "mint",
        "beat_played": true,
        "biography_row": "",
        "mood": "happy",
        "spoke": true,
        "spoken_line": "I'm fast!"
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.action@102.3"
      ],
      "id": "A.revision@102.3",
      "stage": "revision",
      "summary": "The moment re-enters Aster's own mind: awareness +0.000020 on the novelty channel, and the memory is kept. Awareness is a slow accumulation by design, so one moment moves it only a little.",
      "system": "the meaning event bus, back into the character's own memory",
      "t": 102.335,
      "values": {
        "awareness": 0.080182,
        "awareness_delta": 0.00002,
        "event_kind": "self_belief_formed",
        "novelty": 0.5,
        "tier_name": "Sensation"
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.belief@102.3"
      ],
      "id": "A.belief@103.8",
      "stage": "belief",
      "summary": "Aster's belief is set as if the third chase win had not been witnessed: the row keeps its conviction, but the idea is no longer held.",
      "system": "counterfactual edit, applied through the save and restore seam",
      "t": 103.839,
      "values": {
        "conviction": 3,
        "held_after": false,
        "held_before": true
      }
    },
    {
      "character": "A",
      "derived_from": [],
      "id": "A.perception@106.8",
      "stage": "perception",
      "summary": "Aster lives the moment: A is caught.",
      "system": "the chase game's own catch seam",
      "t": 106.839,
      "values": {
        "channel": "direct_experience",
        "from_event": "e6",
        "outcome": "lost"
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.perception@106.8"
      ],
      "id": "A.experience@106.8",
      "stage": "experience",
      "summary": "The leg is stored as lived evidence against the idea that Aster is the fast one.",
      "system": "the body's own belief store, bounded and saved with the character",
      "t": 106.839,
      "values": {
        "awareness_at_store": 0.08021
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.belief@102.3",
        "A.experience@106.8"
      ],
      "id": "A.belief@106.8",
      "stage": "belief",
      "summary": "Nothing to contradict: Aster holds no belief about being the fast one, so the loss lands as an ordinary event.",
      "system": "typed self-beliefs: an idea takes root after three pieces of evidence and lets go after two contradictions in a row",
      "t": 106.839,
      "values": {
        "conviction": 3,
        "doubt": 0,
        "held": false,
        "held_before": false,
        "shaken_count": 0,
        "trait": "swift"
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.belief@106.8"
      ],
      "id": "A.action@106.8",
      "stage": "action",
      "summary": "Aster carries on unchanged: nothing is held, so the same moment has no idea to contradict.",
      "system": "the belief gate: with nothing held, there is nothing to contradict",
      "t": 106.839,
      "values": {
        "beat_played": false,
        "reason": "no_belief_held"
      }
    },
    {
      "character": "B",
      "derived_from": [],
      "id": "B.perception@106.8",
      "stage": "perception",
      "summary": "Ember lives the moment: B is caught.",
      "system": "the chase game's own catch seam",
      "t": 106.839,
      "values": {
        "channel": "direct_experience",
        "from_event": "e7",
        "outcome": "lost"
      }
    },
    {
      "character": "B",
      "derived_from": [
        "B.perception@106.8"
      ],
      "id": "B.experience@106.8",
      "stage": "experience",
      "summary": "The leg is stored as lived evidence against the idea that Ember is the fast one.",
      "system": "the body's own belief store, bounded and saved with the character",
      "t": 106.839,
      "values": {
        "awareness_at_store": 0.080194
      }
    },
    {
      "character": "B",
      "derived_from": [
        "B.belief@100.3",
        "B.experience@106.8"
      ],
      "id": "B.belief@106.8",
      "stage": "belief",
      "summary": "Nothing to contradict: Ember holds no belief about being the fast one, so the loss lands as an ordinary event.",
      "system": "typed self-beliefs: an idea takes root after three pieces of evidence and lets go after two contradictions in a row",
      "t": 106.839,
      "values": {
        "conviction": 2,
        "doubt": 0,
        "held": false,
        "held_before": false,
        "shaken_count": 0,
        "trait": "swift"
      }
    },
    {
      "character": "B",
      "derived_from": [
        "B.belief@106.8"
      ],
      "id": "B.action@106.8",
      "stage": "action",
      "summary": "Ember carries on unchanged: nothing is held, so the same moment has no idea to contradict.",
      "system": "the belief gate: with nothing held, there is nothing to contradict",
      "t": 106.839,
      "values": {
        "beat_played": false,
        "reason": "no_belief_held"
      }
    },
    {
      "character": "A",
      "derived_from": [],
      "id": "A.perception@109.8",
      "stage": "perception",
      "summary": "Aster lives the moment: A is caught again.",
      "system": "the chase game's own catch seam",
      "t": 109.843,
      "values": {
        "channel": "direct_experience",
        "from_event": "e8",
        "outcome": "lost"
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.perception@109.8"
      ],
      "id": "A.experience@109.8",
      "stage": "experience",
      "summary": "The leg is stored as lived evidence against the idea that Aster is the fast one.",
      "system": "the body's own belief store, bounded and saved with the character",
      "t": 109.843,
      "values": {
        "awareness_at_store": 0.08021
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.belief@106.8",
        "A.experience@109.8"
      ],
      "id": "A.belief@109.8",
      "stage": "belief",
      "summary": "Nothing to contradict: Aster holds no belief about being the fast one, so the loss lands as an ordinary event.",
      "system": "typed self-beliefs: an idea takes root after three pieces of evidence and lets go after two contradictions in a row",
      "t": 109.843,
      "values": {
        "conviction": 3,
        "doubt": 0,
        "held": false,
        "held_before": false,
        "shaken_count": 0,
        "trait": "swift"
      }
    },
    {
      "character": "A",
      "derived_from": [
        "A.belief@109.8"
      ],
      "id": "A.action@109.8",
      "stage": "action",
      "summary": "Aster carries on unchanged: nothing is held, so the same moment has no idea to contradict.",
      "system": "the belief gate: with nothing held, there is nothing to contradict",
      "t": 109.843,
      "values": {
        "beat_played": false,
        "reason": "no_belief_held"
      }
    },
    {
      "character": "B",
      "derived_from": [],
      "id": "B.perception@109.8",
      "stage": "perception",
      "summary": "Ember lives the moment: B is caught again.",
      "system": "the chase game's own catch seam",
      "t": 109.844,
      "values": {
        "channel": "direct_experience",
        "from_event": "e9",
        "outcome": "lost"
      }
    },
    {
      "character": "B",
      "derived_from": [
        "B.perception@109.8"
      ],
      "id": "B.experience@109.8",
      "stage": "experience",
      "summary": "The leg is stored as lived evidence against the idea that Ember is the fast one.",
      "system": "the body's own belief store, bounded and saved with the character",
      "t": 109.844,
      "values": {
        "awareness_at_store": 0.080194
      }
    },
    {
      "character": "B",
      "derived_from": [
        "B.belief@106.8",
        "B.experience@109.8"
      ],
      "id": "B.belief@109.8",
      "stage": "belief",
      "summary": "Nothing to contradict: Ember holds no belief about being the fast one, so the loss lands as an ordinary event.",
      "system": "typed self-beliefs: an idea takes root after three pieces of evidence and lets go after two contradictions in a row",
      "t": 109.844,
      "values": {
        "conviction": 2,
        "doubt": 0,
        "held": false,
        "held_before": false,
        "shaken_count": 0,
        "trait": "swift"
      }
    },
    {
      "character": "B",
      "derived_from": [
        "B.belief@109.8"
      ],
      "id": "B.action@109.8",
      "stage": "action",
      "summary": "Ember carries on unchanged: nothing is held, so the same moment has no idea to contradict.",
      "system": "the belief gate: with nothing held, there is nothing to contradict",
      "t": 109.844,
      "values": {
        "beat_played": false,
        "reason": "no_belief_held"
      }
    }
  ],
  "tick_rate_hz": 60,
  "world_events": [
    {
      "id": "e1",
      "kind": "chase_leg_won",
      "public": true,
      "summary": "A outruns the chaser for a whole leg",
      "t": 94.309,
      "witnessed_by": [
        "A"
      ]
    },
    {
      "id": "e2",
      "kind": "chase_leg_won",
      "public": true,
      "summary": "A outruns the chaser again",
      "t": 96.322,
      "witnessed_by": [
        "A"
      ]
    },
    {
      "id": "e3",
      "kind": "chase_leg_won",
      "public": true,
      "summary": "B outruns the chaser for a whole leg",
      "t": 98.328,
      "witnessed_by": [
        "B"
      ]
    },
    {
      "id": "e4",
      "kind": "chase_leg_won",
      "public": true,
      "summary": "B outruns the chaser again",
      "t": 100.334,
      "witnessed_by": [
        "B"
      ]
    },
    {
      "id": "e5",
      "kind": "chase_leg_won",
      "public": true,
      "summary": "A outruns the chaser a third time — B is elsewhere",
      "t": 102.335,
      "witnessed_by": [
        "A"
      ]
    },
    {
      "id": "e6",
      "kind": "chase_leg_lost",
      "public": true,
      "summary": "A is caught",
      "t": 106.839,
      "witnessed_by": [
        "A"
      ]
    },
    {
      "id": "e7",
      "kind": "chase_leg_lost",
      "public": true,
      "summary": "B is caught",
      "t": 106.839,
      "witnessed_by": [
        "B"
      ]
    },
    {
      "id": "e8",
      "kind": "chase_leg_lost",
      "public": true,
      "summary": "A is caught again",
      "t": 109.843,
      "witnessed_by": [
        "A"
      ]
    },
    {
      "id": "e9",
      "kind": "chase_leg_lost",
      "public": true,
      "summary": "B is caught again",
      "t": 109.844,
      "witnessed_by": [
        "B"
      ]
    }
  ]
}
