---
name: psyche-resident-multisubnet-churn
description: "2026-07-04 doyle field residual classified: resident psyche runner crashloops silently (~5s rehost churn, ordinal 6491 on hall-bf) on multi-subnet homes — its `spt ready <id> --once` poll can't pass --subnet (daemon fills lack it), READY_FAIL is treated as perch-gone → silent exit 0. Core seam needed (F-017 sibling); adapter loud-fail patch offered; strongest F-030 floor evidence yet."
metadata: 
  node_type: memory
  type: project
  originSessionId: fd0a5f34-2e68-404b-b6f6-e440c02f0a22
---

Found during the hall-bf field-recovery confirm (post v0.13.3 flip). **The 0.13.3/0.13.1 resident psyche model cannot hold residency on a multi-subnet home**: the runner's per-pulse poll `spt ready <id> --once` (psyche.rs poll_cmd, no --subnet) hits the F-017 multi-subnet guard — `READY_FAIL: HOME: this node holds 2 subnets — pass --subnet` (exit 1, stderr, empty stdout; repro'd with a probe id) — and the runner's poll-fail branch treats ANY non-success as "perch gone = clean exit 0, silent". Daemon residency rehosts → ~5s churn (hall-bf-psyche sessions.log ordinal 6491+, synthetic sess-<pid>-<ts> ids, no real CC session ever binds). Started when BIGNET joined the node (2026-07-03). Psyche TURNS still work (seed/revival/psyche_download are daemon-driven); only the resident loop dies. Same NONRESIDENT symptom in iso/no-subnet homes — plausibly same verb, different refusal (unverified).

**Core half (doyle, F-017 sibling, classified not worked-around):** the runner cannot know the subnet — daemon fills only {id, session_id, psyche_dir, psyche_prompt}; nested perch home = parent's, daemon-known. Needs subnet-less nested resolution or a {subnet}/{home} fill. Also his: ~12/min rehost never trips C3(b); relay-unregister casualty (residual #1) is his priority-bumped seed.

**Adapter half SHIPPED — v0.13.4 @d3506fe (2026-07-04, doyle GO, Latest, node applied):** `poll_refused()` classifies READY_FAIL-marked poll failures as faults → `PSYCHE_POLL_FAIL` loud nonzero (exit 4) for psyche_host_error; plain perch-close keeps the quiet lifecycle exit. KH §2.6 second leg + 2 units. Kills invisibility; residency itself waits on the core seam (F-030 wave). Doyle also owns: C3(b) blind to the ~12/min rehost cadence (boot-records vs ledger boundaries, own item); iso NONRESIDENT verify inside F-030.

**F-030 floor evidence from BOTH directions now:** daemon expects residency the ephemeral shim can't give (the v0.13.2 bad-ship field case, [[checkpoint-wake-broken-postclear-forcenative]]) AND the resident model can't hold residency on modern multi-subnet homes (this). The parked ephemeral redesign ([[psyche-ephemeral-redesign]], branch `psyche-ephemeral-parked`) fixes both when F-030 wires the driver.
