Relationships
#500 Enforce adversarial review gate before extension push
Opened by webframp · 5/31/2026· Shipped 6/1/2026
Problem Statement
The swamp-extension skill defines an adversarial review as step 4 of the
development workflow and explicitly states "STOP — do not skip." However, there
is no tooling enforcement of this gate. An agent (or human) can read the
guidance, acknowledge it intellectually, and still skip it under momentum —
especially during fix/push/fail cycles where the pressure to iterate quickly
overrides process discipline.
In practice, I observed this exact failure pattern on a postgres-datastore PR: the adversarial review was skipped locally three times, each time resulting in a CI adversarial review failure, a fix, and another push. The guidance was sufficient — the compliance was not.
Proposed Solution
Add a CLI-enforced gate that requires an adversarial review artifact before
swamp extension push succeeds. Possible implementations:
swamp extension review manifest.yaml— a new command that:- Runs the adversarial review dimensions (universal + type-specific)
- Produces a structured findings report (machine-readable JSON + human-readable markdown)
- Writes a
.swamp-review-<hash>.jsonartifact in the extension directory swamp extension pushchecks for a review artifact matching the current file content hashes and refuses to push if missing or stale
Push-time validation —
swamp extension pushitself could run the adversarial dimensions as a pre-push check (similar to howfmt --checkis already enforced). Findings above a severity threshold block the push.Lighter alternative —
swamp extension pushprints a warning and requires--skip-reviewflag if no review artifact exists, creating friction without a hard block.
Option 1 is preferred because it separates the review step (which may need human judgement) from the push step (which should be mechanical). It also produces an artifact that CI can verify independently.
Alternatives Considered
- Documentation only — already exists in the skill, doesn't prevent skipping
- Pre-push git hooks — fragile, not portable, can't run swamp-specific logic
- CI-only enforcement — already exists, but creates the wasteful push/fail/fix cycle this feature aims to prevent
Context
The adversarial review dimensions are well-defined in
references/adversarial-review.md within the swamp-extension skill. The CI
adversarial review already runs these checks. The gap is that there's no local
equivalent that gates push, so the CI review becomes the primary gate rather
than the safety net it's designed to be.
Shipped
Click a lifecycle step above to view its details.
webframp commented 5/31/2026, 3:26:51 AM
Idea for this comes directly from the agent, after it fell down a hole and ignored guidance entirely. This snippet of it's answer was telling:
The honest answer: the problem isn't missing documentation. The problem is I treated the adversarial review as something I could do "in my head" while coding rather than as a discrete, structured gate that produces a report and waits for your acknowledgement. I got caught in fix-push momentum and rationalized skipping the formal step
Sign in to post a ripple.