Skip to content

observatory.replay

The recording of the mesh scenes the repository carries at .ai/repo/observatory/recording.json, which the Observatory draws, labelled as a replay, where no mesh runs. Absent is present: false; a file that cannot be read is an error.

The recording of the mesh scenes the repository carries at .ai/repo/observatory/recording.json, which the Observatory draws, labelled as a replay, where no mesh runs. Absent is present: false; a file that cannot be read is an error.

Exposure

Where this one definition is reachable. Absence is explicit: a surface not listed does not carry it.

surfaceas
MCPtool majordomus_observatory_replay
HTTPGET /api/v1/observatory/replay operationId observatory.replay
command line—

Schemas

The canonical input and output, from the Rust types; the MCP tool schema and the OpenAPI parameters and responses are derived from these.

input · Empty

No input.

No properties: the capability takes no input.

JSON Schema
{
  "additionalProperties": false,
  "description": "No input.",
  "title": "Empty",
  "type": "object"
}

output · ObservatoryReplay

The recording the repository carries, or that it carries none.

use majordomus_cli::capability::builtin::observatory::{replay_at, ObservatoryReplay, RECORDING};
let dir = tempfile::tempdir().unwrap();
let none: ObservatoryReplay = replay_at(dir.path()).unwrap();
assert!(!none.present && none.recording.is_none());
assert_eq!(none.path, RECORDING);
propertytyperequireddescription
path string yes The file it is read from.
present boolean yes Whether the repository carries a recording.
recording one of 2 no The recording.
JSON Schema
{
  "$defs": {
    "ObservatoryRecording": {
      "description": "The mesh scenes of one process at one moment, fit for publication.\n\n```\nuse majordomus_cli::capability::builtin::observatory::ObservatoryRecording;\nlet r: ObservatoryRecording = serde_json::from_value(serde_json::json!({\n    \"schema\": \"observatory-recording/v1\", \"recorded_at\": \"2026-10-14T05:00:00Z\", \"scenes\": {},\n    \"manifest\": { \"sources\": [], \"removed\": [] },\n})).unwrap();\nassert!(r.scenes.is_empty() && r.revision.is_none());\n```",
      "properties": {
        "manifest": {
          "$ref": "#/$defs/RecordingManifest",
          "description": "What the recording is a record of, and what it leaves out."
        },
        "recorded_at": {
          "description": "When the scenes were read.",
          "type": "string"
        },
        "revision": {
          "description": "The commit the recording process stood at, short; absent when it could not say.",
          "type": [
            "string",
            "null"
          ]
        },
        "scenes": {
          "additionalProperties": true,
          "description": "Each recorded scene's model, by scene id; a scene the process had nothing live for is\nabsent, never empty.",
          "type": "object"
        },
        "schema": {
          "description": "`RECORDING_SCHEMA`.",
          "type": "string"
        }
      },
      "required": [
        "schema",
        "recorded_at",
        "scenes",
        "manifest"
      ],
      "type": "object"
    },
    "RecordingManifest": {
      "description": "What a recording is a record of: the capabilities read, the window of events it holds,\nand what was removed from what they answered, with the reason.\n\n```\nuse majordomus_cli::capability::builtin::observatory::RecordingManifest;\nlet m: RecordingManifest = serde_json::from_value(serde_json::json!({\n    \"sources\": [\"mesh.events\"], \"removed\": [\"event bodies\"],\n})).unwrap();\nassert!(m.window.is_none(), \"a recording that holds no event has no window\");\n```",
      "properties": {
        "removed": {
          "description": "Every kind of thing removed before publication, and why.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "sources": {
          "description": "The capabilities whose answers the recorded scenes were projected from.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "window": {
          "anyOf": [
            {
              "$ref": "#/$defs/RecordingWindow"
            },
            {
              "type": "null"
            }
          ],
          "description": "The first and last event the recording holds, by time and by logical clock; absent\nwhen it holds none."
        }
      },
      "required": [
        "sources",
        "removed"
      ],
      "type": "object"
    },
    "RecordingWindow": {
      "description": "The events a recording holds, from first to last.\n\n```\nuse majordomus_cli::capability::builtin::observatory::RecordingWindow;\nlet w = RecordingWindow { events: 2, from_at: Some(100), to_at: Some(160), from_lamport: Some(9), to_lamport: Some(10) };\nassert_eq!(w.to_at.unwrap() - w.from_at.unwrap(), 60, \"a minute of the journal\");\n```",
      "properties": {
        "events": {
          "description": "How many events.",
          "format": "uint",
          "minimum": 0,
          "type": "integer"
        },
        "from_at": {
          "description": "The earliest event's time, in seconds since the epoch.",
          "format": "uint64",
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "from_lamport": {
          "description": "The smallest logical clock.",
          "format": "uint64",
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "to_at": {
          "description": "The latest event's time, in seconds since the epoch.",
          "format": "uint64",
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        },
        "to_lamport": {
          "description": "The largest logical clock.",
          "format": "uint64",
          "minimum": 0,
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "required": [
        "events"
      ],
      "type": "object"
    }
  },
  "description": "The recording the repository carries, or that it carries none.\n\n```\nuse majordomus_cli::capability::builtin::observatory::{replay_at, ObservatoryReplay, RECORDING};\nlet dir = tempfile::tempdir().unwrap();\nlet none: ObservatoryReplay = replay_at(dir.path()).unwrap();\nassert!(!none.present && none.recording.is_none());\nassert_eq!(none.path, RECORDING);\n```",
  "properties": {
    "path": {
      "description": "The file it is read from.",
      "type": "string"
    },
    "present": {
      "description": "Whether the repository carries a recording.",
      "type": "boolean"
    },
    "recording": {
      "anyOf": [
        {
          "$ref": "#/$defs/ObservatoryRecording"
        },
        {
          "type": "null"
        }
      ],
      "description": "The recording."
    }
  },
  "required": [
    "present",
    "path"
  ],
  "title": "ObservatoryReplay",
  "type": "object"
}

Policies

benchmark
required — a target on every transport the exposure declares; the cases are the input type's
cache
disabled — every call runs the handler

Benchmark targets

Derived from the registry for this repository: one requirement per transport, and the cases the input type provides. The whole matrix is on the benchmarks page.

transportstatecasestargets
directcovered1default
mcpcovered1default
httpcovered1default

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