Skip to content

I2678 — The public Observatory replays events that were recorded, and says it is a replay

Let the three scenes of the mesh move on the public site without inventing a single event: from a capture of real events, redacted, with its manifest, labelled as a recorded replay with its original times.

DONE wave 0 · p2 · implementation profile · parallel safe

Part of development-runtime — The runtime has a development surface.

Objective

Let the three scenes of the mesh move on the public site without inventing a single event: from a capture of real events, redacted, with its manifest, labelled as a recorded replay with its original times.

Why

ADR 0158 refuses a scene drawn from anything that was not read, and the process that takes the public snapshot runs no mesh, so on majordomus.dev the scenes mesh, activity and coop are unavailable. The owner's specification of 2026-10-14 allows exactly one way to show them there: a replay of genuinely recorded events, never labelled live.

Current state

The snapshot of /ui/observatory names mesh, activity and coop as unavailable with the reason mesh.peers gives in a process without a mesh. No capture of mesh events is tracked, and no capability answers one.

Desired state

A capture is a tracked, redacted record of real mesh events with a manifest: the window, the source capabilities, the original identities, what was removed and why. A capability answers it, the Observatory draws it under the words RECORDED REPLAY with the events' own times, and without a capture the scenes stay unavailable.

Scope

  • apps/majordomus-cli/src/ui/observatory.rs
  • share/ui/observatory.js
  • docs/MAJORDOMUS_UI.md
  • .ai/repo/project/issues/I2678.yaml

Out of scope

  • Synthetic events of any kind outside a test harness
  • Publishing intents, paths or message bodies of the mesh: an event stays its identity, kind, node and times

Dependencies

None. This issue is a root of the graph.

Acceptance criteria

  • The public snapshot draws the mesh scenes only from a capture whose manifest it names, under a label that says replay, with the original times
  • A capture with an event whose source record is absent is refused, and the refusal names the event
  • Without a capture the three scenes are unavailable, as case 3011 holds today

Validation

  • bin/majordomus plan validate
  • bash test/run.sh 3011_the_observatory_draws_nothing_it_did_not_read

Evidence required

  • recorded_replay_case

Evidence

coverstypecommandresultat commit
recorded_replay_casetestbash test/run.sh 3011_the_observatory_draws_nothing_it_did_not_readok (run 2026-10-14 on 753449f908, part of #1129's 7 cases): a mesh scene replays the recording labelled with when it was recorded and its manifest's sources; scenes the recording does not carry stay unavailable; a broken recording is a failed source2ca25bb

Timeline

started
2026-10-14T12:31:15Z
verified
—
completed
2026-10-14T12:31:34Z

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I2678.yaml. Read it back with majordomus plan show I2678.

Searches the titles and descriptions of every page this site publishes.