Sentinel

Terminology

What Sentinel's terms mean — many are used in a specific, narrow sense.

Sentinel uses these words in a specific sense throughout the docs and the API. One definition each; links go to the page that explains the thing.

Robots and identity

  • Robot — a registered device. Addressed in the API by UUID (canonical) or by its org-unique session name.
  • Session name — the robot's human-readable, org-unique name (unit-04). Despite the word "session", it names the robot, not a connection.
  • License key — the per-robot enrollment credential. Exchanged once at sentinel enroll for a device identity; never needed again.
  • Device identity — credentials stored on the robot host that mint short-lived tokens for all cloud calls.
  • API key (ak_...) — an org-scoped bearer token for the /v1 API, carrying scopes (robots:read, data:write, admin, …).

Teleoperation

  • Teleop session — one operator↔robot WebRTC connection. Not a recording session.
  • Operator — the human driving, from a browser or headset.
  • Stack — the runtime container the daemon runs; sentinel start/stop control the stack, not the daemon.

Recording

  • Episode — one recorded attempt at a task: a ROS 2 bag (MCAP) plus metadata. The unit of querying, syncing, and curation.
  • Recording session — a group of episodes recorded together; the session_YYYYMMDD_HHMMSS directory. recording_session_id in the API.
  • Outcome — how an episode ended: success, failure, or discarded. Recorded by the robot; correctable later via an audited override.
  • Task / subtask — the configured work definition an episode is an attempt at; subtasks divide it into steps.
  • Segment — one subtask's span within an episode's timeline.
  • Recorded facts vs annotations — the two metadata layers on an episode: what the robot stamped at collection time (immutable) vs what you add afterward (mutable). See Data operations.

Datasets

  • Dataset — a saved episode filter, not a copy of data. Live membership grows as episodes match; a snapshot pins the exact episode list permanently.
  • Dataset manifest — the NDJSON export of a dataset's episodes (GET /v1/datasets/{id}/manifest), for feeding training pipelines.
  • Episode manifest (manifest.json) — a different manifest: the per-episode file inventory with checksums, written on disk and used to verify cloud sync.

Cloud sync

  • Destination — a configured storage target for episode sync: an external grant provider you run, which issues upload URLs into your own storage.
  • Routing rule — first-match rule assigning episodes to a destination and rendering the object key.
  • Grant — per-episode permission to upload: short-lived presigned URLs covering the episode's files. Robots hold no standing credentials.
  • Grant provider — your endpoint that issues grants for an external destination. See Build a grant provider.
  • Deferral — a grant response meaning "ask again in retry_after seconds".
  • Replica — one episode's copy at one destination, with its sync state.
  • Sync state — a replica's progress: granted → syncing → synced → verified. Verified means uploaded checksums matched the episode manifest.
  • Retention directive — per-destination policy for the robot-local copy: keep or until_all_verified_plus_72h.
  • Prune — deletion of the local copy by retention policy, only after every destination has verified.

Events

  • Webhook — a signed HTTPS delivery of an episode.* lifecycle event to an endpoint you register. See Webhooks.