Parent: MEMY-894. Evidence from the third salt freeze of 2026-08-08 (boot 2c9ed26b, died 12:30:45 UTC).

What happened

The whole guard ring went down before the machine did, in the order that matters least-first:

time (UTC)event
12:22:00blackbox loses 28 s of samples
12:27:04blackbox loses 62 s
12:28:02corpus-loadgate watchdog timeout (limit 1min), killed with SIGABRT
12:28:20loadgate dumps core, Failed with result "watchdog"
12:28:23blackbox loses 79 s
12:29:11loadgate restart #1 — start operation timed out (45 s)
12:30:02loadgate restart #2 — timed out
12:30:07loadgate restart #3 — never completed
12:30:45host dies

corpus-gpuguard followed the identical pattern. The flight recorder lost its three longest gaps of the entire boot in the final eight minutes — precisely the window it exists to record.

Why

All three guards run with no reclaim protection at all, inside the slice that caused the incident:

Slice=app.slice          # app.slice reached 44.2 GiB during the fatal window
MemoryMin=0
MemoryLow=0
IOSchedulingClass=2      # best-effort, priority 4, in a 99% io-pressure storm
OOMScoreAdjust=200       # identical to every other user process
Restart=always
TimeoutStartUSec=45s
WatchdogUSec=1min

MemoryHigh=128M is not the cause — loadgate peaked at 49.7 MiB, so it never bound. The 35.1 MiB swap peak came from global reclaim under swappiness=120. Raising MemoryHigh would change nothing; MemoryMin and io priority are the real levers.

Restart=always + a 45 s start timeout is actively harmful here: it forked a fresh Python interpreter into a machine at 99% io pressure three times in the last two minutes of its life.

Second gap: merged is not live

The io-pressure rung merged to main at 08:27 UTC. The crash was at 12:30 UTC. The running corpus-loadgate process had been up since 07:05 UTC and still held the pre-merge code in memory — Python does not reload modules from disk. Nothing ties "antifreeze code landed" to "guard restarted", so a shipped fix can sit inert for hours while the failure it prevents recurs.

Fix direction

OOMScoreAdjust cannot go negative without CAP_SYS_RESOURCE — do not propose that.

Acceptance criteria

Branch agent/MEMY-1148-protect-the-antifreeze-guards-from-the-pressure, commit c25417c6. Committed, not merged -- awaiting launcher review via agent-worktree merge. Full build report (live systemctl transcript, cgroup ancestor-chain reading, stale defer-flag defect, and the loadgate-FREEZE-on-restart anomaly against already-merged MEMY-1147) in the spec-executor's final response to the launch, not yet a filed journal/reports/ document.