Most agent stacks page humans by name, not by role — so when somebody takes PTO, the agent loops with the auto-reply until on-call notices.
Your gateway checks who. Your endpoint checks what. Nothing in your agent stack checks whether the model was allowed to make the call in the first place.
A shared tool registry quietly hands every agent every capability. Per-agent allow-lists, not the catalog, are the unit of authorization that actually constrains what an agent can do.
Coding agents reintroduce code you deleted yesterday because absence leaves no trace in the repo. A field guide to recording the negative decisions agents need to respect.
A nightly batch job becomes a latency-critical service one reasonable request at a time. Why batch and online inference optimize for opposite goals, how the drift produces quiet failures, and how to re-architect on purpose.
AI agents re-derive the same facts every turn — churn risk, account age, plan tier — with no caching, no shared definitions, and no point-in-time correctness. Why that makes them a broken feature pipeline, and how to fix it.
When your app hits a 429, the retry code that runs next quietly becomes your capacity policy. Treat rate-limit handling as deliberate load shedding — with priority tiers, jitter, and a scheduler — instead of a library default nobody reviewed.
A failed agent run is cheap; a successful one can cost 50x more. Why raising your agent's success rate compresses margin, and the levers that fix it.
An `await agent.run()` looks like a local function but hides a remote, partially-failing distributed system. Here is the timeout, retry, idempotency, and circuit-breaker discipline agent code needs.
AI agents act the instant they decide, with no sense of whether 3 a.m. is the wrong time to send it. How to separate anytime work from daylight work and build a timing layer that knows when to wait.
Agent memory is a production database that drifts every time you improve its format. Version your records, write real migrations, and backfill before old memories quietly rot.
Replaying an LLM bug and watching it pass doesn't mean the bug is gone — it means you drew a different sample. How to debug a sampler when your tools assume determinism.