Agent patches should not merge on a green suite. Green only means the patch agreed with the tests that ran. The merge question is tighter: did observed outputs stay inside a frozen characterization envelope, did error paths gain properties the agent did not author, and did every flake enter quarantine with counts rather than a calendar date?

A passing CI job is a weak token. Agent-authored tests often restate the patch. Characterization records what the tree already does. Error-path properties record what it must refuse. Flake counts record whether the signal is stable enough to trust.

The failure mode this gate targets

Agent patches tend to preserve the happy path and rewrite the edges. Timeouts become retries. Invalid JSON becomes a default object. A missing file becomes an empty list. Each of those moves can keep example tests green while shifting production behavior.

Fixtures drift in the same window. A test that reads the clock, the network, or an unordered set will fail on one runner and pass on another. Treat that noise as a product regression and reviewers start ignoring the gate. Ignore the noise and the agent learns that flaky red is optional.