Follow-up (2) from #3141 / #3145.
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:
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.
Follow-up (2) from #3141 / #3145.
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
resolveTransitionand 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:
fam.node._transition, which is whatever last stamped the firewall, and 2.0.0-rc.4 | optimistic store, read in an effect, changes the visible rendering. and has inconsistent value when logged and when rendered. #3141 showed that stamp can be a stranger's;transitionBlocked's store-half (hold while flight pending + overrides live) stops needing to reconstruct ownership from_optimisticStoresmembership.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.