Controller v0.314.0 released under decision 250: floor 0.314.0 raised by CC's token at 13:11 UTC after the three test boxes
gates / gates (push) Successful in 6m45s

- 09 §3 decision 253: a restore puts the setup gate back as it was (R-1057 P2); 07 (what a per-app backup carries); 15 §6
  (Prowlarr links itself; Plex by address).
- Evidence audits/gate-restore-2026-10-15/: 9202 live proofs (R-1057, R-1058), the release (per-customer floors, Tester 1
  rc.1 -> 0.314.0 by itself, box walk, global floor, read-back), Plex fake-code check on 9201, red-proofs.
- Register: R-1023, R-1053, R-1057, R-1058 closed; R-1061 filed (P4); R-1060 narrowed; R-1052 blocked (customer creation
  is session only). STATUS, CONTEXT, the build skill's release steps, Prowlarr's website card.

Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
admin committed 2026-10-15 15:21:28 +02:00
1 parent bd478afe14
commit 15cb62097c
40 files changed
+945 -22

No files matched your search

+6 -3
View File
@@ -55,11 +55,14 @@ Check current live version first: same `docker ps` command, or `cat /etc/felhom-
1. **Test images get an `-rc.N` tag** (`./build.sh 0.313.0-rc.1 --push`). The household's update button takes the HIGHEST
tag in the registry, and an `-rc` tag is not a version to it (`util.ParseVersion` wants X.Y.Z) — so it is never offered.
**But a box running an `-rc` tag is never moved by the floor either** (`maybeAutoUpdate: current … not parseable —
skip`, DEBUG only): after testing, write the release tag back into `/etc/felhom-controller-image` (R-1053).
**Since controller 0.314.0 a box on `X.Y.Z-rc.N` is BELOW `X.Y.Z` for the floor** (`util.ParseVersionPre`, R-1053), so
the release's floor moves it by itself (proven: Tester 1, rc.1 → 0.314.0). A box on an rc built BEFORE 0.314.0 runs the
old check and is never moved: put it on a new rc (or the release tag) by hand, through `/etc/felhom-controller-image`.
2. **Push the release tag only when it is ready for EVERY box** — from that second every household's button offers it.
3. **The three test boxes through the normal update path:** a per-customer floor for Tester 1, demo-hp and demo-felhom at
the release, MinAgent declared; read back each box's `docker ps` and its `SetFloor`/self-update log lines.
the release, MinAgent declared — `POST /customers/<id>/floor` with the same token and fields as step 5 (ids: `tester-1`,
`demo-hp`, `demo-felhom`); read back each box's `docker ps` and its `SetFloor`/self-update log lines. A box can take up to
its next 15-minute report (R-1061). After the global floor, clear them: the same POST with both fields empty.
4. **The box walk green on all three** — `python3 scripts/https_only_check.py` included (felhom.eu).
5. **Raise the global floor**, MinAgent declared (from the CHANGELOG header), with **CC's hub token** — never the
operator password (`09` §3 decision 251; hub ≥ 0.152.0, `05` §17). The token is `HUB_TOKEN` in