Conversation
Size Report
Startup median (7 runs, lower is better):
|
|
This PR is ready at 07a82a6. The code is correct, and the focused-test and mutation evidence in the PR body covers the new behavior. No conflicts. Not blocking, and you can take or leave these. First, the touch probe in interaction-touch-reference-frame.ts checks the session lifetime only on entry and in the catch, so after the awaits at lines 38 and 52 it can still call The checks are red, and I think the failures are unrelated to this diff. The TS2883 errors are in app-log-session-resource.ts, screen-recording-session-binding.ts and session-capture-binding.ts, which this PR does not touch. They come from Before merge, please rerun the iOS smoke job. The TS2883 errors need a fix on the #3155 base branch. |
|
The first iOS Smoke attempt at This establishes where the run stalled. It does not prove why the prompt remained or identify a regression in either ownership change. The artifact records no interaction commands, and its cleanup Failed attempt. The unchanged-head rerun passed at |
54e813a to
1be1932
Compare
07a82a6 to
d3d0c57
Compare
1be1932 to
99e8d0c
Compare
d3d0c57 to
7e46a5a
Compare
7e46a5a to
e4ea909
Compare
801a4ba to
61ef999
Compare
408192c to
94807d3
Compare
61ef999 to
624321d
Compare
|
The delayed probe finding is addressed in #3174 at Your shutdown-summary correction is right. The base already looked up hints using The parent fixes declaration generation with an inline clear-result union. The follow-up removes the redundant type export that became invalid during rebasing. Exact-head affected checks now pass, including declaration generation and 971 related tests. The unchanged-head iOS rerun passed at the original |
624321d to
a3e7316
Compare
94807d3 to
111f50f
Compare
a3e7316 to
17b90d1
Compare
|
Consolidated into #3144 as part of reducing #3116 to seven PRs. The composition preserves the complete pre-consolidation source tree, including tests and later review corrections. This PR is superseded; its review discussion and native evidence remain available. Outstanding findings transfer to the owning keeper in the implementation record. |

Summary
Shutdown now captures runtime hints from the session's stored address before any cleanup await. The owning teardown helper supplies those values to application cleanup and refuses a replacement lifetime's hints. This covers implicit, cwd-scoped sessions whose public name differs from their address.
Optional point-probe liveness checks now live inside the probe helper. A retired session cannot start a probe or emit a late failure warning; a live failure still reports diagnostics.
Follows #3154; addresses its shutdown and probe review findings for #3116. Five files changed, 108 additions and 37 deletions.
Validation
Tested
07a82a682374f970abb80edac24330ac582881a7:pnpm check:quickandpnpm check:affected --base chore/session-state-write-ownership --runpass; 962 tests across 171 files.Full
pnpm checkpasses: 12,241 unit tests, tooling, packaging, leak checks and smoke controls. The implicit-session iOS shutdown control passes: correct scoped hints, unchanged daemon lifetime, both native preferences removed, and owned claim/runner cleanup complete. GitHub checks remain authoritative for CI. Adversarial tests establish the lifetime contract without claiming every replacement schedule is reachable through ordinary locked requests.