277e99839d
gates / gates (push) Successful in 1m25s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
18 lines
1.5 KiB
Markdown
18 lines
1.5 KiB
Markdown
# 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.
|