Files
felhom.eu/REPORT-day-2026-10-22.md
T

4.7 KiB

REPORT — the day of 2026-10-22: the family's mail list, the swap check (D28 = A), the Tester 2 hand-over

Operator rulings (11:42): D28 = A; agent 0.162.0 vouched (read back: hub artifact_agent_version 0.162.0, 07:57 UTC); Tester 2's laptop used our installer; Tester 2 off, no date. Design read: 08-alarm-ladder.md, 05-hub-architecture.md, 03-host-agent.md. Baselines: controller 08fa440d, agent 2d5840ba, felhom.eu a9283741.

Four lines

  1. Mail list fix live on the hub (0.165.0) and on Tester 1, demo-hp and demo-felhom (controller 0.339.0, global floor). A box with no list of its own now adopts the family's list from the hub; a default never overwrites it.
  2. One family list restored: demo-felhom (13 events, from the hub's 00:00 UTC snapshot; this morning's release had made it 17). After the release demo-felhom adopted it; all six hub rows equal the snapshot.
  3. Swap warning rule: none, or below 90 % of min(the guests' swap, 8 GB). The two morning alarms cleared at the next report (demo-hp 11:04, demo-felhom 11:09 UTC), no mail. No agent change.
  4. Hand-over list: documentation/pilot/TESTER2-handover.md, linked from STATUS.

Versions, digests, CI

version digest CI (commit → job)
hub 0.165.0, DEPLOYED (operator yes; only Deployment/hub synced, manifest 25dae2f5) sha256:c6180fb79a2ff7d5546a704c68b634b9207afb0a0ecd524c74b0310434532537 5ae5984c → 2207 success; 25dae2f5 → 2208 success
controller 0.339.0-rc.1 (9202) sha256:7d4c88528b50adeb891e409cf50343f44fb168a84e890d42864b8124f3051fdd add310c → 2206 success
controller 0.339.0, released, global floor (MinAgent 0.158.1) sha256:fee71aafceb4a7d5f24ae4a6a273a8d51eb26e0550fe9d12d4d86955f6a343a8 fc5a20f → 2209 success

Agent: no change. Evidence: documentation/audits/day-2026-10-22/ (rows before, the restore, rows after, the release on the three boxes, https-only).

What was built

  • Hub: customer_notifications.household_saved — set only by the household's own save (source: household), never cleared; any other push over a marked list → {"status":"kept"} (an older controller's push with neither address nor clear counts as not the household's — that is 0.338.0's default push); GET /api/v1/preferences (customer-scoped); one-time backfill (written after creation → a box wrote it): Tester-2 false, Tester4 false, demo-felhom / demo-hp / tester-1 / _resend-rotation-test true. host_swap_short by the new rule.
  • Controller: start-up — a saved list as before (R-922); none saved → read the hub, adopt a household's, else push the default once and save it; unreadable hub → nothing. The swap sentence by the same rule.
  • Contract: one case table in both repos, byte-identical, each run by a Go test; scripts/host_swap_rule_gate.py with 4 decoys (test_host_swap_rule_gate.py).
  • Red-proofs seen failing: hub A / A-legacy / C (refusal removed), the swap table and the clear (morning rule), the backfill (marking off); controller A / B / unreadable hub (0.338.0's rule), the empty-list test (getter restored), the swap table (morning rule).

Rows

Before 178, after 178. Opened 2: R-1199 (reopened), R-1217 (demo-hp's hub list has 3 app events its page does not show — P4). Closed 2: R-1199, R-1216.

Observations

  • An empty saved list read back as the 17 defaults (Tester 1, demo-hp) — NOT-A-FINDING: fixed in this session (size rule; controller CHANGELOG „Fixed without a row").
  • The add-only seeds re-added a just-switched-off mail on a new box's second start — NOT-A-FINDING: fixed in this session (same entry).
  • demo-hp: hub mails 3 app events the page does not show — FILED: R-1217.
  • The cleared swap alarms sent no mail (host_swap_ok is info) — NOT-A-FINDING: the ladder sends no operator mail for an info clear; the event row is the record.
  • A docstring test refused my first push (9c. is not a gate-list number) — NOT-A-FINDING: my numbering; fixed before the push.
  • The safety check blocked one sh -c with a temp-file removal; rewritten with no file to remove — NOT-A-FINDING: nothing was run.
  • 9202 has no hub link, so the rc there proved start-up only — NOT-A-FINDING: the mail path was proven on the three test boxes through the floor.

Teardown

  • Machine: nothing created. 9202 now runs 0.339.0-rc.1 (the scratch box; the floor moves it at its next report if it reports — it has no hub link, so set it by hand next time it is needed).
  • Host: the three test boxes on controller 0.339.0 — intended.
  • Hub: one row written (demo-felhom's restored list, through POST /api/v1/preferences); global floor 0.339.0; no per-customer floor left.