Most agent bugs are invisible: the agent loops, drops context or calls a tool it shouldn't, and all you see is a wrong answer. I wrote an agent harness from scratch in Python — loop control, context compaction, permissioned tools, sub-agents — and Harness Studio, a web app that replays every run: one lane per agent, each event explained, and the exact context each agent held when it stopped.