Separate Merge From Exposure

Feature flags are one of the most important controls for agent-generated work because they separate merging code from exposing it — default risky changes to staged exposure with explicit rollout criteria and automated rollback, so merge no longer means everyone is affected.

What it is

The reason feature flags are one of the most important controls for deploying agent-generated work is structural: they break the assumption that merging code is the same act as exposing it to users. Without flags, those two events are fused — the moment an agent's change lands on the main branch and deploys, every user is affected, and the blast radius of a mistake is the entire user base at once. With flags, merge and exposure are decoupled, which lets the system default risky agent-generated changes to staged exposure rather than all-at-once release. Staged exposure is a graduated dial: internal-only rollout, then a dogfood cohort, then a canary group, then a percentage rollout, then customer opt-in — each step expanding the population only after the previous one held. Bound to that dial are two more controls that turn a flag from a switch into a safety system: automated rollback triggers that pull exposure back when error rates, latency, or other signals breach a threshold, and a feedback channel bound to the feature so the people newly exposed to it have a direct path to report what breaks. An agent can help manage this rollout — turning the dial, watching the signals, proposing the next step — but the rollout criteria themselves must be explicit and human-owned: what cohort is next, what signal advances or reverts exposure, what threshold trips rollback. The agent operates the staged release; it does not get to decide on its own that the change is safe for everyone. The result is that "the agent's change merged" stops meaning "everyone is now affected," which is precisely the property that makes agent-generated work safe to ship at volume.

When to reach for it

When NOT to

Exemplars

Related