I stopped building the harness
incident-response-agent started as a hand-rolled ReAct agent. Typed state machine, separate budgets for iterations and tool calls, cycle detection, sanitized traces. That was v0. It taught me the problem space. It was also the last agent harness I’m going to build myself. For this project, the harness had become commodity infrastructure rather than the differentiating work. This is what happened after I stopped. Where v0 led The v0 loop wrapped observe → decide → act → reflect with separate execution budgets and a cycle detector. It had a trace recorder from the start: trace_id, transition events, sanitized events with no raw prompts or secrets. It worked, and it ate real sessions: malformed tool calls, budget exhaustion, repeated actions, knowing when to stop. All solved problems, all still a slog to build. ...