Your point that the trace has to be recording before you know there is a bug is the whole case for observability in agent loops, since a model's mistake may never reproduce and you get one shot to capture it. Wiring the Observer pattern so logging and trace files subscribe without the loop knowing who is listening keeps that always-on without coupling. Do your observers capture tool inputs and outputs, or just state transitions? The former is where the real post-mortem evidence usually lives.