Week 1 · Lesson 04
Durable runs
Observability foundation: every invocation gets a run_id and append-only events.
Learn
- Run statuses:
running | succeeded | failed | needs_human - Append-only event log vs mutable “current state” only
- Why UI monitoring is impossible without this
Build
- Tables:
runs,run_events(type, payload, ts) - Every model/tool call appends an event
GET /api/runs/:idreturns the full timeline
Checkpoint
After a run, reconstruct the exact tool sequence from the DB alone — no console scrollback required.
Four notes
- What problem does this layer solve?
- What is allowed to call it?
- What must it never do?
- How do I observe and test it?