v0.341.0: the night update takes a security_fix ladder step (D39 = B, 09 §3 decision 255, R-1239); every other leg guard unchanged; the leg names the CVE ids; MinAgent 0.158.1
gates / gates (push) Successful in 1m29s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
This commit is contained in:
2026-10-23 13:09:52 +02:00
parent 32e61d5d1d
commit 63dcccfeec
7 changed files with 191 additions and 30 deletions
+10 -25
View File
@@ -1,28 +1,13 @@
# REPORT — day 2026-10-23: controller 0.340.0 released (the operator's „go")
# REPORT — v0.341.0: the night update takes a security-fix step (2026-10-23, D39 = B, `09` §3 decision 255)
**What:** the day brief's Part 1. Design read: `07-backup-architecture.md` §6.3, §8; `09-update-architecture.md` §3
decision 250 (a release needs no golden; the floor carries it, MinAgent declared).
**What:** `legCandidate` takes `proven` OR `security_fix`; every other guard unchanged and in the same order; the leg
names a taken security step in its log, its summary step and its summary line. Design read: `09-update-architecture.md`
§3 decisions 13–15, 52, 255.
## Release
**Tests** (`internal/stacks/unattended_security_test.go`, six): red-proved by four mutations — the OLD verdict line
(taken + needs_person red), a security_fix returning before the guards (needs_person, held, stopped red), any verdict but
unrecorded taken (unknown-verdict red), every step logged as a security fix (proven red). Held and stopped run BEFORE the
verdict line, so the old line cannot turn them red; that is why their red-proof is a different mutation.
`go build`, `go vet`, `go test ./...` green; `controller_gates.py --fast` OK.
- Main at `caaa86e` (the CHANGELOG header `## v0.340.0 … MinAgent: 0.158.1`; the four night sections now under it).
CI 2245 success. The operator answered „release main" for the text-only commits after the night-tested ones.
- Image `gitea.dooplex.hu/admin/felhom-controller:0.340.0`, digest
`sha256:a8d1c6458da4ea9d667f928498656a291771e0b3756b20f2fcc8c1cf9d516621`.
- 9202 smoke first (healthy, 0 errors, `/login` 200, start-up „no leftover").
- Per-customer floors for Tester 1, demo-hp, demo-felhom (303 `floor_set` each) → all three on 0.340.0 through the
normal update path: Tester 1 10 containers, demo-hp 24, N100 9; 0 unhealthy, 0 errors, 0 copy containers, each with the
start-up „no leftover" line. `https_only_check.py` rc 0, 28 OK, the negative control convicted.
- „Fájlok ↗" on Tester 1: `/__files/open` → 302 to `files.enkicsifelhom.hu/_felhom/sso`. Tester 1's manual second-drive
run: 3 apps, 0 copy containers left. demo-hp and demo-felhom: checked only without a session (302 /login) — no
dashboard password is held for them; their first night copy is tonight.
- Global floor 0.340.0, MinAgent 0.158.1: 303 `floor_set` at 06:41:04 UTC; the per-customer floors cleared; read back
from the hub DB with its WAL.
## What it carries
The stray-copy fix and the night's review fixes (R-1214, R-49 D21 = B, R-1187 c, R-1189 d, C3–C8, N2–N5, N9, S1, S2) —
see `CHANGELOG.md` v0.340.0. R-49 closed; R-1214 stays open for one dated check (2026-10-24: Tester 1's first night copy
in the capped container, memory „full" pressure under 20 %); R-1187 and R-1189 keep their unfixed parts.
Evidence: felhom.eu `documentation/audits/day-2026-10-23/01`–`06`. Full day: felhom.eu `REPORT-day-2026-10-23.md`.
**Live:** see the felhom.eu evidence `documentation/audits/security-lane-2026-10-23/` (P2 old controller, P3 the rc).