45 min · A harness you can't observe is a harness you can't improve
| Layer | Captures |
|---|---|
| Structured logs | tool calls + I/O + timestamps (Module 1.4 payload) |
| Traces/spans | execution tree + latency per step |
| Token accounting | per message/tool/session |
| Replay | re-run session step-by-step (bug reproduction) |
| Metrics export | OpenTelemetry/Prometheus (production monitoring) |
| Session diffing | compare 2 sessions (regression testing) |
Module 1.4's 8-field payload is the foundation. Everything builds on it.
Agent-workflow layer (tasks, teams, handoffs, memory) still maturing (ATSC draft). Model-call + tool-call layers stable now.
| # | Question |
|---|---|
| 1 | What did the model SEE? (full context at failure) |
| 2 | What did it DECIDE? (reasoning/tool call) |
| 3 | What did the tool RETURN? (result into context) |
| 4 | What did the harness DO? (append/retry/halt) |
| 5 | What was in CONTEXT? (accumulated state — Module 3) |
Replay against a different model to test whether an upgrade fixes (or causes) the bug.
Without long-session observability, these bugs are invisible until production. The 8-field payload every turn is what makes them visible.
Per-turn payload (8 fields, Module 1.4)
│
├──► Structured Log (append JSONL) ── debugging substrate
├──► Metrics Export (Prometheus) ── production dashboards
└──► Stuck-loop Check (hash count) ── Module 7 detectionOne payload, many consumers. The same 8 fields feed logs, metrics, AND cross-module detectors. Single instrumentation.
Next: Module 11 — Security Engineering (90 min). The OWASP Agentic AI Top 10.