Auditing 263 API routes for AI spend found three image- and video-generation endpoints gated only by 'is this user logged in.' Any tier, any role, any tenant could burn two paid providers with no cap and no way to tell whose bill it was.
AIDA classifies support tickets with an LLM, so the classifier has to treat every ticket as a potential attack. The fence around the ticket text is real, but it isn't the guarantee — the guarantee is that a successful attack still can't do anything.
An AI agent blamed a failing Playwright test on Next.js response caching. I traced the code and blamed middleware. We were both wrong about the observation: the test's "anonymous" context was quietly authenticated. Two stacked bugs, two confident stories, and the re-run as the only reviewer that counted.
A model call is the slowest, priciest, least deterministic dependency in your whole system, so you ration it like an unreliable third-party API you call as rarely as you can. The practical skill is putting the model only where fuzzy understanding is genuinely required and doing the boring 80% with deterministic code you can test.