Found live on 9202: v0.284.0 wired the remove half into DeleteStack only; the app page's Remove runs RemoveStack. Now RemoveStack reads the app's image repositories before its compose down and runs the retention after. Every retention pass logs one line (images seen, candidates, deleted), so a pass that kept everything is visible. Tests TestImageRetention_TheRemoveButtonRunsIt / ADoneUpdateRunsItWithThePrevious, red-proofed. v0.284.0 was never floored (scratch 9202 only). MinAgent: 0.131.0 (unchanged). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
1.1 KiB
REPORT — v0.284.0 + v0.284.1 (2026-09-30 late evening)
-
v0.284.1: the remove half of decision 53 wired into
RemoveStack(the household's Remove button — v0.284.0 wired onlyDeleteStack, found live on 9202); one summary line per retention pass. v0.284.0 was never floored (9202 only). -
Image retention (
09§3 decision 53, R-736): after a done/undone guarded Update and at remove, an app's older images are deleted; the box-wide keep set (containers, installed composes, installed/previous records) is read at delete time; exact id, never forced/pruned; paused while any update runs; a one-time sweep 3 min after start. -
Install hold (R-741): an
after_installapp is held behind the setup gate's door from its first start until the known login is replaced (after_install, or the household's "I changed it"). -
Tests:
TestImageRetention_*(6),TestInstallHold_*(6), parity fixtureapp_info_install_hold; red-proofs infelhom.eu/documentation/audits/night-rulings-2026-09-30/{B,C}/. Green gate: build, vet, test ./... rc=0. -
Evidence and the live proofs:
felhom.eu/documentation/audits/night-rulings-2026-09-30/.