Skip to content

Recorder

Generated from strands_robots.core.contracts.Recorder at build.

Collect episodes and persist them. After save() the recorder is a tombstone.

Shape: ABC: subclass it, implement the abstract members.

Members

signature contract
start_episode(task: str) -> None abstract Open a new episode for task.
record(frame: Frame) -> None abstract Append one step; raises RecorderClosedError after save().
end_episode(success: bool | None = None) -> None abstract Close the open episode, tagging success when known.
save() -> SaveReceipt abstract Flush everything to disk once; return the path and the counts a reader will find.
frames -> int property abstract Frames recorded so far, across episodes.

Where it is used

Contracts return typed values and raise strands_robots.core.errors; the agent envelope is built in tools/. The types they exchange are in strands_robots.core.types; the frame they agree on is UnitFrame. Why the shapes are what they are: VISION.md.