---
name: reap-step-duration-is-not-the-window
description: "A pre-relink reap opens a no-listener window that lasts until the NEXT step's daemon spawns — the reap step's own 2s duration is not the window's size"
metadata: 
  node_type: memory
  type: feedback
  originSessionId: 42fe48b4-6e21-4b56-bd8d-3fff633a4b40
  modified: 2026-08-03T00:02:14.922Z
---

I told doyle golden.yml's pre-relink reap leaves "a 2s window where role A has no listener." Wrong by an order of magnitude. **2s is the reap STEP's duration. The window runs from the reap until the next step's daemon actually exists** — and that step has to relink its test binary first. Measured off the live process table while the rung was still running (golden 30771155390): reap 23:38:02→23:38:04, A's first workspace daemon at **23:38:57**. The window is **~55 seconds**, and all three of B's failed dial legs land inside it.

**Why:** a 55s target and a 2s target support completely different hypotheses. At 2s you dismiss the window as too small to hit; at 55s it becomes the leading suspect for anything reachability-shaped in that span. I nearly reasoned myself out of a live candidate by quoting a number the CI step list handed me instead of one I measured.

**How to apply:** the boundary of a resource-absent window is **resource reappears**, never **cleanup step returns**. Measure the reappearance directly — on Windows, `Get-CimInstance Win32_Process` with `CreationDate`, taken WHILE the job still runs, because the runner recycles the workdir and the process table is gone the moment the job ends. Session-0 CI processes show a **null ExecutablePath** (that is the signature, not an error); an absent ROW means the process exited, an unreadable field does not. And state the gap you cannot close: the 55s window explained the poisoned dial legs but NOT the send that failed ~80s after it shut — say that rather than letting the window absorb both.

Kin: [[stale-breadcrumb-tree-kill-class]], [[torn-window-needs-reachability]], [[refuse-mechanism-until-something-discriminates]], [[derived-view-vs-on-disk-record]].
