fix(recording): preserve request identity for Apple clock capture

Merged
TH
3d ago
+89-21

Summary

Carry request identity through Apple clock-anchor capture so the scoped runner provider matches. Preserve registered cancellation with an independent caller signal. Tests pin both forwarded fields.

12 files changed. Existing recording/MP4 assertions now run in PR iOS smoke, before unrelated full-tier failures, using the established Form-tab transition. Full tier includes smoke. Request identity stays optional for durable recovery; persisted shapes are unchanged. Refs #4060; part of #4045.

Validation

Head 8ec6637105756ca2ac6db4aa32307e9331ba6b6c; base 144bd59890277fd4717995588ad817597c9d6552.

  • Current-head native evidence: Apple CI merge 2311a94 executes record start, visible Form transition, record stop, playable-MP4 assertion, close/release and daemon stop. Downloaded 367,034-byte HEVC video independently probes/decodes successfully. The record-start request logs a successful real runner snapshot under the same request ID. All iOS/macOS cleanup phases pass.
  • Exact run-udo8rM: ten runnable checks passed/eight skipped/one provider stage deduplicated; exact commit, unchanged checkout. All 52 declaration guards and local checks pass. CI: 17 successful/one skipped, zero unresolved threads, mergeable.
  • Claude found no runtime defects; its test-layout finding was corrected to the established Form flow, now exercised live. Earlier omission controls retain their SHAs.

The optional clock-anchor value and real remote-provider protocol were not observed; fixtures cover scoped routing/cancellation. Earlier failed manual/native attempts remain failed with cause limits under #4060. No remaining identified merge blocker for this scope; no merge/release performed.