Skip to content

fix: reject suspended soaks and restore M5 cache - #72

Merged
tcconnally merged 1 commit into
mainfrom
fix/m5-soak-sleep-cache-20260825
Aug 25, 2026
Merged

fix: reject suspended soaks and restore M5 cache#72
tcconnally merged 1 commit into
mainfrom
fix/m5-soak-sleep-cache-20260825

Conversation

@tcconnally

Copy link
Copy Markdown
Owner

Summary

  • restore the small-mac cache profile to 256 MiB/cell and 2 GiB aggregate while retaining the software-decoder default
  • run macOS soak phases under caffeinate -dims to prevent idle sleep from invalidating the measurement
  • add a fail-closed duration-coverage gate: active soak duration must cover at least 95% of the requested interval

One-hour screen evidence

The 128 MiB/cell run was a clear BLOCK:

The process ran for one wall-clock hour, but the manifest recorded only 2673.078 seconds (74.25%). hyperwall.log, vm_stat, and nettop all stopped together for about 14m45s, consistent with host suspend. The old analyzer accepted this incomplete interval; the new gate blocks it.

Greg-side correlation for the run showed only successful HTTP status classes and 11 completed transcodes with no conversion failures. This does not support relocating Emby as the first remediation.

Verification

  • RED observed for 256 MiB cache expectations, anti-sleep launcher contract, and duration gate/wiring
  • python3 tests/run_all.py — OVERALL PASS
  • bash -n soak_wall.sh — PASS
  • python3 -m compileall -q hyperwall tests scripts — PASS
  • git diff --check — PASS
  • replaying the attached run through the new analyzer produces duration_coverage=BLOCK with 0.7425 coverage

Next native gate

Repeat the 60-minute, 8-cell software-decoder screen with default cache settings. Do not promote to overnight until the full active duration is captured and media gates materially improve.

@tcconnally
tcconnally merged commit 2dd908c into main Aug 25, 2026
2 checks passed
@tcconnally
tcconnally deleted the fix/m5-soak-sleep-cache-20260825 branch August 25, 2026 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant