Meetily

Recording observation

Resolve a stopped recording to one of seven states using the capture-session correlation triple.

A stopped recording resolves to exactly one of seven states. This page documents that state model.

Contract, not yet a live route

The observation endpoint - GET /v1/recordings/{captureSession}/observation, read-only - is a defined contract that this release does not yet expose as a callable route (it is not in the OpenAPI manifest). The state model below is stable and describes how a stopped recording is classified; treat the endpoint itself as forthcoming and do not depend on calling it yet. In the meantime, observe recording lifecycle through the recording.* events.

The seven states

StateMeaning
captureStoppedCapture ended. No save attempt observed yet.
awaitingSaveA headless save ticket is outstanding, not yet committed.
savedA durable, committed save artifact exists for this capture session. Only this state certifies a save - a seeded meeting row is not a save.
failedA save was attempted and rolled back. The ticket is retained so a retry can reuse it.
deletedThe meeting was deleted. A late save must not resurrect it, so a deleted meeting reports deleted even when a row still exists.
timeoutA wait deadline elapsed with no terminal outcome. This never certifies a save - it's the absence of an answer, not a result.
unknownCannot be determined - a missed event, or a restart with no durable artifact to fall back on.

Correlation triple

Every observation is keyed on three ids: app instance, capture session, and save ticket.

  • The app instance changes across a restart.
  • The capture session and save ticket persist across a restart.

An artifact written by a previous app instance still satisfies a later query as long as the capture session matches (and the save ticket, when both carry one) - the app instance is deliberately excluded from the match. Two different capture sessions never satisfy each other, no matter what else lines up.

Restart semantics

A restart alone resolves to unknown unless a durable artifact narrows it to saved. Neither timeout nor unknown is a save - only saved is.

Not found vs unknown

A 404 (the standard error envelope, {"error":{"code":"not_found","message":"..."}}) means the capture session itself is unknown to Meetily. A 200 carrying "state":"unknown" means the opposite - the capture session is known, but its outcome isn't.

Last updated on

On this page