Home › Notes › Coding agents
Debug log: harnesses fail like Heisenbugs
By Rohan Kataria · Mar 25, 2026
Key points
The expectation is that a harness isolates agent state, so failures are 100% reproducible.
In production, context leakage, ephemeral file handles and ambient tool state cause non-deterministic failures.
The fix is to treat each harness as the OS, with immutable snapshot boots, explicit tool scoping, replayable timelines and reasoning-level early warning.
The harness isolates the environment, and monitoring catches semantic displacement.
Updates and sources
Immutable snapshot boots start every agent from a clean, frozen state with no residue.
Explicit tool scoping removes ambient access. If a tool isn't in the MCP definition, it doesn't exist.
Replayable timelines rehydrate the exact state to debug a failure, instead of chasing a static log.
Reasoning-level early warning monitors semantic displacement between steps, as described in the ProMAS paper, and catches failures before the cascade.
Sources I cited in the comments: