fix(daemon): answer a named missing session on the session, not the device
TH
41m ago+637+637+012345678901234567890123456789-39-39-01234567890123456789
Summary
Closes #3674. Requests naming a missing daemon session receive SESSION_NOT_FOUND, reason: named_session_not_found, and dispatched: no before unconstrained device selection. Sessionless and intentionally targeted paths remain available. Apple appstate keeps the typed refusal because it cannot answer a target without a session; non-Apple identity selectors retain their runtime path.
Batch provenance follows typed caller fields. Held-session waits avoid the missing-session guard import.
Validation
Current head: 81b22ab3c3b301fb482eda3628686c7bb5567d2e.
- CI is green on this head: 19 successful checks and one intentional skip, including Coverage and all four platform smoke lanes.
- The required exact-head
pnpm check:affected --runis running after its clean-tree/SHA precheck. No full-gate pass is claimed. - Historical regression pair: base
e8f24cdbafailed three assertions; earlier fixed headac9fb48f0passed all five. This is not current-head gate evidence. - This head restores Apple appstate's typed refusal and adds the record-start inventory-zero assertion. The new appstate no-resolution assertion is under review.
- Fresh independent final-head review and the requested live two-simulator repro remain pending. Review replies and final validation will cite measured results.