Files
felhom.eu/REPORT.md
T

46 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# REPORT — the second night: scratch guest built, controller v0.242.0, rotation restarted (2026-09-13/14)
*Overwritten each session. Evidence: `documentation/audits/nightly-2026-09-13b-bentopdf/` (the guest
build and the bentopdf walk) and `documentation/audits/v0242-2026-09-14/` (red-proofs, floor, three
live passes). Controller detail: `felhom-controller/REPORT.md`.*
**Rules:** `.claude/rules/unprompted-work.md`. **Architecture named:** `01-topology-and-trust.md` §2
(the scratch guest is a second guest of the same customer), `07-backup-architecture.md` §6.3 and the
R-237 store-keyed list rule, `09-update-architecture.md` (holds). **Baselines:** felhom.eu `72ee053`,
controller `3e81330` (v0.241.0), catalog `6d6eec3`.
## Step 0 — R-481, operator ruling option 1 → LXC 9202 on demo-hp, persists
Restored from the vouched golden 0.236.0 onto a `dir` storage re-added at `/mnt/hdd_1`
(`nvme-scratch`), sized like 9201, unprivileged; the demo-hp customer seeded with hub OFF, tunnel OFF,
agent OFF, off-site OFF, self-update OFF; image set by hand (the one place allowed). Disposition in
the guest, on the host and on the hub side (`operations/nodes.md`, the register). Two CC decisions,
tagged in `CONTEXT.md` and `01-topology-and-trust.md`: no real-data-drive bind, no cloudflared.
## Step 1–3 — controller v0.242.0 (`d698ce3`, docs `406755f`), one release, floor-delivered
R-487 (removed app listed with its restore; the lists are keyed on the drives), R-491 (removal
clears the update hold), R-490 (`/api/system/info` reachable + fallback), R-489 (`volumes_removed`
difference — **half: a restore-recreated volume has no compose label and is missed; row kept open,
measured**), R-476 (Tier-2 copy dated by its data), R-456 (rule pinned). Red-proofs ×11, full gate
green, floor 0.242.0 with MinAgent 0.129.0: demo-hp +16 s, demo-felhom +17 s. Live on 9202 with an
opengist throwaway through the endpoints the UI invokes (no browser on DooPlex); the first pass was
refused 409 (a running app must be stopped before removal) and repeated.
## Step 2 — rotation reset to bentopdf on 9202: clean
Front door, use (browser-side tool, no data route — recorded, not faked), backup + second copy,
remove-with-data keep-backups, Tier-2 unit restore, guarded update (same pin; backed up first because
the restore rewrote `deployed_at`, R-478), remove-everything. No new rows from the walk.
## Register
210 open / 194 closed → **205 / 200**. Closed: R-481, R-487, R-491, R-490, R-476, R-456. Re-scoped:
R-489. Opened: R-492 (delete `cfg.Paths.HDDPath`). Security note: demo-hp's retrieval passphrase
appeared once in a tool output on DooPlex during the guest build (redaction list missed the key).
## Teardown, three layers
Machine: throwaways (opengist, bentopdf) removed with data and backups; 9202 persists on purpose.
Host: the `nvme-scratch` storage and 9202 stay (disposition recorded). Hub: floor raised; nothing else.