# REPORT — v0.341.0: the night update takes a security-fix step (2026-10-23, D39 = B, `09` §3 decision 255) **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. **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. **Live** (felhom.eu `documentation/audits/security-lane-2026-10-23/`): on 0.340.0 the night leg skipped the drill's security step (`not_proven`) and a hand press took it; on 0.341.0-rc.1 the night leg logged `plex: security fix CVE-2026-96652,… taken` and ended `done` (second-drive copy and undo copy first). **Released:** image 0.341.0 from `63dcccf` (CI 2264 / #471 success); per-box floors on the three test boxes, all on 0.341.0 by 11:15:31 UTC, box walk green; global floor 0.341.0 / MinAgent 0.158.1 at 11:24:47 UTC on the operator's yes; per-box floors cleared.