Parent: #502 Depends on: #978, #979, #980
Goal
Account for runnable and blocked engine-owned OS threads at the typed runtime boundary so shared CPU-slot admission can distinguish work consuming a core from work parked on a dependency.
Scope
- Add nested, thread-local blocking scopes for every typed runtime thread.
- Record current and peak runnable/blocked counts plus transition totals per resource kind in the coherent public snapshot.
- Mark audited blocking paths for agents, shared-realm Threads, Workers, GC/GIL waits, and the execution watchdog.
- Keep non-runtime host and test threads a zero-cost/no-op telemetry path.
- Add deterministic concurrent and nested-transition tests under normal and TSan builds.
- Update the versioned resource schema and inventory documentation.
Invariants
live = runnable + blockedfor every coherent snapshot.- Each started runtime thread is runnable exactly once before its entry function and leaves exactly one state at completion.
- Nested blocking scopes produce one outer blocked transition and one matching runnable transition.
- No scheduling limit is enforced in this issue; #502 can only add shared slots after this accounting is complete.