---
name: sweep-dispatch-site-counts
description: "When a dispatch/spec enumerates N call-sites to change (\"stamp these 5 sites\"), sweep authoritatively (grep, cfg(test)-excluded) BEFORE building — surface a mismatch to the design authority, never silently build to either count."
metadata: 
  node_type: memory
  type: feedback
  originSessionId: 2ae24a9c-e1f9-44b2-b388-d7088d20ef21
  modified: 2026-07-31T17:33:55.028Z
---

A prescriptive dispatch that lists "the N sites" is a map, and maps drift —
triage-era site lists especially. Before stamping, run the authoritative sweep
yourself (grep the call/construct, exclude `#[cfg(test)]` fixtures, check each
hit's gating) and compare to the dispatch's count. If they differ, STOP and
surface it with evidence — don't silently build to the dispatch's number
(looks like you missed sites) nor to your own (looks like you ignored the spec).

**Why:** REMOTE-TRUTH D-2 — doyle's dispatch named FIVE `sessions::append` stamp
sites; authoritative grep found THREE (digest.rs:601 was a cfg(test) fixture; the
"livehost psyche ledger" append didn't exist — the live boundary shells `api
boundary` → reporting.rs, the same append). doyle called it "the third
map-incompleteness this wave" and made stop-and-surface the documented pattern.
Same discipline as [[single-source-discriminant-marker]] (verify the grep, don't
assume) — this is its call-site-census form.

**How to apply:** for "change these N places," produce a census
(`grep -n <symbol>` across crates, then confirm each is production vs test) and
diff against the ask. Present the census + explain each phantom/extra before
writing code. A design authority (doyle) gates on shas and would rather rule on a
3-vs-5 discrepancy up front than discover a silent divergence at review. Also: an
independent bg Explore sweep is a fast, reliable way to build the census without
burning main-context.

**Drift can be ALREADY-FIXED, not just miscounted — then PIVOT (REMOTE-TRUTH B-1,
4th drift this wave).** The triage named 3 broker `.lock().unwrap()` floor sites as
"the surviving poison class"; the sweep found ALL 3 already converted to `lock_floor`
by a REQ that shipped AFTER the triage was written (line numbers ~100 stale). Building
them = a no-op. The REAL surviving class was a DIFFERENT, larger set (sessions ×18 +
alias + OutputLog ring ×11 + pair_holds ×4) that matched the triage's own SYMPTOM
description ("panic wedges serve/dispatch → every attach deadlines") better than the
named sites did. Lesson: when the named sites are already-satisfied, don't declare
the task done — grep the SYMPTOM's mechanism (here: every bare `.lock().unwrap()` on a
serve/dispatch-reachable broker-resident lock) to find where the hazard actually
survives, then surface "named sites closed by X; real class is Y — retire or pivot?"
doyle confirmed PIVOT + redirected the seed. Pairs with [[redirect-folded-req-seeds]]
(retire/redirect the folded seed in the same commit).

**Your OWN census needs the same sweep — a row can name a caller that does not
exist (W5 T8, 2026-07-31).** My census table for the delivery-render sites listed
site 1's callers as `cmd_poll` AND `cmd_poll_shell`, and doyle ruled on the
`cmd_poll_shell` row (a shell link has no mind ⇒ attr absent, correctly not
special-cased). At build time `grep -n 'emit_event('` showed ONE caller:
`cmd_poll_shell` is the ADR-0020 raw-passthrough carve-out and composes no
envelope at all. I had read the *function's neighbourhood* and inferred its
callers instead of grepping them. So: grep the callers of every row you assert,
not just the symbol the census is about — and when a ruling was issued on a
phantom row, correct it by REPLACEMENT and say so ([[correct-by-replacement-not-annotation]]).

**Anchor census greps — prose mentions count as hits (F-5 gate triage, 5th drift
this wave).** My `grep -c '#\[test\]'` census of the SPT_HOME set_var race class
counted the attribute discussed in COMMENT PROSE (brain_survive:195,197 +
n1_pairing:91 — the files' own "a 2nd #[test] must bring the env-lock" notes),
inflating 1-test files to 2-3 and nearly over-locking them; todlando's anchored
`^#\[test\]` was authoritative and he stop-and-ruled it back. For attribute/marker
censuses: anchor (`^`), or grep -n and eyeball each hit — a count alone hides
prose/comment false positives.
