tractor/tractor
Gud Boi 47bd1a2eb6 Remove `run_in_actor()` + the ria reap cluster
The final excision of #477: with zero in-repo callers left (all
tests/examples/docs migrated to `to_actor.run()` et al) the
entire legacy one-shot machinery drops out,

- `runtime/_supervise.py`: `ActorNursery.run_in_actor()`, the
  `._cancel_after_result_on_exit` portal-set and the
  `_reap_ria_portals()` teardown-reaper (both its happy-path
  block-exit call AND the error-path snapshot + 0.5s-bounded
  collection) are deleted — one-shot result-waiting now lives
  entirely in the caller's task via `to_actor.run()`, whose
  enclosing cancel-scope bounds the wait by construction (the
  correct-scoping fix for the unbounded-reap hang class; the
  `d1fb4a1a` guard test now passes structurally).
- `runtime/_portal.py`: `Portal._submit_for_result()`,
  `._expect_result_ctx`, `._final_result_msg/_pld`,
  `.wait_for_result()` + the deprecated `.result()` alias are
  gone — a `Portal` no longer has any "main result" notion.
  NB `Context.wait_for_result()` is a different (very alive)
  API and is untouched.
- `spawn/_spawn.py`: `exhaust_portal()` +
  `cancel_on_completion()` (the reaper tasks) deleted; backend
  comment sweeps in `_trio.py`/`_mp.py`.
- `_exceptions.py`: the `NoResult` sentinel dies with its lone
  reader.
- `tests/test_ringbuf.py`: drop a daemon-portal `.result()`
  call that was already a warn + `NoResult` no-op (the ctx-acm
  exit does the real result-wait); unshadow the 2nd `sctx` as
  `rctx`.
- comment/docstring x-ref sweeps: `msg/types.py`,
  `_context.py`, `to_actor/`, `tests/test_to_actor.py`.

Gate: `test_to_actor test_spawning test_cancellation
test_infected_asyncio test_local test_rpc` = 81 passed,
3 xfailed on `trio`; +`test_ringbuf` = 70 passed, 3 skipped,
3 xfailed on `mp_spawn`.

(this patch was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code
2026-08-19 15:45:56 -04:00
..
_testing Make UDS reaping platform-aware 2026-08-14 10:36:27 -04:00
devx Fix Windows `import tractor` at the UDS root 2026-08-14 23:12:01 -04:00
discovery Derive transport registries from one list 2026-08-14 23:17:09 -04:00
experimental Fix stale `@pub` docstring example in `experimental` 2026-08-19 15:41:56 -04:00
ipc Close interrupted `MsgTransport.send()` streams 2026-08-18 20:21:10 -04:00
msg Remove `run_in_actor()` + the ria reap cluster 2026-08-19 15:45:56 -04:00
runtime Remove `run_in_actor()` + the ria reap cluster 2026-08-19 15:45:56 -04:00
spawn Remove `run_in_actor()` + the ria reap cluster 2026-08-19 15:45:56 -04:00
to_actor Remove `run_in_actor()` + the ria reap cluster 2026-08-19 15:45:56 -04:00
trionics Match Trio's startup error exactly 2026-08-12 15:45:23 -04:00
__init__.py Add `tractor.to_actor` one-shot task API subpkg 2026-08-17 22:06:08 -04:00
_child.py Add per-actor `setproctitle` via `devx._proctitle` 2026-06-17 17:39:44 -04:00
_clustering.py Use `.aid.uid` to avoid deprecation warns 2026-03-13 21:10:52 -04:00
_code_load.py Mv `load_module_from_path()` to a new `._code_load` submod 2026-02-11 21:03:29 -05:00
_context.py Remove `run_in_actor()` + the ria reap cluster 2026-08-19 15:45:56 -04:00
_exceptions.py Remove `run_in_actor()` + the ria reap cluster 2026-08-19 15:45:56 -04:00
_root.py Move registrar probes to `discovery._api` 2026-08-14 18:43:36 -04:00
_streaming.py Use `aid.uid` over manual `(name, uuid)` tuples 2026-06-27 21:38:30 -04:00
log.py Retain dynamic logger caller discovery 2026-08-12 20:52:47 -04:00
to_asyncio.py Add `maybe_signal_aio_task()` + cause-chain guard 2026-06-17 17:39:44 -04:00