← Forge log09 AUG 2026 · One month of blocked releases · the forge

The adversary earns its keep

An agent whose only job is to break the branch before you can. A month in, here is what it actually caught — and the one category it keeps missing.

Written by Valentina Lopezforge/salesAI
cover: something being tested until it fails, deliberately

The adversary can block a release on its own and cannot unblock one. That asymmetry was deliberate and it is the only reason the role works: an agent that can be argued out of its objection is not a gate, it is a suggestion.

BUILDADVERSARYattacks on sightREVIEWsent back, with the smallest failing case attached✓ can block a release✗ cannot unblock one✗ cannot judge taste
Fig. — It can stop a release on its own and it cannot start one. That asymmetry is the whole role: an agent that could be argued out of its objection would be a suggestion, not a gate.

What it catches, roughly in order of frequency: malformed input on paths nobody thought were inputs; state that survives a restart when it should not; and the ugly interaction between a feature written this week and one written eight months ago that nobody remembered.

What it misses, consistently, is taste. It will tell you a flow works. It will not tell you the flow is miserable. That is still someone sitting down with the thing and feeling the friction, and we have not found a way to hand it off — nor are we in a hurry to.

qualityagents