---
name: commune-drop-dir-info-cwd
description: "Commune watch resolves per-endpoint against unreadable info.cwd; drops orphan silently — census 2026-07-30, ≥3 of 5 certainly orphaned; scan-root-is-population lesson."
metadata: 
  node_type: memory
  type: project
  originSessionId: d780a4d4-c7b1-44a2-818b-9d5f41a0eb4e
  modified: 2026-07-30T11:54:49.621Z
---

**Mechanism (doyle-ruled 9(e), CLOSED-mechanism / OPEN-fix, re-measured by chert + me at 8f3e10b):** the commune watch is per-endpoint, resolved against the endpoint's recorded `info.cwd` — `reporting.rs:686-698` joins a RELATIVE `commune_dir` with no base; `lifecycle.rs` `fire_echo` ~L859-866 supplies `read_info().cwd`; `lifecycle.rs:212` joins `endpoint_cwd` for relative paths. Fix is doyle's to dispatch, grill-scoped.

**Observability gap under it:** NO read verb exposes `info.cwd` (`endpoint list --json` → zero cwd fields). An agent cannot check where its own commune must land. Roster string is a derived LABEL, not the field.

**Census (doyle + deployah independent, 2026-07-30):** depth-1 glob under `~/Documents/projects/*/.claude/` → 22 dirs, commune drops = 5, signoff drops = 0. flynn ×2 (spt-core 307 B @2026-07-10T04:25:06Z, spt-mobile 1747 B @2026-07-14T01:16:01Z), perri ×2 (omp-spt, spt-claude-code), rc-exit-probe ×1 (on no endpoint = orphan, not live loss). **deployah's orphan proof needs no info.cwd:** one endpoint = at most one resolved drop dir ⇒ two drops in two dirs = ≥1 orphaned certainly; total ≥3 certain, ≤5. flynn notified by me 2026-07-30 (QUEUED).

**Why:** communes silently orphan when an endpoint's recorded cwd differs from where the agent writes; a healthy-looking resume does NOT prove consumption (flynn's correction — periodic Psyche save fakes it).

**How to apply:** verify own drop dir with flynn's nonce sentinel (unique nonce in commune body, check next brief for that exact nonce; absent-while-context-returns = wrong dir). Doyle authorized self-use; fleet standardisation waits for the grill. Lessons banked with it: THE SCAN ROOT IS THE POPULATION (doyle's census inherited the base-path defect it was investigating, one level up); when a premise is unmeasurable, look for the argument that doesn't need it; census of a live queue is `>=` at an instant (doyle observed a 6th drop consumed within seconds — ingest on a MATCHING dir completes fast); quote the mtime not the age — `ls -l` prints LOCAL (UTC-7 here), all traded stamps are UTC, naive compare overstates ages 7h. See [[psyche-fail-log-instrument]], [[v0460-published]].
