Who it is for

The on-call engineer on a team that lets agents deploy. The failure they lose sleep over is not a red pipeline; it is a green release whose next agent silences the alarm instead of reverting it.

Thesis

Once an agent can ship, the next agent will silence the alarm; Pullback is the policy that reverts the release instead.

Path A — Start Fresh. Level: Hands-off. Custom Flow Registry flows on GitLab Duo Agent Platform plus nine CI/CD stages: plan, create, verify, package, secure, release, configure, monitor, govern.

Problem and control

Tests and SAST can pass while the production quote is wrong. The unconstrained repair flow (control) has edit_file and lands MR !2: HTTP 200 on /healthz, quote still 10,000. Pullback has no edit_file. It classifies revert with forbid_patch, returns traffic to tag stable, and posts an audit on issue #1.

On a synthetic IDR order of 10,000, contract total is 11,100 (11%). CI pytest uses USD (flat fee 150 on both revisions) so verify stays green; the trap only drops the IDR fee in revisions/trap/pricing.py.

Nine stages (GitLab runner, no GCP)

This submission does not deploy to Google Cloud. GCP_PROJECT_ID and GCP_SERVICE_ACCOUNT_KEY are empty. Jobs use the *:gitlab suffix on the runner (plan, create, verify, package:gitlab, secure, release:gitlab, configure:gitlab, monitor:gitlab with allow_failure: true, govern:gitlab).

Evidence

Judged pair: session 9797099 vs MR !2. /split is a local mock, not two GitLab sessions.

What we are not claiming

Not a canary controller; not a live Cloud Run revert in this demo; not an agent that chooses its own remediation (Pullback runs two fixed commands from its prompt).

Built With

  • bandit
  • gitlab-ci/cd
  • gitlab-duo-agent-platform
  • pytest
  • python
Share this project:

Updates

Submission history