`asyncio` (~5ms) only matters for infected-aio actors yet gets
imported by every cold `import tractor` via module-lvl
`.to_asyncio` imports in the debug-REPL + spawn-entry mods.
Deats,
- `devx.debug._trace`/`._tty_lock`: mv `import asyncio` under
`TYPE_CHECKING` + fn-local it at the two
`asyncio.current_task()` call-sites; fn-local the
`run_trio_task_in_future` imports in the infected-aio-only
branches.
- `spawn._entry`: fn-local `run_as_asyncio_guest` inside the
`infect_asyncio=True` branches of `_mp_main()`/
`_trio_main()`.
- `tractor/__init__.py`: add a PEP-562 module `__getattr__`
lazy-loading `.to_asyncio` on first attr-access so the
public `tractor.to_asyncio.<attr>` API (e.g.
`LinkedTaskChannel` annots in
`test_child_manages_service_nursery.py` + downstream users)
keeps working unchanged.
Prompt-IO: ai/prompt-io/claude/20260702T155626Z_65bf9df5_prompt_io.md
(this patch was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code