Application Legibility for Agents
Content reflects the state as of February 2026. AI tooling and model capabilities in this area change frequently.
If an agent cannot read the system, it cannot operate the system. Human engineers can interpret messy logs, tribal dashboard names, half-documented deploy steps, and confusing test output. Agents are less forgiving. They need compact, structured, relevant observations that can fit into context and guide the next step.
Situation
Human engineers can interpret messy logs, tribal dashboard names, half-documented deploy steps, and confusing test output. Agents are less forgiving. They need compact, structured, relevant observations that can fit into context and guide the next step.
The pattern matters for database, cloud, and platform teams because agents do not operate in a vacuum. They inherit repository rules, tool permissions, deployment workflows, incident history, and the quality of the evidence available to them.
| Operating layer | Default approach | Better alternative |
|---|---|---|
| Context | Rely on a long prompt or chat history | Give the agent task-specific evidence and rules |
| Tooling | Expose broad tools and inspect later | Expose narrow tools with clear approval boundaries |
| Verification | Read the final answer | Check the artifact, trace, and final state |
The Problem
Most production systems are not legible to agents. Logs are verbose, metrics require dashboard knowledge, test output hides the failing signal, and database state is split across SQL, Terraform, runbooks, and incident notes.
The practical question is not whether an agent can produce a convincing response. The question is whether the engineering system around that response makes the work observable, reversible, and reviewable.
| Failure point | What breaks | Why it matters |
|---|---|---|
| Weak boundary | Agent authority is broader than the task | A diagnostic run can become an unsafe change |
| Missing evidence | The agent cannot cite the state it used | Review becomes opinion instead of verification |
| No lifecycle | The workflow ends at a message | Ownership, audit, cleanup, and rollback disappear |
Agent-Legible Systems
Create an agent-readable observation layer: short command outputs, structured incident snapshots, schema summaries, recent deploy history, and canonical dashboard links.
flowchart TD
A[task request — bounded intent] --> B[agent-legible systems — controls]
B --> C[tool execution — evidence collected]
C --> D[verification — final state checked]
D --> E[human handoff — audit retained]
-
Define the operating boundary.
Write down the task class, allowed tools, environment, data class, and approval mode before the agent runs. -
Shape the evidence.
Return compact observations instead of raw dumps. The agent should see enough to reason, but not so much that context is wasted. -
Require proof of completion.
Completion should be an artifact or state check: a passing test, a reviewed plan, a valid rollback, a trace, or a linked ticket.
For each workflow, define the observation packet the agent receives before it acts. Include timestamps, environment, service owner, current error, last change, and allowed next tools.
In Practice
Context: OpenAI’s harness engineering post connects agent productivity to app metrics, logs, UI legibility, and the surrounding workflow. This turns observability design into an agent-enablement problem. Source: OpenAI, Harness engineering.
Action: For each workflow, define the observation packet the agent receives before it acts. Include timestamps, environment, service owner, current error, last change, and allowed next tools.
Result: A legible system reduces tool calls and hallucinated diagnosis because the agent sees the same operational evidence a senior engineer would request first.
Learning: Create an agent-readable observation layer: short command outputs, structured incident snapshots, schema summaries, recent deploy history, and canonical dashboard links. This is a documented pattern or a direct consequence of how the named systems behave, not a fabricated production story.
Where It Breaks
| Failure mode | Trigger | Fix |
|---|---|---|
| Verbose logs | Context fills with noise | Summarize logs into top errors and counts |
| Dashboard-only truth | Metrics require UI navigation | Expose small text snapshots |
| Unknown last change | Agent diagnoses without deploy context | Include recent deploy and config changes |
| Schema opacity | Agent guesses table shape | Provide schema snapshots and constraints |
What to Do Next
- Problem: Most production systems are not legible to agents. Logs are verbose, metrics require dashboard knowledge, test output hides the failing signal, and database state is split across SQL, Terraform, runbooks, and incident notes.
- Solution: Create an agent-readable observation layer: short command outputs, structured incident snapshots, schema summaries, recent deploy history, and canonical dashboard links.
- Proof: A legible system reduces tool calls and hallucinated diagnosis because the agent sees the same operational evidence a senior engineer would request first.
- Action: Build one incident snapshot command that prints service, owner, last deploy, top errors, saturation metrics, and database health in under 100 lines.
The teams that get value from agents will not be the teams with the longest prompts. They will be the teams that turn agent work into a controlled engineering workflow.