Cloud & platform · deploy.pipelineCI passing

Autonomous Software Delivery Platform

Ships changes without anyone watching dashboards: progressive rollouts, statistical canary analysis and automatic rollback.

Open the live demo View the code Evaluation report Demo tour Run it ›_ last push 2 days ago

97.9%of bad versions rolled back on held-out worlds and held-back regression kinds (big-bang + alert: 66.1%)

1 of 208healthy versions rolled back (canary vs pre-deploy thresholds: 52)

37.5%of tests run per change, catching 99.8% of the bugs a full run catches

A rolled-back deploy: pipeline stages, the new and old versions' error rates side by side, the findings and the rollback note
A rolled-back deploy: pipeline stages, the new and old versions' error rates side by side, the findings and the rollback note. Screenshot from the project's demo (synthetic data).

demo Demo tour

Screenshots from the running application, with its synthetic demo data. Select one to enlarge.

A rolled-back deploy: the stages it passed, the new and old versions' error rates over the same minutes, the findings and the rollback note.
A rolled-back deploy: the stages it passed, the new and old versions' error rates over the same minutes, the findings and the rollback note.
A week of deploys: promoted, rolled back automatically, and one stopped because the service had spent its error budget.
A week of deploys: promoted, rolled back automatically, and one stopped because the service had spent its error budget.
A high-risk change (it touches a core module): all tests run and bake times doubled before it reaches everyone.
A high-risk change (it touches a core module): all tests run and bake times doubled before it reaches everyone.
Three rollout policies on held-out worlds and held-back regression kinds, catches by kind, and test selection.
Three rollout policies on held-out worlds and held-back regression kinds, catches by kind, and test selection.

01 The problem

Bad releases are found by users, and the usual safeguards misfire: an alert after a big-bang deploy reacts once everyone is affected, and a canary compared with last hour's numbers rolls back healthy versions whenever something else goes wrong during the rollout.

02 How it works

  1. Change
  2. Guardrails
  3. Impact-selected tests
  4. 1% to 95% holdback
  5. Side-by-side canary analysis
  6. Promote or roll back + note

03 What I built

  • Progressive rollouts (1% to a 95% holdback to 100%) with canary analysis every five minutes: the new version against the old one over the same minutes, for the whole service and every region, endpoint and cell, with exact tests and effect-size floors.
  • Guardrails before a rollout (error budget, fast burn, change freezes, risky changes slowed and approved) and test impact analysis from the dependency graph, with known-flaky tests retried.
  • Claude writing the rollback note from numbered findings; notes that cite missing findings, unflagged segments or numbers not in the evidence are replaced by the plain note.

04 What I learned

Pooling canary data across rollout steps made healthy versions look broken (Simpson's paradox: the traffic split changes between steps); analysing within each step fixed 21% false rollbacks.

Testing regions and endpoints, not just cells and the whole service, raised the catch rate from 84% to 99% on the tuning worlds with no extra false rollbacks.

05 Known limitations

Every repository documents what it doesn't do yet. The main ones:

  • A simulated production service; no load balancer or service mesh is driven.
  • Full rollout takes 90 minutes; stalls on the quietest endpoint are sometimes missed.

06 Stack

PythonSciPyNumPyClaude APIFastAPIDocker

The repository has the design document, operations runbook, full evaluation report and known limitations. All data is synthetic, generated by code in the repository.

run Run it yourself

Every project runs on a laptop: no cloud account and no paid API needed.

git clone https://github.com/codeROCK-IZZY/autonomous-software-delivery.git
cd autonomous-software-delivery
pip install -e ".[dev]" && pytest
deliver evaluate --gate                    # writes eval/reports/report.html

↑↓ to move · Enter to open · Esc to close