All three locked tracks closed in one iteration:
Track A (msync pixel verify): 100-frame vaapi-copy decode of
bbb_1080p30_h264.mp4 byte-for-byte identical to FFmpeg SW
reference (sha 58c8f3f4...). msync removal formally verified
safe. iter5 sonnet C3 closes.
Track B (slot-leak error recovery): request_pool_force_release
added with REINIT-then-fallback-to-close+alloc semantics. Wired
into RequestSyncSurface error paths with separate
error_buffer_indeterminate label for OUTPUT-DQBUF-failure
sub-case. Phase 5 sonnet caught the discriminator subtlety
pre-commit. Happy-path regression: mpv 100 frames clean,
Firefox bbb 35s clean.
Track C (cap_pool race harness): 140-line C test program +
shell runner exercise vaCreateSurfaces(128x128) -> destroy ->
vaCreateSurfaces(1920x1080). Zero race indicators in driver
stderr. iter5 sonnet C4 / iter6 candidate A formally anchored.
Bonus iter7 fix: OUTPUT-pool teardown on resolution change in
CreateSurfaces2 (fork commit 7bd0818). Latent bug surfaced by
the harness during Phase 7 verification.
iter8 candidate logged: STREAMON-on-context-recreate after
resolution change. Not exercised by real consumers; surfaced
by sonnet's pre-commit suggestion that was reverted in Phase 7
to keep test scope faithful to C4 spec.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>