From 5593f2ac2cef12121720a5c7f825c893bbc3ee7b Mon Sep 17 00:00:00 2001 From: Mikhail Date: Sun, 30 Aug 2026 14:10:18 +0300 Subject: [PATCH] docs: record isolated release slot drill --- ...oy-003-isolated-slot-drill-2026-08-30.json | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 docs/evidence/gen2-deploy-003-isolated-slot-drill-2026-08-30.json diff --git a/docs/evidence/gen2-deploy-003-isolated-slot-drill-2026-08-30.json b/docs/evidence/gen2-deploy-003-isolated-slot-drill-2026-08-30.json new file mode 100644 index 0000000..4dca49b --- /dev/null +++ b/docs/evidence/gen2-deploy-003-isolated-slot-drill-2026-08-30.json @@ -0,0 +1,51 @@ +{ + "task": "GEN2-DEPLOY-003", + "status": "PASS", + "timestamp_utc": "2026-08-30T11:09:35Z", + "root_cause": { + "stable_and_candidate_project": "assistant", + "stable_and_candidate_working_directory": "/home/m/assistant-deploy/repo/deploy", + "updater": "/home/m/assistant-deploy/update.sh", + "updater_schedule": "cron every five minutes", + "unsafe_operation": "the updater ran full docker compose up for the stable project and invoked the old in-project candidate canary" + }, + "remediation": { + "stable_project": "assistant", + "candidate_project": "assistant-slot-b", + "candidate_file": "deploy/docker-compose.candidate-slot.yml", + "shared_resources": ["assistant_default external network", "llm-local_default external network", "existing secret and research volumes"], + "updater_ownership": "stable-only updater; candidate release command is not invoked by the updater", + "supervisor_release_set_slot": "ReleaseSet.slot persisted in durable Supervisor state" + }, + "candidate_revision": "216d76f1d8b4eeba6ee9427da4c87c3e5c728c02", + "stable_revision": "2ee5da81145cdad2da1c92c24a91145ad4af61a5", + "candidate_components": { + "creator-web": "healthy", + "core-runtime": "healthy", + "cognitive-worker": "healthy", + "research-runtime": "healthy" + }, + "drill": { + "stable_ids_captured_before_candidate": true, + "stable_ids_unchanged_after_candidate_start": true, + "header_canary": "candidate slot b", + "forced_failure": "candidate cognitive-worker stopped", + "rollback": "Supervisor release rollback returned traffic to legacy stable without recreating stable containers", + "stable_ids_unchanged_after_rollback": true, + "supervisor_restart": "last-known-good legacy stable release set preserved", + "candidate_recovery": "candidate cognitive-worker restored healthy", + "stable_ids_unchanged_after_candidate_recovery": true + }, + "final_state": { + "traffic_mode": "STABLE", + "stable_upstream": "http://creator-web:8084", + "last_known_good_slot": "legacy-stable", + "public_health": 200, + "public_ready": 200 + }, + "limits": [ + "The existing stable project remains legacy-stable during the non-disruptive transition; it was not recreated merely to rename it.", + "Local MEDIUM discovery was slow/unavailable during candidate cognitive startup; it delayed startup but did not affect stable traffic or the isolated release-set drill.", + "GEN2-COMPAT-OBS-001 has not resumed and no V1 path has been retired." + ] +}