tractor/tractor
Gud Boi d2274d3252 Harden `ProcessLocal` struct markers
Add `FrozenProcessLocal` for immutable coordinator snapshots while
retaining the existing default wire-encoding rejection.

Prevent callers and msgspec config from replacing or omitting the
process-local sentinel. Wrap subclass validation hooks with base
checks so mutable and frozen structs cannot reopen the wire bypass.

Cover direct and nested encoding, shallow frozen behavior, sentinel
replacement, omitted defaults and hostile validation hooks.

Prompt-IO: ai/prompt-io/opencode/20260907T011533Z_5966e8aa_frozen_process_local.md

(this patch was generated in some part by `opencode` using `gpt-5.6-sol` (`openai`))
2026-09-07 13:58:08 -04:00
..
_testing Make UDS reaping platform-aware 2026-08-14 10:36:27 -04:00
devx Fix `pformat_caller_frame()`s bogus `indent` kwarg 2026-08-18 20:13:07 -04:00
discovery Move `Address` types to `discovery.types` 2026-09-07 13:58:02 -04:00
experimental Reap the `@pub` example daemon on stream exit 2026-08-25 20:03:18 -04:00
ipc Move `Address` types to `discovery.types` 2026-09-07 13:58:02 -04:00
msg Harden `ProcessLocal` struct markers 2026-09-07 13:58:08 -04:00
net Move `Address` types to `discovery.types` 2026-09-07 13:58:02 -04:00
runtime Move `Address` types to `discovery.types` 2026-09-07 13:58:02 -04:00
spawn Scope `open_root_actor()` to a `Bindspace` 2026-09-07 13:57:56 -04:00
to_actor Move network APIs to lazy `tractor.net` 2026-09-07 13:57:56 -04:00
trionics Reject concurrent `BroadcastReceiver.receive()` calls 2026-08-27 22:11:55 -04:00
__init__.py Move network APIs to lazy `tractor.net` 2026-09-07 13:57:56 -04:00
_child.py Pass `Bindspace` FD to `trio` children 2026-09-07 13:57:56 -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-25 19:16:32 -04:00
_exceptions.py Remove `run_in_actor()` + the ria reap cluster 2026-08-25 19:16:32 -04:00
_root.py Move `Address` types to `discovery.types` 2026-09-07 13:58:02 -04:00
_streaming.py Clean broadcast cancellation diagnostics 2026-08-27 21:18:00 -04:00
log.py Retain dynamic logger caller discovery 2026-08-12 20:52:47 -04:00
to_asyncio.py Clean broadcast cancellation diagnostics 2026-08-27 21:18:00 -04:00