You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Optimistic store truth-flight should own its transaction rather than rely on ambient adoption #3146
The generator store's authoritative flight (initial run, per-yield landings, post-await draft writes) has no transaction of its own: each landing's settle path asks resolveTransition and otherwise joins whatever is ambient (initTransition(null)). #3145 closed the window in which a stranger transaction could be ambient at landing time, but the underlying shape remains: the flight's relationship to transactions is circumstantial (whatever is ambient or stamped at each landing) rather than declared.
Giving the truth-flight a dedicated transaction would make the semantics explicit:
every landing of one flight belongs to the same, flight-owned transaction — entanglement with other work happens only through the documented graph-driven channels (A15), never through timing;
transitionBlocked's store-half (hold while flight pending + overrides live) stops needing to reconstruct ownership from _optimisticStores membership.
Needs design attention on: per-yield commit timing (each yield should still reveal on arrival per A18(1) — one flight-transaction must not batch all yields to flight end), and interaction with refresh()-initiated flights which already carry the refresh transaction.
Fixed in fb5061c on next — the optimistic store truth-flight now owns a declared transaction rather than relying on ambient adoption. Ships in the next RC.
Activity
fix(signals): give the optimistic store truth-flight an owned, declar…
ryansolid commentedon Sep 1, 2026
Fixed in fb5061c on next — the optimistic store truth-flight now owns a declared transaction rather than relying on ambient adoption. Ships in the next RC.
fix(signals): an optimistic store's first flight declares no transact…