1.8 KiB
Prompt
Branched session (to_actor_subpkg_POST_WEEKLY_CUTOFF_2OPUS, now on Opus 4.8) continuing the ._ria_nursery removal after step A committed + pushed (5cd190c5/99310269):
ok continue where your superior left off please
then, after the commit-split discussion:
yup committed and pushed so take a look ma fren.
i.e. green-lighting step-B prep against the committed step-A tree.
Response summary
Step B of the ._ria_nursery removal (issue #477): delete the now-vestigial secondary nursery,
- collapse the inner
async with (collapse_eg(), trio.open_nursery() as ria_nursery)layer in_open_and_supervise_one_cancels_all_nursery—da_nurserybecomes the single nursery for ALL subactors. ActorNursery.__init__drops theria_nurseryparam + theself._ria_nurseryattr;start_actor()drops itsnursery=escape-hatch param.._cancel_after_result_on_exitkept (ria-child discriminator for_reap_ria_portals()).
Verified behavior-preserving via a first-principles argument (zero-task nursery = a bare checkpoint) + the targeted gate (test_cancellation test_spawning test_local test_rpc test_to_actor = 49 passed, 1 xfailed on trio). The two error handlers were deliberately NOT merged — that changes propagation semantics and is deferred to its own PR (TODO left at the outer except).
Files changed
tractor/runtime/_supervise.py— collapse the ria nursery layer + drop the ctor/start_actorparams + refresh the now-stale nursery comments
Human edits
None yet — committed via the drafted .claude/git_commit_msg_ria_step_b.md (user-driven git commit --edit).