night 2026-09-24: record the test-password slip; runner state out of the evidence tree
gates / gates (push) Successful in 24s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-24 14:55:35 +02:00
parent f2234c0fdd
commit e924a17632
3 changed files with 8 additions and 1 deletions
@@ -26,6 +26,11 @@ decisions 11–28, §6.4), `07` (the whole-copy table), `08` (the alarm ladder).
1); 9201 still needs stop + fsck + start, and did not take the 0.269.1 floor.
- Round 2's install and round 9's remove were broken by their accidents (R-681, R-682) — recorded, not fixed.
- **A slip of mine:** commit `4502af6` carried `E/chaos-state.json` with the passwords of three drill test
accounts (wishlist, navidrome, n8n on scratch guest 9202). All three apps and their data were removed at
teardown, so the accounts no longer exist; the file was deleted and ignored in `f2234c0`. History keeps it —
not rewritten (a shared repo). The runner now keeps its state outside the evidence tree.
**Interventions: 1** (an agent restart on demo-hp so its own Recover tore down the leaked restore-test
guest). **Apps moved: 0 of 0 tried.** **The result that matters most:** a file app now comes back WHOLE
from the second drive — proven four times, twice under a power cut or a nearly full disk — and nothing the
@@ -28,7 +28,7 @@ from chaos_schedule import schedule
HERE = os.path.dirname(os.path.abspath(__file__))
EVD = os.path.join(HERE, "..", "E")
os.makedirs(EVD, exist_ok=True)
STATE = os.path.join(EVD, "chaos-state.json")
STATE = os.path.join(w.SC, "chaos-state.json") # NOT in the evidence tree: it holds seeded test passwords
TARGET = {1: "chaosoom", 2: "n8n", 3: "nextcloud", 4: "wishlist", 5: "gokapi", 6: "navidrome", 7: "chaoscrash",
8: "chaosoomb", 9: "chaoscrash", 10: "n8n", 11: "nextcloud", 12: "chaosoomb"}