678 B
678 B
Repeated teardown sites reconstruct the Actor._contexts registry key from a portal channel and context ID before popping it. Add an idempotent actor-owned helper deriving the key from the context itself, then route caller and callee context teardown through that helper.
git diff HEAD~1..HEAD -- tractor/runtime/_runtime.py tractor/runtime/_rpc.py tractor/_context.py
Keep receive-channel closure and cancellation shielding in each lifecycle owner so the helper centralizes registry machinery without changing their teardown ordering.