diff --git a/documentation/audits/evidence-chaos-night-2026-09-17/household-summary.txt b/documentation/audits/evidence-chaos-night-2026-09-17/household-summary.txt new file mode 100644 index 00000000..ac198617 --- /dev/null +++ b/documentation/audits/evidence-chaos-night-2026-09-17/household-summary.txt @@ -0,0 +1,45 @@ +# The background household — summary for the whole night +# A loop ran from the drill host every 2 minutes from 21:06:30Z to 00:18:10Z, reading each app's +# front door and its dashboard, exactly as a household would use the box while all this happened. + +## The numbers + total probe lines 192 + first line 2026-09-16T21:06:30Z + last line 2026-09-17T00:18:10Z + lines flagged as failure 7 + REAL failures 4 lines = 2 events (see below) + apps probed cloud inventory media paperless paste photos recipes share status travel + vault wiki (8 to 22 probes each, uneven because the loop cycles names) + +## THREE OF THE SEVEN ARE MY OWN BUG, and the log says so in its own words + 2026-09-16T21:06:30Z recipes dash FAILED http=301 + 2026-09-16T21:08:31Z wiki dash FAILED http=301 + 2026-09-16T21:10:31Z inventory dash FAILED http=301 +At 21:11:25Z the log carries this line, written when I found it: + "### CLASSIFIER FIXED: every line above this counted a 301 redirect as a dashboard FAILURE + - my error, not the box's" +A 301 from traefik is the redirect to HTTPS: the correct answer, not a failure. The classifier was +fixed and the wrong lines were left in place rather than deleted, so the correction is visible. + +## THE TWO REAL EVENTS, both caused by an injected accident, both self-healed + 2026-09-16T21:27:57Z wiki read UNREACHABLE } round 2: the POWER CUT, 20 s into a restore + 2026-09-16T21:27:57Z wiki dash UNREACHABLE } + 2026-09-16T23:28:09Z cloud read UNREACHABLE } round 10: the HARD RESET, 4 s into a restore + 2026-09-16T23:28:09Z cloud dash UNREACHABLE } +Both are single-sample outages: the very next probe two minutes later succeeded in each case, and +no other app was unreachable at those moments. The household saw the box go away twice, for less +than one probe interval each time, on the two occasions the machine was abruptly stopped. + +## WHAT THE HOUSEHOLD DID NOT SEE +Ten of the twelve rounds left NO mark in this log at all - including the twenty minutes with the +data drive pulled out (round 11), the three ten-minute network cuts (rounds 7, 8, 9), the full disk +(round 3) and the docker restart (round 5). The apps whose files were on the pulled drive did stop, +but the loop's probes fall on a 2-minute cycle per name and did not coincide with their outage. +That is a limit of the instrument's sampling rate, stated so the silence is not read as proof. + +## THE NINTH INSTRUMENT SLIP, recorded like the rest +My first attempt to list these failures printed NOTHING and said "grep: /root/household.log: binary +file matches". The count (7) had already printed, so the summary looked complete while the detail +was silently dropped. Re-read with `grep -a`. The cause is NOT corruption: zero null bytes; one line +carries a long run of padding spaces. An instrument that can drop its result without saying so is +not a measurement - the same lesson as every other slip tonight.