greprag 5.42.1 → 5.42.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- /** Local watcher process registry + severed-ancestry orphan reaper.
1
+ /** Local watcher process registry + owner-pid orphan reaper.
2
2
  *
3
3
  * The architectural correction the whole monitor-resilience saga circled but
4
4
  * never landed (see adr/monitor-resilience.md 2026-05-28 "severed-ancestry =
@@ -16,14 +16,15 @@
16
16
  * breaks exits and removes its own pidfile), a live pidfile means a live,
17
17
  * *consumed* watcher.
18
18
  *
19
- * 2. **severed-ancestry reap** — `reapOrphanWatchers` snapshots the process
20
- * table and kills any `inbox watch` process whose ancestry no longer
21
- * reaches a live `claude.exe`. Backstop for the case EPIPE can't catch (a
22
- * consumer hard-killed without closing the pipe). SAFE BY CONSTRUCTION: the
23
- * kill set is intersected with "cmdline contains `inbox watch`", so it can
24
- * only ever terminate greprag watchers never claude.exe, an editor, or an
25
- * unrelated node server. A bug can at worst kill a watcher that then
26
- * re-arms; it can never touch the operator's work.
19
+ * 2. **owner-pid reap** — `reapOrphanWatchers` kills any `inbox watch` process
20
+ * whose stamped `--owner-pid` names a `claude.exe` that is no longer alive.
21
+ * Backstop for the case EPIPE can't catch (a consumer hard-killed without
22
+ * closing the pipe). A watcher with NO `--owner-pid` is KEPT, never killed:
23
+ * the old ancestry-walk fallback PROVED to false-kill live backgrounded
24
+ * watchers (2026-06-05a / 2026-06-13) and was retired. SAFE BY CONSTRUCTION:
25
+ * the kill set is intersected with "cmdline contains `inbox watch`", so it
26
+ * can only ever terminate greprag watchers — never claude.exe, an editor, or
27
+ * an unrelated node server.
27
28
  *
28
29
  * adr: adr/monitor-resilience.md */
