Pin a 15-minute release candidate soak
Deploy story
What this commit did to the running system — joined from the forge receipt chain, the part a commit page elsewhere cannot show.
Not deployed through the forge lane
No push, promotion, build, or deploy receipt references this commit (receipts are scanned over a bounded recent window). Changes shipped by full node replacement carry their proof in the release gate receipt instead.
Changed files
-
modified
docs/2026-08-20-integration-hardening-and-staging-readiness-recommendations.md -
modified
docs/architecture.md -
modified
docs/decisions/0006-isolate-web-and-distributed-fleet-staging.md -
modified
docs/operations/production-cutover.md -
modified
docs/operations/staging-report-template.md -
modified
docs/operations/staging-resilience-report-template.md -
modified
docs/operations/staging-resilience.md -
modified
docs/sarah-integration-plan.md -
modified
ops/staging/new-resilience-report.sh -
modified
ops/staging/resilience-matrix.json -
modified
ops/staging/resilience.sh -
modified
ops/staging/validate-resilience-report.sh -
modified
test/openagents/staging_resilience_contract_test.exs
Diff
13 files changed, +96 -66
docs/2026-08-20-integration-hardening-and-staging-readiness-recommendations.md modified +11 -10
@@ -1550,7 +1550,8 @@ Inject these failures one at a time:
| 1550 | 1550 |
|
| 1551 | 1551 |
|
| 1552 | 1552 |
|
| 1553 |
|
|
| 1553 |
|
|
| 1554 |
|
|
| 1554 | 1555 |
|
| 1555 | 1556 |
|
| 1556 | 1557 |
|
@@ -1575,8 +1576,8 @@ Implemented locally on 2026-08-20:
| 1575 | 1576 |
|
| 1576 | 1577 |
|
| 1577 | 1578 |
|
| 1578 |
|
|
| 1579 |
|
|
| 1579 |
|
|
| 1580 |
|
|
| 1580 | 1581 |
|
| 1581 | 1582 |
|
| 1582 | 1583 |
|
@@ -1584,10 +1585,10 @@ Implemented locally on 2026-08-20:
| 1584 | 1585 |
|
| 1585 | 1586 |
|
| 1586 | 1587 |
|
| 1587 |
|
|
| 1588 |
|
|
| 1588 | 1589 |
|
| 1589 | 1590 |
|
| 1590 |
|
|
| 1591 |
|
|
| 1591 | 1592 |
|
| 1592 | 1593 |
|
| 1593 | 1594 |
|
@@ -1662,7 +1663,7 @@ each handoff.
| 1662 | 1663 |
|
| 1663 | 1664 |
|
| 1664 | 1665 |
|
| 1665 |
|
|
| 1666 |
|
|
| 1666 | 1667 |
|
| 1667 | 1668 |
|
| 1668 | 1669 |
|
@@ -1690,13 +1691,13 @@ each handoff.
| 1690 | 1691 |
|
| 1691 | 1692 |
|
| 1692 | 1693 |
|
| 1693 |
|
|
| 1694 |
|
|
| 1694 | 1695 |
|
| 1695 | 1696 |
|
| 1696 | 1697 |
|
| 1697 | 1698 |
|
| 1698 | 1699 |
|
| 1699 |
|
|
| 1700 |
|
|
| 1700 | 1701 |
|
| 1701 | 1702 |
|
| 1702 | 1703 |
|
@@ -1786,7 +1787,7 @@ passes, and the inspected local receipt records zero automatic retries.
| 1786 | 1787 |
|
| 1787 | 1788 |
|
| 1788 | 1789 |
|
| 1789 |
|
|
| 1790 |
|
|
| 1790 | 1791 |
|
| 1791 | 1792 |
|
| 1792 | 1793 |
|
@@ -1808,7 +1809,7 @@ Consequences the plan should state explicitly:
| 1808 | 1809 |
|
| 1809 | 1810 |
|
| 1810 | 1811 |
|
| 1811 |
|
|
| 1812 |
|
|
| 1812 | 1813 |
|
| 1813 | 1814 |
|
| 1814 | 1815 |
|
docs/architecture.md modified +1 -1
@@ -197,7 +197,7 @@ The accepted target has two isolated staging lanes:
| 197 | 197 |
|
| 198 | 198 |
|
| 199 | 199 |
|
| 200 |
|
|
| 200 |
|
|
| 201 | 201 |
|
| 202 | 202 |
|
| 203 | 203 |
|
docs/decisions/0006-isolate-web-and-distributed-fleet-staging.md modified +1 -1
@@ -23,7 +23,7 @@ Provision two staging lanes:
| 23 | 23 |
|
| 24 | 24 |
|
| 25 | 25 |
|
| 26 |
|
|
| 26 |
|
|
| 27 | 27 |
|
| 28 | 28 |
|
| 29 | 29 |
|
docs/operations/production-cutover.md modified +3 -1
@@ -40,7 +40,9 @@ waive a failed condition by rebuilding from another commit during the cutover.
| 40 | 40 |
|
| 41 | 41 |
|
| 42 | 42 |
|
| 43 |
|
|
| 43 |
|
|
| 44 |
|
|
| 45 |
|
|
| 44 | 46 |
|
| 45 | 47 |
|
| 46 | 48 |
|
docs/operations/staging-report-template.md modified +3 -3
@@ -86,9 +86,9 @@ its candidate SHA and image digest with Gate 14.
| 86 | 86 |
|
| 87 | 87 |
|
| 88 | 88 |
|
| 89 |
|
|
| 89 |
|
|
| 90 | 90 |
|
| 91 |
|
|
| 91 |
|
|
| 92 | 92 |
|
| 93 | 93 |
|
| 94 | 94 |
|
@@ -104,7 +104,7 @@ The validator recognizes four states:
| 104 | 104 |
|
| 105 | 105 |
|
| 106 | 106 |
|
| 107 |
|
|
| 107 |
|
|
| 108 | 108 |
|
| 109 | 109 |
|
| 110 | 110 |
|
docs/operations/staging-resilience-report-template.md modified +10 -7
@@ -7,7 +7,7 @@ Status: Current Gate 15 evidence contract
| 7 | 7 |
|
| 8 | 8 |
|
| 9 | 9 |
|
| 10 |
|
|
| 10 |
|
|
| 11 | 11 |
|
| 12 | 12 |
|
| 13 | 13 |
|
@@ -23,18 +23,21 @@ report schemas and selects the correct strict validator.
| 23 | 23 |
|
| 24 | 24 |
|
| 25 | 25 |
|
| 26 |
|
|
| 27 |
|
|
| 28 |
|
|
| 26 |
|
|
| 27 |
|
|
| 28 |
|
|
| 29 |
|
|
| 30 |
|
|
| 31 |
|
|
| 29 | 32 |
|
| 30 | 33 |
|
| 31 | 34 |
|
| 32 |
|
|
| 35 |
|
|
| 33 | 36 |
|
| 34 | 37 |
|
| 35 | 38 |
|
| 36 |
|
|
| 37 |
|
|
| 39 |
|
|
| 40 |
|
|
| 38 | 41 |
|
| 39 | 42 |
|
| 40 | 43 |
|
docs/operations/staging-resilience.md modified +27 -20
@@ -1,11 +1,12 @@
| 1 |
|
|
| 1 |
|
|
| 2 | 2 |
|
| 3 | 3 |
|
| 4 | 4 |
|
| 5 | 5 |
|
| 6 | 6 |
|
| 7 | 7 |
|
| 8 |
|
|
| 8 |
|
|
| 9 |
|
|
| 9 | 10 |
|
| 10 | 11 |
|
| 11 | 12 |
|
@@ -44,11 +45,11 @@ ops/staging/resilience.sh check
| 44 | 45 |
|
| 45 | 46 |
|
| 46 | 47 |
|
| 47 |
|
|
| 48 |
|
|
| 48 | 49 |
|
| 49 | 50 |
|
| 50 | 51 |
|
| 51 |
|
|
| 52 |
|
|
| 52 | 53 |
|
| 53 | 54 |
|
| 54 | 55 |
|
@@ -194,24 +195,30 @@ ops/staging/finalize-report.sh --recorded "$resilience_report"
| 194 | 195 |
|
| 195 | 196 |
|
| 196 | 197 |
|
| 197 |
|
|
| 198 |
|
|
| 198 | 199 |
|
| 199 | 200 |
|
| 200 |
|
|
| 201 |
|
|
| 202 |
|
|
| 201 |
|
|
| 202 |
|
|
| 203 |
|
|
| 204 |
|
|
| 205 |
|
|
| 206 |
|
|
| 207 |
|
|
| 208 |
|
|
| 209 |
|
|
| 203 | 210 |
|
| 204 | 211 |
|
| 205 | 212 |
|
| 206 |
|
|
| 213 |
|
|
| 207 | 214 |
|
| 208 |
|
|
| 209 |
|
|
| 210 |
|
|
| 211 |
|
|
| 212 |
|
|
| 213 |
|
|
| 214 |
|
|
| 215 |
|
|
| 216 |
|
|
| 217 |
|
|
| 218 |
|
|
| 219 |
|
|
| 220 |
|
|
| 221 |
|
|
| 215 | 222 |
|
| 216 | 223 |
|
| 217 | 224 |
|
@@ -229,8 +236,8 @@ leaked process, and content-bearing log entry during the soak. A high or critica
| 229 | 236 |
|
| 230 | 237 |
|
| 231 | 238 |
|
| 232 |
|
|
| 233 |
|
|
| 239 |
|
|
| 240 |
|
|
| 234 | 241 |
|
| 235 | 242 |
|
| 236 | 243 |
|
@@ -239,8 +246,8 @@ the resilience report's `evidence/` directory. Populate the soak counts and
| 239 | 246 |
|
| 240 | 247 |
|
| 241 | 248 |
|
| 242 |
|
|
| 243 |
|
|
| 249 |
|
|
| 250 |
|
|
| 244 | 251 |
|
| 245 | 252 |
|
| 246 | 253 |
|
docs/sarah-integration-plan.md modified +1 -1
@@ -69,4 +69,4 @@ The source migration being complete does not make the application production
| 69 | 69 |
|
| 70 | 70 |
|
| 71 | 71 |
|
| 72 |
|
|
| 72 |
|
ops/staging/new-resilience-report.sh modified +2
ops/staging/resilience-matrix.json modified +10 -10
@@ -1,6 +1,6 @@
| 1 | 1 |
|
| 2 | 2 |
|
| 3 |
|
|
| 3 |
|
|
| 4 | 4 |
|
| 5 | 5 |
|
| 6 | 6 |
|
@@ -15,16 +15,16 @@
| 15 | 15 |
|
| 16 | 16 |
|
| 17 | 17 |
|
| 18 |
|
|
| 19 |
|
|
| 20 |
|
|
| 18 |
|
|
| 19 |
|
|
| 20 |
|
|
| 21 | 21 |
|
| 22 |
|
|
| 23 |
|
|
| 24 |
|
|
| 25 |
|
|
| 26 |
|
|
| 27 |
|
|
| 22 |
|
|
| 23 |
|
|
| 24 |
|
|
| 25 |
|
|
| 26 |
|
|
| 27 |
|
|
| 28 | 28 |
|
| 29 | 29 |
|
| 30 | 30 |
|
ops/staging/resilience.sh modified +6 -6
@@ -17,20 +17,20 @@ fi
| 17 | 17 |
|
| 18 | 18 |
|
| 19 | 19 |
|
| 20 |
|
|
| 20 |
|
|
| 21 | 21 |
|
| 22 | 22 |
|
| 23 | 23 |
|
| 24 | 24 |
|
| 25 | 25 |
|
| 26 |
|
|
| 27 |
|
|
| 28 |
|
|
| 26 |
|
|
| 27 |
|
|
| 28 |
|
|
| 29 | 29 |
|
| 30 | 30 |
|
| 31 | 31 |
|
| 32 | 32 |
|
| 33 |
|
|
| 33 |
|
|
| 34 | 34 |
|
| 35 | 35 |
|
| 36 | 36 |
|
@@ -58,4 +58,4 @@ chmod 600 "$evidence"
| 58 | 58 |
|
| 59 | 59 |
|
| 60 | 60 |
|
| 61 |
|
|
| 61 |
|
ops/staging/validate-resilience-report.sh modified +2
@@ -87,6 +87,8 @@ jq -e \
| 87 | 87 |
|
| 88 | 88 |
|
| 89 | 89 |
|
| 90 |
|
|
| 91 |
|
|
| 90 | 92 |
|
| 91 | 93 |
|
| 92 | 94 |
|
test/openagents/staging_resilience_contract_test.exs modified +19 -6
@@ -26,18 +26,31 @@ defmodule OpenAgents.StagingResilienceContractTest do
| 26 | 26 |
|
| 27 | 27 |
|
| 28 | 28 |
|
| 29 |
|
|
| 30 |
|
|
| 29 |
|
|
| 30 |
|
|
| 31 |
|
|
| 31 | 32 |
|
| 32 | 33 |
|
| 33 | 34 |
|
| 35 |
|
|
| 36 |
|
|
| 37 |
|
|
| 38 |
|
|
| 39 |
|
|
| 40 |
|
|
| 41 |
|
|
| 42 |
|
|
| 43 |
|
|
| 44 |
|
|
| 45 |
|
|
| 46 |
|
|
| 34 | 47 |
|
| 35 | 48 |
|
| 36 | 49 |
|
| 37 | 50 |
|
| 38 | 51 |
|
| 39 | 52 |
|
| 40 |
|
|
| 53 |
|
|
| 41 | 54 |
|
| 42 | 55 |
|
| 43 | 56 |
|
@@ -49,7 +62,7 @@ defmodule OpenAgents.StagingResilienceContractTest do
| 49 | 62 |
|
| 50 | 63 |
|
| 51 | 64 |
|
| 52 |
|
|
| 65 |
|
|
| 53 | 66 |
|
| 54 | 67 |
|
| 55 | 68 |
|
@@ -68,7 +81,7 @@ defmodule OpenAgents.StagingResilienceContractTest do
| 68 | 81 |
|
| 69 | 82 |
|
| 70 | 83 |
|
| 71 |
|
|
| 84 |
|
|
| 72 | 85 |
|
| 73 | 86 |
|
| 74 | 87 |
|
@@ -86,7 +99,7 @@ defmodule OpenAgents.StagingResilienceContractTest do
| 86 | 99 |
|
| 87 | 100 |
|
| 88 | 101 |
|
| 89 |
|
|
| 102 |
|
|
| 90 | 103 |
|
| 91 | 104 |
|
| 92 | 105 |
|