Release assurance with GitLab Duo agents

Tests pass.
Releases still fail.

FutureFault rehearses every release before it ships. It proves what a change could break, fixes it, verifies the fix, and lets a deterministic policy decide.

Create a workspace
  • Hands-off agent loop
  • 9 DevSecOps stages
  • Deterministic release gate
  • MIT licensed

Loading a recorded rehearsal…

Green CI is a claim. A rehearsal is evidence. Every conclusion links back to the record that proves it. 

The gap

Same merge request. Two very different answers.

The bundled change passes every test it ships with. Here is what its own pipeline saw, next to what the rehearsal recorded.

What ordinary CI saw
—

no run recorded yet

An ordinary pipeline would merge this.

What the rehearsal reproduced
—real defects
    How it works

    From suspicion to signed-off evidence.

    Eleven persisted steps, each resumable and idempotent. Scroll through the loop.

    1. 01

      Hypothesize

      Agents propose falsifiable failures, each citing the exact lines that triggered it, with severity and likelihood rated on an ordinal scale, never a fake probability.

      • FF-H-001Unauthenticated clients can read account data
      • FF-H-002A negative transfer amount reverses the direction
      • FF-H-004Any website can make credentialed cross-origin requests
      • FF-H-005The migration could corrupt existing transfer rows
    2. 02

      Reproduce

      Only approved, registered experiments run, in child processes with a scrubbed environment and hard timeouts. Each records what it asserted and what it observed.

      • Unauthenticated clients can read account datareproduced
      • A negative transfer amount reverses the directionreproduced
      • Any website can make credentialed cross-origin requestsreproduced
      • The migration could corrupt existing transfer rowsno approved scenario
    3. 03

      Remediate

      Confirmed defects get minimal patches plus a regression test that must fail before the fix and pass after it.

      app/main.py · class TransferRequest
      -    amount: float+    amount: float = Field(gt=0, le=1_000_000)
      + tests/test_ff_regression_validation.pyfails before the patch · passes after it
    4. 04

      Verify independently

      A fresh copy re-runs the original experiment, the full test suite and a security rescan. A fix that only looks right is rejected.

      • Original experiment re-run
        fresh copy of the code
      • Full test suite
        fresh copy of the code
      • New regression tests
        fresh copy of the code
      • Security rescan
        fresh copy of the code
    5. 05

      Decide deterministically

      A digest-pinned policy reads only recorded evidence. Missing evidence counts as missing, never as a pass. No model decides.

      • ci.status
      • tests.regression_suite
      • experiments.executed
      • defects.unresolved
      • remediation.verified
      • security.sast
      • config.valid
      • artifact.integrity
      • staging.health
      • staging.recovery
      • coverage.untested
      • approval.manual
      12 rules · one digest-pinned profilePromotion allowed
    • ci.status
    • tests.regression_suite
    • experiments.executed
    • defects.unresolved
    • remediation.verified
    • security.sast
    • config.valid
    • artifact.integrity
    • staging.health
    • staging.recovery
    • coverage.untested
    • approval.manual
    Bounded autonomy

    Agents propose. Tools act. Policy decides.

    The loop runs hands-off, but no model output ever becomes a command, a path or a verdict.

    01

    Agents reason

    A five-agent GitLab Duo flow proposes hypotheses and fixes as validated data.

    02

    Tools act

    Allowlisted scenario IDs only, in child processes with a scrubbed environment and timeouts.

    03

    Policy decides

    Twelve deterministic rules under a hashed profile. The exit code gates the pipeline.

    04

    Audit records

    Every tool call and transition is logged with a correlation ID and exported in the bundle.

    Try it

    Five merge requests. Five different verdicts.

    Each sample is a real change to the same small service. Rehearse any of them in the live demo; the outcome is whatever the experiments record.

    Blocked, then fixed

    Four defects in one merge request

    Auth bypass, unbounded amounts, blind readiness and credentialed CORS. All tests pass; the rehearsal reproduces all four.

    ledgerly-mr-42
    Allowed

    Suspected, tested, cleared

    A readiness refactor looks risky. A rehearsed database outage proves it still fails closed, so it ships with no fix.

    ledgerly-mr-43
    Fixed and verified

    One defect, one verified fix

    Refunds drop the positive-amount bound. The fix is applied, then checked by an independent re-run before staging.

    ledgerly-mr-44
    Blocked

    A regression no unit test sees

    Cheaper readiness probes stop checking the database. Only an injected outage shows traffic still routed to a dead instance.

    ledgerly-mr-45
    Review required

    A risk nothing can test yet

    A destructive migration with no registered experiment. The policy refuses to guess and asks a human to approve.

    ledgerly-mr-46
    Lifecycle coverage

    Nine stages. Each backed by a record.

    A stage counts only when the run produced the evidence for it. The dashboard computes this live for every rehearsal.

    01

    Plan

    Risk-ranked rehearsal plan from change impact

    02

    Create

    Targeted patches with regression tests

    03

    Verify

    Experiments and independent re-verification

    04

    Secure

    SAST, dynamic auth and CORS probes, audits

    05

    Package

    Reproducible artifact with SHA-256 manifest

    06

    Release

    Twelve-rule deterministic promotion gate

    07

    Configure

    Health routes, non-root, bounded resources

    08

    Monitor

    Synthetic probes and fault-injected recovery

    09

    Govern

    Audit trail, policy digest, evidence bundle

    Make every release
    earn its green check.

    Watch a rehearsal reproduce, fix and verify real defects in about thirty seconds. No account needed.

    Create a free workspace

    Free plan includes 50 rehearsals a month · See pricing