night 2026-09-13/14: first "be a customer" rotation (adventurelog) — 7 defects found, 13 rows closed
gates / gates (push) Successful in 18s
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:
@@ -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
|
||||
@@ -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.)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user