- `opencode_idle.py`: During a live OpenCode smoke, switch models and verify
  that `session.model` follows the active model before summarize; if it lags,
  source the compaction model from the newest user event's `info.model` (G2 O3).
- `projections/*`: `ResolvedLaunchSpec.claude_runtime` (formerly `claude_plugin_dirs`) is Claude-only but
  forced a `_DELEGATED_FIELDS` edit in six non-Claude projections, following the
  `disallowed_tools` / `pi_extension_entrypoints` / `opencode_version`
  precedent. That is the 10-file-edit smell from `AGENTS.md`; the next
  harness-specific spec field should go on a per-harness spec extension rather
  than another row in every projection (thermo F7).
- `codex_idle.py` and `../notify/label.py`: two separate `tmux` subprocess helpers. One
  `capture_pane(pane, timeout)` in `lib/platform/` (or a harness-level
  `tmux.py`) serves the sensor and the label (thermo F10).
- `opencode_idle.py`: two dialects (frozen V1, V2) now share
  `_OpenCodeIdleSensorBase` in one ~700-line module. When V2 grows again,
  move it to `opencode_v2_idle.py` with the base in `opencode_idle.py`,
  mirroring the `connections/opencode_http.py` / `opencode_v2_http.py` split.
- `connections/opencode_http.py`: split `events()` into a per-response drain that
  reports its close reason and small outer policies for spawn and primary-observer
  lifetimes; the current shared loop intentionally keeps the review fold bounded.
- `claude_inbox.py`: posting to Claude's inbox is fire-and-forget, because the socket replies with nothing. Claude can send a `peer_message_status` receipt (delivered/held/refused) to a sender's `uds:` reply address, but the format was found only in the bundle and isn't documented. If it becomes documented, bind a temporary reply socket so `spawn inject` can report "held for approval" or "refused" instead of just "posted" (`work:claude-mod-inject` D7).
- `../claude_runtime/meridian-idle/`: a TUI primary could also show child-spawn status through `$.ui.status`, and get native `done`/`rearm` tools via `$.tool.register`. Both were proven in probe p8415. They're left out because `spawn done`/`rearm` act only on resident spawns, and a user ends a TUI primary. Add them to the existing idle mod if primaries gain a resident/completion contract (`work:claude-mod-inject` D7).