29
30
  export interface WatcherPidRecord {
@@ -75,13 +76,32 @@ export interface ProcRow {
75
76
  * time). The hook stamps the result into the watch command (`--owner-pid`) so
76
77
  * the reaper can later ask "is that exact claude.exe still alive?" instead of
77
78
  * re-walking a chain that no longer exists. Returns null if no claude.exe
78
- * ancestor is found (caller omits the flag → reaper falls back to ancestry).
79
+ * ancestor is found (caller omits the flag → the watcher is flagless → the reaper
80
+ * KEEPS it, since the ancestry fallback that used to reap it was a false-kill).
79
81
  * adr: adr/monitor-resilience.md */
80
82
  export declare function resolveClaudeOwnerPid(cacheShort?: string): number | null;
81
- /** Decide whether a watcher candidate is a severed orphan, and why. Under the
82
- * REAP_BY_OWNER flag, prefers the stamped owner PID (robust); falls back to the
83
- * ancestry walk for legacy watchers with no `--owner-pid`. Off-flag: pure
84
- * ancestry walk (unchanged behaviour). adr: adr/monitor-resilience.md */
83
+ /** Decide whether a watcher candidate is a severed orphan, and why. The ONLY
84
+ * reap signal is the stamped owner PID: a watcher is severed iff its
85
+ * `--owner-pid` names a claude.exe that is no longer alive. A watcher with NO
86
+ * `--owner-pid` is KEPT never ancestry-walked.
87
+ *
88
+ * Why the ancestry fallback was retired (2026-06-13): the walk "is a live
89
+ * claude.exe still my ancestor?" PROVED to false-kill LIVE backgrounded watchers
90
+ * (adr 2026-06-05a) — a Monitor-armed watcher's launcher shell exits by design,
91
+ * so within seconds of a healthy arm its chain to claude.exe is already severed,
92
+ * indistinguishable from a real orphan. It was the dominant false-kill on
93
+ * flagless watchers, and flagless is not rare: the bare arm form is taught by the
94
+ * skill docs AND emitted by the hook itself whenever resolveClaudeOwnerPid
95
+ * returns null on a snapshot miss (so `--owner-pid` cannot be guaranteed at the
96
+ * arm site). The only safe verdict for a flagless watcher is therefore KEEP.
97
+ * Genuine death of a flagless watcher is still caught at the right layer: its
98
+ * consumer pipe breaks on session reload/end → EPIPE-terminal (consumer-gone)
99
+ * tears it down, and `sweepDeadPidfiles` collects a dead-PID pidfile. The
100
+ * residual — a flagless watcher orphaned by a TaskStop while claude.exe stays
101
+ * alive (no pipe break, no owner to die) — is one idle process, the exact blind
102
+ * spot the 2026-06-11 revert already knowingly left open. This also retires the
103
+ * GREPRAG_REAP_BY_OWNER escape hatch, whose only effect was to re-enable the
104
+ * proven-bad pure-ancestry walk. adr: adr/monitor-resilience.md */
85
105
  export declare function severedVerdict(w: ProcRow, byPid: Map<number, ProcRow>): {
86
106
  severed: boolean;
87
107
  reason: string;
@@ -91,11 +111,11 @@ export interface ReapResult {
91
111
  orphans: number;
92
112
  killed: number[];
93
113
  }
94
- /** Kill every `inbox watch` process whose ancestry no longer reaches a live
95
- * claude.exe (severed = orphan), plus sweep dead-PID pidfiles. Returns a
96
- * summary. Best-effort and bounded: a snapshot failure yields a zero result;
97
- * the kill set is guaranteed (by `WATCHER_CMD_RE`) to contain only greprag
98
- * watchers. Intended to run at SessionStart, before this session arms at that
99
- * moment every live watcher belongs to a PRIOR incarnation, so reaping is the
100
- * common path, not the exception. */
114
+ /** Kill every `inbox watch` process whose stamped `--owner-pid` names a dead
115
+ * claude.exe (= orphan), plus sweep dead-PID pidfiles. Flagless watchers are
116
+ * kept (see severedVerdict). Returns a summary. Best-effort and bounded: a
117
+ * snapshot failure yields a zero result; the kill set is guaranteed (by
118
+ * `WATCHER_CMD_RE`) to contain only greprag watchers. Intended to run at
119
+ * SessionStart, before this session arms at that moment a watcher with a dead
120
+ * owner belongs to a PRIOR incarnation, so reaping it is correct. */
101
121
  export declare function reapOrphanWatchers(): ReapResult;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- /** Local watcher process registry + severed-ancestry orphan reaper.
2
+ /** Local watcher process registry + owner-pid orphan reaper.
3
3
  *
4
4
  * The architectural correction the whole monitor-resilience saga circled but
5
5
  * never landed (see adr/monitor-resilience.md 2026-05-28 "severed-ancestry =
@@ -17,14 +17,15 @@
17
17
  * breaks exits and removes its own pidfile), a live pidfile means a live,
18
18
  * *consumed* watcher.
19
19
  *
20
- * 2. **severed-ancestry reap** — `reapOrphanWatchers` snapshots the process
21
- * table and kills any `inbox watch` process whose ancestry no longer
22
- * reaches a live `claude.exe`. Backstop for the case EPIPE can't catch (a
23
- * consumer hard-killed without closing the pipe). SAFE BY CONSTRUCTION: the
24
- * kill set is intersected with "cmdline contains `inbox watch`", so it can
25
- * only ever terminate greprag watchers never claude.exe, an editor, or an
26
- * unrelated node server. A bug can at worst kill a watcher that then
27
- * re-arms; it can never touch the operator's work.
20
+ * 2. **owner-pid reap** — `reapOrphanWatchers` kills any `inbox watch` process
21
+ * whose stamped `--owner-pid` names a `claude.exe` that is no longer alive.
22
+ * Backstop for the case EPIPE can't catch (a consumer hard-killed without
23
+ * closing the pipe). A watcher with NO `--owner-pid` is KEPT, never killed:
24
+ * the old ancestry-walk fallback PROVED to false-kill live backgrounded
25
+ * watchers (2026-06-05a / 2026-06-13) and was retired. SAFE BY CONSTRUCTION:
26
+ * the kill set is intersected with "cmdline contains `inbox watch`", so it
27
+ * can only ever terminate greprag watchers — never claude.exe, an editor, or
28
+ * an unrelated node server.
28
29
  *
29
30
  * adr: adr/monitor-resilience.md */
30
31
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
@@ -97,12 +98,10 @@ const OWNER_PID_RE = /--owner-pid[=\s]+(\d+)/;
97
98
  // arm-line bash, not the persistent Monitor task, so a dead stamp under a live
98
99
  // owner false-flagged live watchers as orphans. Owner-pid liveness is the test.
99
100
  // adr: adr/monitor-resilience.md
100
- // LIVE as of 2026-06-05 (before/after passed: keeps live watchers, still reaps
101
- // genuine orphans, falls back to the ancestry walk for legacy watchers with no
102
- // `--owner-pid`). Default ON; set GREPRAG_REAP_BY_OWNER=0 as an escape hatch to
103
- // revert to the pure ancestry walk. Read per-call (not a load-time const) so a
104
- // single process can exercise both modes. adr: adr/monitor-resilience.md
105
- function reapByOwner() { return process.env.GREPRAG_REAP_BY_OWNER !== '0'; }
101
+ // The ancestry-walk fallback (and its GREPRAG_REAP_BY_OWNER escape hatch) was
102
+ // RETIRED 2026-06-13: it false-killed live backgrounded watchers (see
103
+ // severedVerdict). Owner-pid liveness is now the ONLY reap signal; a flagless
104
+ // watcher is kept. adr: adr/monitor-resilience.md
106
105
  function grepragHome() {
107
106
  const home = process.env.HOME || process.env.USERPROFILE || '';
108
107
  return home ? path.join(home, '.greprag') : null;
@@ -312,27 +311,6 @@ function snapshotProcs() {
312
311
  return [];
313
312
  }
314
313
  }
315
- /** Walk `start`'s parent chain in the snapshot; true iff a live `claude.exe`
316
- * appears as an ancestor. A healthy watcher is launched (via the Monitor task)
317
- * under the live claude.exe, so its chain reaches it; an orphan's owning
318
- * claude.exe died on reload, so its chain is severed (a parent PID absent from
319
- * the live snapshot) before any claude.exe. Depth- and cycle-guarded. */
320
- function hasLiveClaudeAncestor(start, byPid) {
321
- let cur = start;
322
- const seen = new Set();
323
- for (let depth = 0; cur && depth < 32; depth++) {
324
- if (seen.has(cur.pid))
325
- break; // cycle guard
326
- seen.add(cur.pid);
327
- if (CLAUDE_PROC_RE.test(cur.name))
328
- return true; // start/ancestor IS claude
329
- const parent = byPid.get(cur.ppid);
330
- if (!parent)
331
- return false; // severed — parent not in the live table
332
- cur = parent;
333
- }
334
- return false;
335
- }
336
314
  /** Owning claude.exe PID parsed from a watcher's command line (`--owner-pid N`),
337
315
  * or null if absent (a legacy watcher armed before this flag existed). */
338
316
  function ownerPidFromCmd(cmd) {
@@ -347,7 +325,8 @@ function ownerPidFromCmd(cmd) {
347
325
  * time). The hook stamps the result into the watch command (`--owner-pid`) so
348
326
  * the reaper can later ask "is that exact claude.exe still alive?" instead of
349
327
  * re-walking a chain that no longer exists. Returns null if no claude.exe
350
- * ancestor is found (caller omits the flag → reaper falls back to ancestry).
328
+ * ancestor is found (caller omits the flag → the watcher is flagless → the reaper
329
+ * KEEPS it, since the ancestry fallback that used to reap it was a false-kill).
351
330
  * adr: adr/monitor-resilience.md */
352
331
  function resolveClaudeOwnerPid(cacheShort) {
353
332
  // Cache hit: the owning claude.exe is still alive (stable for the session) —
@@ -391,28 +370,43 @@ function isLiveClaude(pid, byPid) {
391
370
  const p = byPid.get(pid);
392
371
  return !!p && CLAUDE_PROC_RE.test(p.name);
393
372
  }
394
- /** Decide whether a watcher candidate is a severed orphan, and why. Under the
395
- * REAP_BY_OWNER flag, prefers the stamped owner PID (robust); falls back to the
396
- * ancestry walk for legacy watchers with no `--owner-pid`. Off-flag: pure
397
- * ancestry walk (unchanged behaviour). adr: adr/monitor-resilience.md */
373
+ /** Decide whether a watcher candidate is a severed orphan, and why. The ONLY
374
+ * reap signal is the stamped owner PID: a watcher is severed iff its
375
+ * `--owner-pid` names a claude.exe that is no longer alive. A watcher with NO
376
+ * `--owner-pid` is KEPT never ancestry-walked.
377
+ *
378
+ * Why the ancestry fallback was retired (2026-06-13): the walk "is a live
379
+ * claude.exe still my ancestor?" PROVED to false-kill LIVE backgrounded watchers
380
+ * (adr 2026-06-05a) — a Monitor-armed watcher's launcher shell exits by design,
381
+ * so within seconds of a healthy arm its chain to claude.exe is already severed,
382
+ * indistinguishable from a real orphan. It was the dominant false-kill on
383
+ * flagless watchers, and flagless is not rare: the bare arm form is taught by the
384
+ * skill docs AND emitted by the hook itself whenever resolveClaudeOwnerPid
385
+ * returns null on a snapshot miss (so `--owner-pid` cannot be guaranteed at the
386
+ * arm site). The only safe verdict for a flagless watcher is therefore KEEP.
387
+ * Genuine death of a flagless watcher is still caught at the right layer: its
388
+ * consumer pipe breaks on session reload/end → EPIPE-terminal (consumer-gone)
389
+ * tears it down, and `sweepDeadPidfiles` collects a dead-PID pidfile. The
390
+ * residual — a flagless watcher orphaned by a TaskStop while claude.exe stays
391
+ * alive (no pipe break, no owner to die) — is one idle process, the exact blind
392
+ * spot the 2026-06-11 revert already knowingly left open. This also retires the
393
+ * GREPRAG_REAP_BY_OWNER escape hatch, whose only effect was to re-enable the
394
+ * proven-bad pure-ancestry walk. adr: adr/monitor-resilience.md */
398
395
  function severedVerdict(w, byPid) {
399
- if (reapByOwner()) {
400
- const owner = ownerPidFromCmd(w.cmd);
401
- if (owner !== null) {
402
- const live = isLiveClaude(owner, byPid);
403
- return { severed: !live, reason: `owner=${owner}:${live ? 'live-claude' : 'dead'}` };
404
- }
405
- return { severed: !hasLiveClaudeAncestor(w, byPid), reason: 'no-owner-flag→ancestry' };
396
+ const owner = ownerPidFromCmd(w.cmd);
397
+ if (owner === null) {
398
+ return { severed: false, reason: 'no-owner-flag→keep (ancestry retired)' };
406
399
  }
407
- return { severed: !hasLiveClaudeAncestor(w, byPid), reason: 'ancestry' };
400
+ const live = isLiveClaude(owner, byPid);
401
+ return { severed: !live, reason: `owner=${owner}:${live ? 'live-claude' : 'dead'}` };
408
402
  }
409
- /** Kill every `inbox watch` process whose ancestry no longer reaches a live
410
- * claude.exe (severed = orphan), plus sweep dead-PID pidfiles. Returns a
411
- * summary. Best-effort and bounded: a snapshot failure yields a zero result;
412
- * the kill set is guaranteed (by `WATCHER_CMD_RE`) to contain only greprag
413
- * watchers. Intended to run at SessionStart, before this session arms at that
414
- * moment every live watcher belongs to a PRIOR incarnation, so reaping is the
415
- * common path, not the exception. */
403
+ /** Kill every `inbox watch` process whose stamped `--owner-pid` names a dead
404
+ * claude.exe (= orphan), plus sweep dead-PID pidfiles. Flagless watchers are
405
+ * kept (see severedVerdict). Returns a summary. Best-effort and bounded: a
406
+ * snapshot failure yields a zero result; the kill set is guaranteed (by
407
+ * `WATCHER_CMD_RE`) to contain only greprag watchers. Intended to run at
408
+ * SessionStart, before this session arms at that moment a watcher with a dead
409
+ * owner belongs to a PRIOR incarnation, so reaping it is correct. */
416
410
  function reapOrphanWatchers() {
417
411
  sweepDeadPidfiles();
418
412
  // Demand-gate the snapshot. The process-table photograph (a spawned
@@ -424,13 +418,17 @@ function reapOrphanWatchers() {
424
418
  // which there is anything to reap. If no pidfile reports a dead owner, there is
425
419
  // nothing severed → skip the snapshot entirely. The snapshot now runs ONLY when
426
420
  // a real orphan exists (where its cost is justified), and still performs the
427
- // full cmdline-verified, recycle-safe kill below. Legacy pidfiles without an
428
- // ownerPid force one snapshot so they're not stranded uncollected.
429
- // adr: adr/monitor-resilience.md
421
+ // full cmdline-verified, recycle-safe kill below. Flagless/legacy pidfiles (no
422
+ // ownerPid) NO LONGER force a snapshot: severedVerdict now KEEPS flagless
423
+ // watchers (the ancestry walk that used to "collect" them was a false-kill), so
424
+ // there is nothing to reap for them, and a dead-PID pidfile is already collected
425
+ // by sweepDeadPidfiles above. Dropping the legacy force-snapshot removes the
426
+ // bare-pidfile self-trigger that fired a conhost-leaking process snapshot on
427
+ // every SessionStart (the very leak the demand-gate exists to prevent — a single
428
+ // bare watcher re-armed it). adr: adr/monitor-resilience.md
430
429
  const pidfiles = readAllPidfiles();
431
430
  const severedByOwner = pidfiles.some(r => typeof r.ownerPid === 'number' && !pidAlive(r.ownerPid));
432
- const hasLegacy = pidfiles.some(r => typeof r.ownerPid !== 'number');
433
- if (!severedByOwner && !hasLegacy) {
431
+ if (!severedByOwner) {
434
432
  watcherAuditLog(`reap-summary gated no-severed-owner pidfiles=${pidfiles.length} (snapshot skipped)`);
435
433
  return { scanned: 0, orphans: 0, killed: [] };
436
434
  }
@@ -457,7 +455,7 @@ function reapOrphanWatchers() {
457
455
  if (killProcessTree(p.pid))
458
456
  killed.push(p.pid);
459
457
  }
460
- watcherAuditLog(`reap-summary mode=${reapByOwner() ? 'owner-pid' : 'ancestry'} scanned=${watchers.length} severed=${severed.length} killed=[${killed.join(',')}]`);
458
+ watcherAuditLog(`reap-summary mode=owner-pid scanned=${watchers.length} severed=${severed.length} killed=[${killed.join(',')}]`);
461
459
  return { scanned: watchers.length, orphans: severed.length, killed };
462
460
  }
463
461
  /** Force-kill a process and its descendants. `taskkill /T` reaps the tree in one
@@ -1 +1 @@
1
- {"version":3,"file":"watcher-registry.js","sourceRoot":"","sources":["../../src/commands/watcher-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watcher-registry.js","sourceRoot":"","sources":["../../src/commands/watcher-registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "greprag",
3
- "version": "5.42.1",
3
+ "version": "5.42.2",
4
4
  "description": "GrepRAG \u2014 agent memory for Claude Code, Codex, and OpenCode.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -33,7 +33,7 @@ It does **not** respawn on: clean exit (code 0), Ctrl-C / `TaskStop` (SIGINT/SIG
33
33
 
34
34
  **Scope is within-session only.** The supervisor makes the watcher rock-solid while the session stays open. It cannot survive session reload / `--resume` / `/compact` — the Monitor task that pipes the watcher's stdout into chat is a harness construct destroyed on reload, by design (see `adr/monitor-resilience.md`, 2026-06-02). Reload-survival is structurally impossible at the process layer and is not what this fixes.
35
35
 
36
- **The watcher dies with its consumer (2026-06-04).** When the Monitor task goes away (session reload/end), the watcher's stdout/stderr pipe breaks; it detects that (EPIPE, or a periodic stderr probe while idle) and exits terminal — the supervisor does **not** respawn it. So a watcher lives the whole session and then dies cleanly, leaving no orphan. A SessionStart reaper (`greprag inbox reap`, run automatically) sweeps any watcher a hard-kill left behind. This is why arming is a **bare** command now — see below.
36
+ **The watcher dies with its consumer (2026-06-04).** When the Monitor task goes away (session reload/end), the watcher's stdout/stderr pipe breaks; it detects that (EPIPE, or a periodic stderr probe while idle) and exits terminal — the supervisor does **not** respawn it. So a watcher lives the whole session and then dies cleanly, leaving no orphan. A SessionStart reaper (`greprag inbox reap`, run automatically) sweeps any watcher a hard-kill left behind, keyed on the `--owner-pid` the arm hook stamps: it kills a watcher only when that stamped claude.exe is dead. The "bare" arm forms below carry no `--owner-pid` and are **kept, never false-killed** — the old ancestry-walk fallback that reaped flagless watchers was retired 2026-06-13 (it false-killed live backgrounded watchers; see `adr/monitor-resilience.md`). The hook's printed arm command does stamp `--owner-pid`, so prefer pasting that verbatim where you want a hard-killed orphan to also be reapable. ("Bare" here means **no `while … sleep` wrapper** — see below — not "no flags".)
37
37
 
38
38
  `--no-supervise` runs the SSE loop directly in-process (tests, SDK, debugging). A present programmatic `signal` (AbortSignal) implies the same direct mode.
39
39
 
@@ -66,13 +66,13 @@ Substitute `<own-session-id>` from your SessionStart hook output.
66
66
 
67
67
  The chip reports back to **your** session id via `greprag send`. Nothing else reliably arms you to receive it: the SessionStart arm-directive and the turn-2 UserPromptSubmit fallback are agent-choice and may not fire, and a report that lands in an unwatched inbox sits silently until someone runs `greprag inbox` by hand. So **immediately after `spawn_task` returns, arm your own watcher** — unless you already have one running this session (one watcher covers every chip you spawn; never double-arm):
68
68
 
69
- Use the **registered** form — the exact command the SessionStart / UserPromptSubmit arm hook prints, with `--owner-pid` and `--monitor-pid`:
69
+ Use the **registered** form — copy the exact command the SessionStart / UserPromptSubmit arm hook prints **verbatim**. It already carries `--owner-pid <claude-pid>`, which only the hook can resolve (the hook is a live descendant of claude.exe; your shell is not):
70
70
 
71
71
  ```
72
- Monitor (persistent:true): `read -r GREPRAG_MONITOR_PID </proc/$$/winpid 2>/dev/null; greprag inbox watch --session <your-8hex> --json --owner-pid <shell-pid> --monitor-pid ${GREPRAG_MONITOR_PID:-0}`
72
+ Monitor (persistent:true): `greprag inbox watch --session <your-8hex> --json --owner-pid <pid>`
73
73
  ```
74
74
 
75
- `<your-8hex>` = your own session id (from SessionStart); `<shell-pid>` = the owner pid the arm hook supplies that turn. **Do NOT use a bare `while true; greprag inbox watch --session X --json` loop** — it receives your messages but never registers in the desk-line, so the arm-probe reports you "NOT armed," other sessions can't see you as live-reachable, and the bare loop also stacks orphan watchers on each restart (the crash-loop pileup). The `--owner-pid`/`--monitor-pid` flags are what register the watch and let the runtime reap it. Simplest: copy the command the arm hook prints verbatim. Arming is what makes the chip's "done" report surface live instead of being lost — the spawn is only half the loop.
75
+ `<your-8hex>` = your own session id (from SessionStart). **Do NOT hand-fill `--owner-pid` from a shell PID** — the reaper reads `--owner-pid` as "the claude.exe that owns me," so a non-claude PID there reads as a dead owner and the watch is reaped. **Do NOT add `--monitor-pid` / `read … /proc/$$/winpid`** — that form was reverted 2026-06-11 (it stamped the transient arm-line bash, not the Monitor task, and false-killed live watchers); the flag is dead code now. **Do NOT use a bare `while true; greprag inbox watch …` loop** — it never registers in the desk-line, so the arm-probe reports you "NOT armed" and other sessions can't see you as live-reachable. Simplest and correct: **paste the arm hook's printed command verbatim** its `--owner-pid` is the only one the reaper trusts. (A watch armed with no `--owner-pid` at all is fine too it is kept, never false-killed it just isn't owner-pid-reapable if hard-killed.) Arming is what makes the chip's "done" report surface live instead of being lost — the spawn is only half the loop.
76
76
 
77
77
  **Launch state:** the Block 1 `IN-FLIGHT` ping is your only signal the operator actually clicked the chip card. No ping = assume the card is still unpressed — don't wait on results from a chip that was never launched.
78
78