Find every failure like this one.
Point your agent at one failure, and it searches every recording for the moments that match it.
Works with MCAP, LeRobot, MP4, and Parquet
You can replay any one log, but you cannot search all of them.
Fleets record everything, then people scrub logs one at a time. A fault can appear seconds after its cause, and each new question starts another preprocessing script.
A debugging session ends as a branch.
The query, the two new signals, and the 2,684 matches are commits on investigation/left-hand-drops. A teammate can run the query again on next week’s episodes, or merge the branch into main.
Search every recording, then open the match in your viewer.
Spiral imports your recordings as tables, and a vector index on an embedding column finds similar moments. A search can start from a frame, a timestamp, a signal, or a plain description that your agent turns into a query.
The session resolves to a query you can inspect.
Change a predicate, run it again on another branch, or read the exact SQL behind a match.
Before you search the corpus.
MCAP, LeRobot, MP4, and Parquet. One query reads all of them, because the images, arrays, and tables sit side by side.
Not all of it. MP4 files can stay in your bucket, and a query reads only the byte ranges that it needs. MCAP and LeRobot recordings import into tables, which can live there too.
A refresh computes the saved signals over the new rows. You can start it yourself or from an Automation. A pinned result does not change.
No. Keep your viewer for playback. Spiral finds the moments worth opening in it.
Yes. An agent can list projects, branches, and tables through Spiral’s MCP server. It runs SQL and commits through the spiral CLI, on a branch of its own.
Enrichments add new columns to the saved moments.
How it works:Multimodal engineand Reversibility & isolation
