REPORT: v0.304.0 released, delivered, D1/D3/D4 proven live (2026-10-09)
gates / gates (push) Successful in 1m11s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-10-09 08:36:57 +02:00
parent d7bfdccf57
commit 13eeb484ab
+10 -19
View File
@@ -1,21 +1,12 @@
# REPORT — controller, 2026-10-08 (evening): the operator's decision sheet D1, D3, D4, D8 on main, unreleased # REPORT — v0.304.0 released, delivered and proven live (2026-10-09)
**No release, no delivery today** (kernel night 8→9). Everything ships with tomorrow's release, together with the hub of The 2026-10-08 work (D1 operator actions, D3 dashboard language, D4 sign-ins survive a restart, D8 hold after a failed
the same day (D1's wire fields). MinAgent unchanged (0.131.0). Rulings: `09` §3 decisions 185–194. off-site restore, R-899, R-304, three layout fixes) released as v0.304.0 (`d7bfdcc`, CI 1577 success), MinAgent 0.131.0
unchanged. Floors 0.304.0 for demo-hp, demo-felhom, tester-1 (07:05 local); all three run it, healthy. Scratch 9202 set
to 0.304.0 by hand.
| Part | What | Tests | Red-proof seen | Live proofs: **D1** on Tester 1 — `run_job fill-watch` and `offsite_backup_now` done (box log: „checked 3
|---|---|---|---| filesystem(s)", „backup OK: 3 app(s)"); **D3** — 9202's health banners English for `lang=en`, Hungarian for `lang=hu`;
| D1 (R-314, R-279) | Operator actions in the report reply — a closed list of four; anything else `refused` | `TestOpActions_*`, `TestOpActions_ClosedList`, `scheduler` `RunNow` tests | stop not applied in the running manager; same id ran 3×; unknown action called jobs; an added action fails the closed-list test | **D4** on 9202 — the same cookie works after a restart; after a password change both old cookies are refused, also
| D4 (R-35) | Sign-ins survive a restart; only sha256(cookie) on disk; password fingerprint; a failed revoking save removes the file | `TestR35_*` (8) | restart lost the cookie; file held the cookie; password change / failed logout save revived the session | after the next restart; password set back. **D8** not measured (needs a scratch off-site repo).
| D3 (R-79, dashboard) | Six health producers carry a bundle key; wire text unchanged | `TestR79_*` | all 6 keys empty; one key removed → English household saw Hungarian | Evidence: `felhom.eu/documentation/audits/release-2026-10-09/proofs/`.
| D8 (R-893, first half) | Failed off-site replay after a moved definition / replaced volume → live definition back, app held (`restore_mixed`), honest sentence, operator line | `TestR893_*` (2) | the app was started on a mixed state; definition not written back |
Small fixes without a row: `ExtendAbandon` could move a deletion earlier or edit the box date in the hub phase;
`StopAbandon` reported success while the hub's deletion stayed pending; the reply read limit 4 KiB → 64 KiB;
`TestR650_NoBareDockerExec` raced a vanishing temp file.
Security review of the session's commits (automatic): two findings on D4 (a failed save could revive an ended
session) — fixed and red-proved (`TestR35_PasswordChangeRevokesEvenIfSaveFailed`, `TestR35_FailedLogoutSaveRemovesFile`).
Gates: `go build/vet/test ./...` green; `controller_gates.py --fast` green. Machines: none touched.
Live proofs (tomorrow, scratch 9202, after the releases): see `felhom.eu/REPORT-day3-2026-10-08.md`.