tractor/examples
Gud Boi 13ffb13be5 Test SIGINT teardown with stalled IPC transports
Add `examples.advanced_faults.ipc_stalls` and an external
`RootMonitor` so SIGINT delivery and shutdown evidence stay
independent of the stalled actor channels. Exercise six Linux
TCP cases with the `trio` spawner: healthy IPC, context receive,
send, both directions, context cancel send, and both directions
plus the subactor `Portal` cancel send.

Deats,
- Split cancellable send gates from buffered receive gates, and
  require actual parked operations before publishing readiness.
- Keep the OOB context `Channel` distinct from the child-control
  `Portal`; context-only faults retain cooperative child exit.
- Require finite cancel-send expiry, runtime hard-reap logs,
  SIGKILL status and completed `waitpid` for the control fault.
- Bound readiness and shutdown with an independent stdout
  watchdog; rescue cleanup cannot satisfy teardown assertions.
- Use `get_rando_addr()` for unreserved registry port selection,
  raise `TimeoutError` on watchdog expiry, and retain structured
  shutdown evidence through `record_property`.

These waits model cancellable runtime unresponsiveness, not
kernel TCP loss or an uninterruptible syscall. Preserve human
review decisions and historical working-tree verification in
the prompt provenance; exact-tree plan checks remain pending.

Prompt-IO: ai/prompt-io/opencode/20260923_ipc_fault_regressions.md

(this commit msg was generated in some part by `opencode` using
`gpt-6.1-sol` (`openai`))
2026-10-30 13:13:37 -04:00
..
advanced_faults Test SIGINT teardown with stalled IPC transports 2026-10-30 13:13:37 -04:00
debugging Polish the debugger examples 2026-08-29 19:01:34 -04:00
discovery Harden the dedicated registrar example 2026-08-29 20:05:28 -04:00
integration Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
multihost/wg_lan Fix `wg_lan` server's tagged addr unpack 2026-09-02 16:57:52 -04:00
parallelism Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
trio Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
__init__.py Make example a subpkg for `python -m <mod>` testing 2022-07-27 11:40:02 -04:00
__main__.py Use trio.run() in windows tests 2021-05-07 11:21:40 -04:00
a_trynamic_first_scene.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
actor_spawning_and_causality.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
actor_spawning_and_causality_with_daemon.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
asynchronous_generators.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
full_fledged_streaming_service.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
infected_asyncio_echo_server.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
multiple_streams_one_portal.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
nested_actor_tree.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
quick_cluster.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
remote_error_propagation.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
rpc_bidir_streaming.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
service_daemon_discovery.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
service_discovery.py Show the discovered actor address 2026-08-29 20:24:25 -04:00
streaming_broadcast_fanout.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
typed_payloads.py Polish the non-debug docs examples 2026-08-29 18:58:43 -04:00
uds_transport_actor_tree.py Widen `accept_addr` in the UDS example 2026-08-29 21:46:38 -04:00