night 2026-09-13/14: first "be a customer" rotation (adventurelog) — 7 defects found, 13 rows closed
gates / gates (push) Successful in 18s

New runbooks/nightly-rotation.md; observations_gate.py reads every section
(R-471); target-selection.md names real paths (R-461); R-93 carries the
fact that drill-r50 is gone. Register: R-473/R-474/R-466/R-471/R-453/R-461
and v0.240.0's R-477/R-478/R-480/R-482/R-484/R-485/R-486 closed; R-481,
R-483, R-487, R-488, R-489 opened. 09 §6.1, 07 §6, CONTEXT, STATUS note.
Evidence: audits/nightly-2026-09-13-adventurelog/, audits/v0240-2026-09-13/.
This commit is contained in:
2026-09-13 19:38:00 +02:00
parent 681c3d6a6d
commit 5e8a82c3c4
37 changed files with 1067 additions and 76 deletions
@@ -0,0 +1,71 @@
# Nightly rotation — "be a customer for the night" on demo-hp
One app per night, as a throwaway deploy on demo-hp, through the product's own endpoints: install,
real data through the app's front door (never a volume or database directly — R-156), ten minutes of
household use, backup through the backups page's endpoint, restore and read the data back, the
guarded Update if the catalog offers one, removal with "delete my data", and a clean drive. Every
surprise is a register row before the next step. An app with no non-browser front door is recorded,
not faked. Tick with the date; the next night takes the first unticked app.
**The nine standing apps of demo-hp come first, and they cannot be tonight's throwaway on guest 9201:**
a throwaway deploy shares the stack name with the standing one, and the standing apps may not be
touched. They are ticked only when a scratch guest exists to host the throwaway (R-481).
## Standing on demo-hp (blocked on a scratch guest — R-481)
- [ ] bentopdf
- [ ] bookstack
- [ ] calibre-web
- [ ] docmost
- [ ] kimai
- [ ] opengist
- [ ] paperless-ngx
- [ ] privatebin
- [ ] romm
## The rest of the catalog
- [x] actualbudget — 2026-09-13: no non-browser front door (the client talks a sync protocol, no REST); deploy / update / remove were exercised the same day for R-475 (`audits/rulings-r472-r475-2026-09-13/`). Recorded, not faked.
- [x] adventurelog — 2026-09-13: full walk (install, sign-up + trip data through the API, backup now + Tier 2, remove-with-data-kept → second-drive restore REFUSED (R-486) → own-copy restore byte-identical, same-version guarded Update, remove-with-backups left 484 MB behind (R-474)). Photo upload needs a browser (R-483). Rows: R-482..R-487. `audits/nightly-2026-09-13-adventurelog/`.
- [ ] audiobookshelf
- [ ] calcom
- [ ] claper
- [ ] code-server
- [ ] crafty-controller
- [ ] emby
- [ ] ghost
- [ ] gitea
- [ ] glance
- [ ] gokapi
- [ ] grafana
- [ ] gramps-web
- [ ] home-assistant
- [ ] homebox
- [ ] homepage
- [ ] immich
- [ ] jellyfin
- [ ] komga
- [ ] mealie
- [ ] n8n
- [ ] navidrome
- [ ] nextcloud
- [ ] onlyoffice
- [ ] outline
- [ ] papra
- [ ] plant-it
- [ ] plex
- [ ] radarr
- [ ] rallly
- [ ] recipe-importer
- [ ] seerr
- [ ] sonarr
- [ ] sparkyfitness
- [ ] tandoor
- [ ] termix
- [ ] uptime-kuma
- [ ] vaultwarden
- [ ] vikunja
- [ ] wanderer
- [ ] wger
- [ ] wishlist
- [ ] zipline
+3 -3
View File
@@ -99,10 +99,10 @@ felhom-pve, and **moved off DooPlex**. This page exists because that ruling sat
**This is the default answer to "where do I run this".**
- **Care:** `local-lvm` is a **thin pool, over-subscribed** (~144 GiB allocated over ~54 GiB) backing
live guest 9201 — filling it corrupts every guest. Put VM disks on a dir storage at
**`/mnt/nvme-1tb`, at its root** (a subdirectory fails the agent's `exactMount` check → storage reads
`disconnected` forever). **That warning is about one storage, not the box.** `/mnt/nvme-1tb` is also
**`/mnt/hdd_1`, at its root** (R-461, measured 2026-09-13: there is NO `/mnt/nvme-1tb` on either box — demo-hp's 1 TB NVMe is `nvme0n1` mounted at `/mnt/hdd_1`, the enrolled user-data drive and `felhom-backup` target, so "the NVMe" and "the data drive" are one disk) (a subdirectory fails the agent's `exactMount` check → storage reads
`disconnected` forever). **That warning is about one storage, not the box.** `/mnt/hdd_1` is also
the `felhom-backup` target and the enrolled user-data drive, so remove scratch storages when done.
- **Forbidden:** do not destroy or unblock **`drill-r50` (VM 300)** — the only drift fixture (R-93).
- **Forbidden:** do not destroy or unblock **`drill-r50` (VM 300)** — the only drift fixture (R-93). **Measured 2026-09-13 (R-461): `qm list` is EMPTY on both demo-hp and demo-felhom — the VM does not exist anywhere, so the fence currently protects nothing and R-93's premise is gone. The fence stays as written for the day someone rebuilds it; do not read its presence here as evidence the fixture exists.**
(Access: the docs say no baked SSH key and G1 break-glass, but a key authenticated on 2026-07-31 —
**R-129**, unresolved.)