Episode schema

Coming soon

This page is a placeholder for an upcoming topic — shipping alongside the public read-API in `robotrace 0.2`. The URL is stable, so any links you write today won't rot when the real page lands. For now, the Ingest API reference covers the closest live topic.

What it'll cover

A column-by-column reference to the public.episodes table — what each field stores, its constraints, defaults, and which SDK parameter or ingest field populates it.

For now, the canonical source is the migration itself at supabase/migrations/0005_episodes.sql. The short version:

ColumnTypeNotes
iduuidPrimary key.
client_iduuidclients(id)Owning client. on delete cascade.
nametextOptional human label.
sourceenum episode_sourcereal / sim / replay.
robottextOptional rig identifier.
policy_versiontextReproducibility — strongly recommended.
env_versiontextReproducibility — strongly recommended.
git_shatextReproducibility.
seedbigintReproducibility.
started_attimestamptzDefaults to now().
duration_snumeric(12,3)Reported at finalize.
fpsnumeric(8,3)Reported at start or finalize.
video_urltextCanonical R2 URL when configured.
sensors_urltextCanonical R2 URL when configured.
actions_urltextCanonical R2 URL when configured.
metadatajsonbFree-form. Merged across start+finalize.
bytes_totalbigintReported at finalize.
statusenum episode_statusrecordingready / failed; admin can archived.
created_attimestamptzDefaults to now().
updated_attimestamptzUpdated by trigger.