Law 18 · Scope & Design
Observability Precedes Autonomy
You can't grant autonomy you can't trace.

The principle
If you can't see what the agent did and why — every decision, tool call, and input — you can't safely let it act on its own. You're not trusting it; you're hoping. Autonomy without a trace is just an outage you haven't found yet, and when it breaks you'll have no way to learn why.
Why it happens
An autonomous agent is a chain of model decisions, tool calls, and intermediate state, and if that chain is not captured you cannot reconstruct why it acted, which means you are not trusting it but hoping, and a silent failure becomes an outage you cannot diagnose. The discipline that closes this gap is structured tracing: capture every step as a span with its inputs, outputs, and timing, so any run can be replayed after the fact. The industry has standardized this for agents through OpenTelemetry GenAI semantic conventions, which model a top-level agent invocation span with child spans for each model call and each tool execution, recording prompts, responses, token usage, and stop reasons. The rule follows directly: build the trace first, then widen autonomy only as far as your visibility actually reaches, because freedom you cannot inspect is freedom you cannot debug.
Watch for
- When the agent does something unexpected, you cannot reconstruct which inputs and tool calls led there.
- Decisions, tool calls, inputs, and outputs are not captured as a replayable trace.
- Autonomy was widened before instrumentation existed to see what the agent actually did.
In practice
You grant the agent permission to send emails and update records unattended, it does something baffling on Tuesday, and you have no trace of which tool calls or inputs led there, so you are left guessing and rolling back blind. You did not trust the agent, you hoped. Before widening autonomy, instrument every decision, tool call, input, and output with something like LangSmith or OpenTelemetry spans, so any run is reconstructable after the fact. Extend the leash only as far as your trace actually reaches.
Apply it
- Capture every decision, tool call, input, and output as a structured, replayable trace before granting autonomy.
- Record token usage, timing, and stop reasons per step so any run can be reconstructed after the fact.
- Expand the agent's autonomy only as far as your trace coverage actually reaches.
The takeaway
Build the trace before you grant the freedom. Make every step inspectable after the fact, then widen autonomy only as far as your visibility actually reaches.