One docker-agent run from the agent file to its outputs Top row: files.yaml with one agent root, the model local, and two toolsets is loaded by docker-agent run with the exec flag and two messages; without exec the same run draws the TUI. Middle row: the agent loop of root sends model calls to dmr/ai/qwen3:4b on Model Runner at localhost:12434 and tool calls to the ten tools of filesystem and shell. Bottom row: the loop writes the final answer to stdout, 67 NDJSON events with the json flag, and one session to session.db. The record flag writes the model exchanges to the cassette 18-files.yaml, and the fake flag replays them in place of Model Runner. ONE RUN OF FILES.YAML files.yaml one agent, root model local, 2 toolsets docker-agent run --exec, two messages TUI without --exec loads dmr/ai/qwen3:4b Model Runner localhost:12434 agent loop: root one turn per model call filesystem, shell 10 tools, such as list_directory, shell turn 1, turn 2 18-files.yaml the cassette stdout final answer only with --last --json NDJSON, 67 events session.db a session per run --record --fake Dashed box: not run in the capture. Every solid box was captured.