Guard that flushes its observer on drop — the telemetry analogue of
AgentTurnGuard. Held for the lifetime of a short-lived agent
invocation (today: the CLI one-shot, zeroclaw agent -m ...), whose
process exits before the OTLP batch exporter / metric
PeriodicReader’s background interval fires. Without this flush all
buffered telemetry — including the never-ended gen_ai.agent.invoke
span, which is only .end()’d inside Observer::flush — is lost
when the runtime is torn down.
Human-readable progress observer for interactive CLI sessions.
This observer prints compact > / < progress lines without exposing
prompt contents. It is intended to be opt-in (e.g. --verbose).
Install a process-wide observer that will receive every event recorded
through observers built by create_observer. Calling this again replaces
the previous hook.