fix(record): warm the MP4 validator without blocking capture
Merged
TH
2d ago+413+413+012345678901234567890123456789-89-89-01234567890123456789
Summary
Warm one MP4 validator compile per Swift cache root before output preparation without delaying capture. Stop shares it within its finalize budget without cancellation. Evict rejected compiles for later retries. Preserve main's container-only completion without xcrun. Retain compile/runtime diagnostics and recovery hints through typed failures; normalized process-exit messages include stderr excerpts. Generic Swift-cache locking is unchanged.
8 files, +413/−89 (net +324). Final round: 2 files, +24/−12; one details-factory call replaces the handwritten process-exit details. No lifecycle expansion. Replaces #4188.
agent-device record start clip.mp4
agent-device record stop
Validation
Head 9dd99cfb2be5a3712aa95adaaab1b1f845138d5b; merge base 22bd671066.
- Node 24.13.1:
pnpm check:affected --run --head 9dd99cfb2be5a3712aa95adaaab1b1f845138d5bpassed, receiptrun-8262HV,exactCommit: true, unchanged checkout. 347 related and 17,380 unit tests passed; one unit skipped. Both daemon-registration cases and the WebDriver timing assertion passed this round. - Focused: 24 passed. Disabling the process-exit marker: two failed, 22 passed; restored: 24 passed. Prior diagnostic-forwarding, regex, warm-order, pending-start and rejected-compile mutations detected regressions. Missing-xcrun compatibility comparison passed main
e6ac165961and earlier head823b8d1d01. - Live at
823b8d1d01, required iPhone Air: cold start 2.237s; verified early stop 10.435s/70s; warm stop 0.794s. Simulator/daemon shut down; isolated cleanup complete. - Cubic threads addressed. CI coverage, provider integration and platform smoke remain required. Self-reviewed; no separate reviewer available this round.