Conversation
Size Report
Startup median (7 runs, lower is better):
|
There was a problem hiding this comment.
All reported issues were addressed across 12 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
|
At e180d9f, one change is needed before merge. closeAdmission() at daemon-runtime.ts:751 runs before Not blocking, take or leave: the shutdown test in session-store-lifetime.test.ts:95 calls Could this land together with #3140? On checks, Smoke Tests failed in The close teardown route changed, since teardown now re-resolves the record and can throw Before merge, the teardown snapshot fix and its shutdown-route test need to land, and Smoke needs a green run that reaches open and close. |
e180d9f to
a760a6a
Compare
Summary
Session refs now identify a stable, private lifetime entry as well as their stored address and captured record. Lookups remain fresh wrappers; rebuilding a record does not retarget
.session. Updates resolve the latest matching record. Retirement checks the lifetime before deleting the record and runtime hints.Shutdown closes publication admission before its first await. Close carries the ref captured before runtime admission rather than constructing one later. Tests construct real stored refs.
flowchart LR Ref[Captured ref: lifetime A, record 1] --> Match{Does entry A still occupy the address?} Match -->|Yes| Current[Read or patch current record 2] Match -->|No| Refuse[Refuse update; ignore stale retirement]Depends on #3134. Ref #3116. Twelve files, 300 gross changed lines. Existing upsert, address-only deletion and reverse-lookup callers migrate in dependent layers; this is the lifetime foundation.
Validation
Tested
e180d9f938: