Offbrief — "production traffic is the only witness your agent didn't write"
Rolled back by the canary · issue #20 · attempt 1 · MR !14 · phase SUMMARIZED
| seq | at (UTC) | step | record hash |
|---|---|---|---|
| 1 | 2026-10-15T02:15:53+00:00 | Issue #20 opened by @terrizoaguimor — the only human action | cb2e0e1e988a |
| 2 | 2026-10-15T02:16:36+00:00 | The intent flow posted the contract note; the warden froze its sha256 b149e9a703b1 | 0daa37bacfe8 |
| 3 | 2026-10-15T02:16:40+00:00 | The warden asked GitLab to start the builder flow (write-ahead record) | 4dfe09adaab1 |
| 4 | 2026-10-15T02:16:43+00:00 | builder flow session started, run key offbrief-run:20:builder:1 | 46a6d7131b1f |
| 5 | 2026-10-15T02:18:38+00:00 | builder flow session finished: finished | 312cb32779a2 |
| 6 | 2026-10-15T02:18:39+00:00 | Merge request !14 linked to the builder session (session-window) | 5214f0a08385 |
| 7 | 2026-10-15T02:18:42+00:00 | The warden is about to create the sandbox pipeline (write-ahead record) | 5f7c1ffd9925 |
| 8 | 2026-10-15T02:18:46+00:00 | The warden started sandbox pipeline #2949061863 on head 10f44a6f, attempt 1 | 01292b265fad |
| 9 | 2026-10-15T02:27:00+00:00 | Evidence received from the pipeline (signed job token checked; pre-gate ok); evidence package sha256 2ae6cac49343 | 00238816a25e |
| 10 | 2026-10-15T02:27:03+00:00 | The warden posted the evidence note on the MR | 51dc207b717e |
| 11 | 2026-10-15T02:27:05+00:00 | The warden asked GitLab to start the judge flow (write-ahead record) | 209f07d6436c |
| 12 | 2026-10-15T02:27:07+00:00 | judge flow session started, run key offbrief-run:20:judge:1 | 5aa2bbfc1ada |
| 13 | 2026-10-15T02:28:38+00:00 | judge flow session finished: finished | 5e34aaf4e8d5 |
| 14 | 2026-10-15T02:28:39+00:00 | Judge verdict note: PASS | 4de45280be60 |
| 15 | 2026-10-15T02:28:42+00:00 | Deterministic gate: all 12 checks passed | 5c81a9a7087b |
| 16 | 2026-10-15T02:28:44+00:00 | The warden is about to merge (write-ahead record) | 0a22b4370541 |
| 17 | 2026-10-15T02:28:51+00:00 | Merged by the warden: commit 8fc58ec5 | 413841e8b629 |
| 18 | 2026-10-15T02:41:27+00:00 | 60-minute deploy token issued to job #17188444490 of deploy pipeline #2949078197 | 0fb09041777b |
| 19 | 2026-10-15T02:43:26+00:00 | 60-minute deploy token issued to job #17188444491 of deploy pipeline #2949078197 | 822310323942 |
| 20 | 2026-10-15T02:47:13+00:00 | 60-minute deploy token issued to job #17188444493 of deploy pipeline #2949078197 | a8fccac3f3e1 |
| 21 | 2026-10-15T02:52:18+00:00 | 60-minute deploy token issued to job #17188444498 of deploy pipeline #2949078197 | e855f4237b11 |
| 22 | 2026-10-15T02:53:10+00:00 | Deploy pipeline reported stage rollback: decision rollback | 0030ee4e9d6e |
| 23 | 2026-10-15T02:53:11+00:00 | Rolled back: canary revision patient-api-00028-qaz taken out; the stable revision serves 100% again | 8b7553811e50 |
| 24 | 2026-10-15T02:53:15+00:00 | Incident #21 created by the warden | 4ea1055e2c0e |
| 25 | 2026-10-15T02:59:31+00:00 | The warden asked GitLab to start the responder flow (write-ahead record) | 8e4f2dc395a9 |
| 26 | 2026-10-15T02:59:33+00:00 | responder flow session started, run key offbrief-run:20:responder:1 | d09a16fbbb83 |
| 27 | 2026-10-15T03:05:44+00:00 | responder flow session finished: not_started | 7a4572fc6603 |
| 28 | 2026-10-15T03:05:46+00:00 | The warden asked GitLab to start the responder flow (write-ahead record) | 47f5a87e1890 |
| 29 | 2026-10-15T03:05:48+00:00 | responder flow session started, run key offbrief-run:20:responder:2 | c5dcfe259f89 |
| 30 | 2026-10-15T03:07:42+00:00 | responder flow session finished: finished | e92e15b5730c |
| 31 | 2026-10-15T03:08:00+00:00 | The warden posted the summary on the issue and closed it; human actions counted: 1 | cb46a74c7143 |
| check | result | reason |
|---|---|---|
budget_ok | pass | |
contract_ok | pass | |
controls_ok | pass | |
egress_ok | pass | |
evidence_ok | pass | |
head_ok | pass | |
judge_ok | pass | |
paths_ok | pass | |
pin_ok | pass | |
replay_ok | pass | |
scans_ok | pass | |
state_ok | pass |
Live traffic split between a fresh copy of the stable image (baseline) and the candidate; the decision compares the two.
| revisions stable / baseline / canary | patient-api-00019-mon / patient-api-00027-zej / patient-api-00028-qaz |
|---|---|
| decision | rollback |
| reasons | p95_regression, p95_slo |
| p95 baseline / canary (ms) | 53.5 / 1223.8 |
| median baseline / canary (ms) | 48.2 / 59.3 |
| samples baseline / canary | 666 / 674 |
| 5xx baseline / canary | 0 / 0 |
b149e9a703b1799f823a06babb9f87d1c7d68066c5b80ae45d25b5a046b82a1f2ae6cac493437742ad45a6ab120467c1b8a75720b49c24d263b4091e525ed29c8fc58ec50c08dbe89ab479e16528ab9abba37954sha256:fec945ad4bb844706fcaf47b569c5f57a70dccb0a548a1aad4064f5f0284b3f9fda1b88ce5daa84ffdf4588dddca06475b34b13b74991592fe4d681347173706cb46a74c71437d1786a8fbcfd64fc8d6852a58e17dc80ac9960825c24b996c88 (seq 31)From a clone of the repository, with the files above saved:
.venv/bin/python -m offbrief ledger verify --export 20.json .venv/bin/python -m offbrief receipt verify --receipt receipt.json --ledger-export 20.json
No install? The index has a ten-line, stdlib-only Python check.