agent-coord-mcp 0.26.24 → 0.26.25

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.
Files changed (47) hide show
  1. package/dist/capabilities.js +129 -4
  2. package/dist/capabilities.js.map +1 -1
  3. package/dist/gated-head.js +12 -1
  4. package/dist/gated-head.js.map +1 -1
  5. package/dist/server-spread.js +60 -53
  6. package/dist/server-spread.js.map +1 -1
  7. package/dist/server.js +41 -2
  8. package/dist/server.js.map +1 -1
  9. package/dist/tools/herdr-delivery.js +86 -26
  10. package/dist/tools/herdr-delivery.js.map +1 -1
  11. package/dist/tools/herdr-tail.js +221 -0
  12. package/dist/tools/herdr-tail.js.map +1 -0
  13. package/dist/tools/jsonl-offsets.js +37 -0
  14. package/dist/tools/jsonl-offsets.js.map +1 -0
  15. package/dist/tools/messaging.js +18 -0
  16. package/dist/tools/messaging.js.map +1 -1
  17. package/dist/tools/records.js +18 -2
  18. package/dist/tools/records.js.map +1 -1
  19. package/dist/tools/registry.js +56 -21
  20. package/dist/tools/registry.js.map +1 -1
  21. package/dist/tools/transport.js +4 -3
  22. package/dist/tools/transport.js.map +1 -1
  23. package/dist/transports/herdr.js +118 -18
  24. package/dist/transports/herdr.js.map +1 -1
  25. package/dist/transports/index.js +1 -1
  26. package/dist/transports/index.js.map +1 -1
  27. package/dist/transports/types.js.map +1 -1
  28. package/hooks/control-bytes.mjs +69 -0
  29. package/hooks/submit.mjs +227 -9
  30. package/hooks/tier.mjs +7 -1
  31. package/hooks/tmux-pusher.mjs +5 -1
  32. package/package.json +1 -1
  33. package/scripts/coord-pusher.mjs +5 -1
  34. package/src/capabilities.ts +129 -3
  35. package/src/gated-head.ts +12 -1
  36. package/src/server-spread.ts +52 -4
  37. package/src/server.ts +38 -1
  38. package/src/tools/herdr-delivery.ts +92 -24
  39. package/src/tools/herdr-tail.ts +244 -0
  40. package/src/tools/jsonl-offsets.ts +29 -0
  41. package/src/tools/messaging.ts +20 -0
  42. package/src/tools/records.ts +18 -2
  43. package/src/tools/registry.ts +56 -20
  44. package/src/tools/transport.ts +5 -4
  45. package/src/transports/herdr.ts +175 -17
  46. package/src/transports/index.ts +1 -1
  47. package/src/transports/types.ts +5 -0
@@ -33,19 +33,32 @@
33
33
  * Probes call behaviour. The version travels beside the answer as CONTEXT and
34
34
  * is labelled as such.
35
35
  */
36
+ import { mkdtempSync, writeFileSync, rmSync } from "node:fs";
37
+ import { tmpdir } from "node:os";
38
+ import path from "node:path";
36
39
  import { prRefsIn } from "./tools/record-events.js";
37
40
  import { EVENT_KIND_IDS } from "./tools/event-kinds.js";
38
41
  import { suggestRecordType, typedRecordMode } from "./typed-records.js";
39
42
  import { LEAD_REFUSED, PARKED_CATEGORIES } from "./tools/away.js";
40
43
  import { recordAuthorityFor } from "./roles.js";
44
+ // ⟨q-e5cb3538⟩ The renderer and the byte class live in hooks/, shared with both pushers.
45
+ // @ts-expect-error — untyped .mjs sibling, deliberately not duplicated in TS
46
+ import { injectLine } from "../hooks/tier.mjs";
47
+ // @ts-expect-error — untyped .mjs sibling, deliberately not duplicated in TS
48
+ import { findControlByte } from "../hooks/control-bytes.mjs";
49
+ // ⟨q-15d763dc⟩ The ready-box guard's profile, as this process read it from its own env at start.
50
+ // @ts-expect-error — untyped .mjs sibling, deliberately not duplicated in TS
51
+ import { readyProfile } from "../hooks/submit.mjs";
41
52
  import { subscriptionHealth } from "./tools/events.js";
42
- import { configuredTransport, runningTransport, isTmuxKind, targetOf, } from "./transports/index.js";
43
- import { readAllTransportMarkers } from "./tools/registry.js";
53
+ import { configuredTransport, runningTransport, isTmuxKind, targetOf, herdrMarkerPid, } from "./transports/index.js";
54
+ import { readAllTransportMarkers, markerHoldsLiveProcess } from "./tools/registry.js";
44
55
  import { queueWriteSchema } from "./tools/queue-write.js";
45
56
  import { treeProvenance } from "./tools/tree-provenance.js";
46
57
  import { detectSpread } from "./server-spread.js";
58
+ import { answeringServerIdentity } from "./tools/registry.js";
47
59
  import { HerdrTransport, herdrKeyName } from "./transports/herdr.js";
48
60
  import { tickVerdict } from "./tools/tick.js";
61
+ import { ensureHerdrTail, herdrTailState, newMessagesIn, stopHerdrTail } from "./tools/herdr-tail.js";
49
62
  import { HERDR, TICK_READS_AS, TICK_STORED_AS } from "./transports/types.js";
50
63
  /**
51
64
  * ⛔⛆⛆ THE PROBE DECISIONS ARE EXPORTED AS PURE PREDICATES, AND THE MUTATION
@@ -277,6 +290,40 @@ const PROBES = [
277
290
  return { present, evidence: `"⛔ Blocked — was 🚧 …" in flight: ${blocked} (0.26.21 said true) · "🔍 In Review": ${review} -> present=${present}` };
278
291
  },
279
292
  },
293
+ {
294
+ // ⛔ A HERDR SEAT'S OWN SERVER TAILS ITS INBOX. The first version of this probe checked
295
+ // `typeof startHerdrTail === "function"` — which read PRESENT on six seats while the tail ran
296
+ // on none, the exact lie this verb exists to refuse. It now STARTS a tail against a scripted
297
+ // herdr transport and asserts the process registry reports it running, is idempotent on a
298
+ // second bind, and reports it gone after a stop — plus the line reader's byte offsets, which
299
+ // are what stop a later held message being skipped. Runtime truth for THIS seat is reported
300
+ // separately, under `herdrTail`, because a probe answers "can this build" and not "is it".
301
+ id: "herdr-inbox-tail",
302
+ since: "0.26.25",
303
+ run: () => {
304
+ const probeId = `__probe-herdr-tail-${process.pid}`;
305
+ const scripted = { kind: HERDR };
306
+ const dir = mkdtempSync(path.join(tmpdir(), "probe-tail-"));
307
+ try {
308
+ const first = ensureHerdrTail(probeId, { transport: scripted, pollMs: 3_600_000, tail: async () => ({ delivered: [], held: [] }) });
309
+ const again = ensureHerdrTail(probeId, { transport: scripted, pollMs: 3_600_000, tail: async () => ({ delivered: [], held: [] }) });
310
+ const seen = herdrTailState().some((s) => s.agentId === probeId && s.running);
311
+ const stopped = stopHerdrTail(probeId);
312
+ const gone = !herdrTailState().some((s) => s.agentId === probeId);
313
+ const f = path.join(dir, "inbox.jsonl");
314
+ const a = `${JSON.stringify({ id: "a" })}\n`;
315
+ writeFileSync(f, `${a}${JSON.stringify({ id: "b" })}\n{"id":"hal`);
316
+ const read = newMessagesIn(f, 0);
317
+ const offsets = read.map((m) => m.end).join(",") === `${Buffer.byteLength(a)},${Buffer.byteLength(a) + Buffer.byteLength(`${JSON.stringify({ id: "b" })}\n`)}`;
318
+ const present = first.started && !again.started && again.running && seen && stopped && gone && read.length === 2 && offsets;
319
+ return { present, evidence: `ensureHerdrTail started=${first.started} · second bind started=${again.started} running=${again.running} · registry running=${seen} · stop=${stopped} gone=${gone} · reader ${read.length} whole lines with exact end offsets=${offsets} -> present=${present}` };
320
+ }
321
+ finally {
322
+ stopHerdrTail(probeId);
323
+ rmSync(dir, { recursive: true, force: true });
324
+ }
325
+ },
326
+ },
280
327
  {
281
328
  // ⟨q-1c95f7d4⟩ Phase 5.4 Task 5 — the external tick, probed by CALLING the code that
282
329
  // decides what a reading MEANS (every probe here is synchronous, so the async read is
@@ -317,6 +364,72 @@ const PROBES = [
317
364
  return { present, evidence: `HerdrTransport.kind=${scripted.kind} · scripted pane_not_found -> paneExists=${exists} · herdrKeyName("C-u").ok=${key.ok} -> present=${present}` };
318
365
  },
319
366
  },
367
+ {
368
+ // ⟨q-e5cb3538⟩ (0.26.25) — a control byte in message content never reaches a pane as a
369
+ // keystroke: the renderer every push path uses shows it as a visible escape, and a new send
370
+ // carrying one is refused at ingress. Measured on qa's payload (CR, ESC[201~, ETX) plus DEL
371
+ // and C1, rendered through THIS process's hooks — a seat whose server predates the fix answers
372
+ // false here, which is the question a release is delivered by.
373
+ id: "pane-render-neutralizes-controls",
374
+ since: "0.26.25",
375
+ run: () => {
376
+ const body = "X1\rX2\x1b[201~X3\x03X4\x7f\u0085";
377
+ const line = String(injectLine({ ts: 0, tag: "DM", from: "probe", text: body }));
378
+ const leaked = (line.match(/[\x00-\x09\x0b-\x1f\x7f\u0080-\u009f]/g) ?? []).length;
379
+ const visible = line.includes("X1\\rX2\\x1b[201~X3\\x03X4\\x7f\\u0085");
380
+ const refused = findControlByte({ text: body }) !== null && findControlByte({ text: "ok\n\tok" }) === null;
381
+ const present = leaked === 0 && visible && refused;
382
+ return { present, evidence: `rendered qa's payload + DEL + C1 -> leaked ${leaked} control byte(s) · escapes visible=${visible} · ingress refuses it and passes LF/TAB=${refused} -> present=${present}` };
383
+ },
384
+ },
385
+ {
386
+ // ⟨q-abd88dd4⟩ — a herdr marker's pid is chosen for the pre-herdr readers that cannot be
387
+ // patched: 1 only where this process may not signal pid 1 (EPERM), 0 otherwise, and this
388
+ // build never reads it as a process. Both functions are new in 0.26.25.
389
+ id: "herdr-marker-survives-pre-herdr-readers",
390
+ since: "0.26.25",
391
+ run: () => {
392
+ const eperm = () => { const e = new Error("EPERM"); e.code = "EPERM"; throw e; };
393
+ const notSignalable = herdrMarkerPid(eperm).pid;
394
+ const signalable = herdrMarkerPid(() => true).pid;
395
+ const holds = markerHoldsLiveProcess({ agentId: "probe", transport: HERDR, pid: 1, since: 0 });
396
+ const present = notSignalable === 1 && signalable === 0 && holds === false;
397
+ return { present, evidence: `kill(1,0) EPERM -> pid ${notSignalable} · kill(1,0) permitted (root/container) -> pid ${signalable} · herdr marker pid 1 holds a live process: ${holds} -> present=${present}` };
398
+ },
399
+ },
400
+ {
401
+ // ⟨q-3cd5a77d⟩ — the result word counts only in the CLAIM position. A seat on an older server
402
+ // reads the #359 routing header (PASS in the PR title) as the coordinator gating it PASS.
403
+ id: "gate-claim-needs-claim-position",
404
+ since: "0.26.25",
405
+ run: () => {
406
+ const sha = "0826519e043add993c5d757908c1903239542160";
407
+ const line = (text) => JSON.stringify({ ts: 1, from: "probe", text, record: { type: "go", payload: {}, cites: [{ kind: "pr", ref: "#359" }] } });
408
+ const routing = gateClaimsIn(line(`GATE, prioritised: #359 (test-all prints PASS after FAILED) @ ${sha}`), "359", sha).length;
409
+ const typed = gateClaimsIn(line(`QA GATE — **PASS** @ \`${sha}\``), "359", sha).length;
410
+ const present = routing === 0 && typed === 1;
411
+ return { present, evidence: `routing header with PASS in the title -> ${routing} claim(s) · typed QA GATE — **PASS** @ sha -> ${typed} -> present=${present}` };
412
+ },
413
+ },
414
+ {
415
+ // ⟨q-18a719c5⟩ The spread can place a seat at all: the identity THIS server stamps names its
416
+ // module (resolved by package name, through the real caller in dist/tools/registry.js), a
417
+ // stamp whose pid is gone reads unknown, and unknowns block AGREED but not DIVERGED. Before
418
+ // 0.26.25 the module resolved to undefined on every server.
419
+ id: "server-spread-places-seats",
420
+ since: "0.26.25",
421
+ run: () => {
422
+ const me = answeringServerIdentity();
423
+ const installed = typeof me.serverModule === "string" ? { mtime: 1_000, module: me.serverModule } : null;
424
+ const seat = (agentId, startedAt, pid = 101) => ({ agentId, serverPid: pid, serverStartedAt: startedAt, serverModule: me.serverModule });
425
+ const alive = (pid) => pid !== 999;
426
+ const stale = installed ? detectSpread([seat("gone", 2_000, 999), seat("b", 3_000)], installed, { isRunning: alive }) : null;
427
+ const split = installed ? detectSpread([seat("old", 500), seat("new", 3_000), { agentId: "mute" }], installed, { isRunning: alive }) : null;
428
+ const staleUnknown = !!stale?.uncomparable.some((u) => u.agentId === "gone" && /no longer running/.test(u.why));
429
+ const present = typeof me.serverModule === "string" && staleUnknown && split?.state === "DIVERGED";
430
+ return { present, evidence: `module ${me.serverModule ?? "UNRESOLVED"} · dead stamp -> unknown: ${staleUnknown} · split + unstamped seat -> ${split?.state ?? "n/a"} -> present=${present}` };
431
+ },
432
+ },
320
433
  {
321
434
  id: "record-authority",
322
435
  since: "0.24.0",
@@ -432,7 +545,7 @@ export function probeCapabilities(context) {
432
545
  /* ── the verb ──────────────────────────────────────────────────────────────── */
433
546
  import { resolveServerIdentity } from "./server-identity.js";
434
547
  import { seatBuildOf, installedFrom, psReader } from "./tools/seat-build.js";
435
- import { isInFlightStatus } from "./tools/stall.js";
548
+ import { isInFlightStatus, gateClaimsIn } from "./tools/stall.js";
436
549
  import { parseWorkDoc, queueItemsOf, stampQueueIds } from "@davidbalzan/groundwork-seam";
437
550
  export const capabilitiesSchema = {};
438
551
  /**
@@ -513,11 +626,23 @@ export async function seatBuilds() {
513
626
  "`status`, which states both halves for itself. A seat that reads current here and stale in its own status is half-restarted.",
514
627
  };
515
628
  }
629
+ /**
630
+ * ⟨q-15d763dc⟩ Is THIS process's pane push guarded? `guarded:false` means AGENT_COORD_READY_PROFILE=none
631
+ * was set in this server's env at start: its pushes type into panes without checking for Claude
632
+ * Code's input box. Stated here so an unguarded seat is visible fleet-wide, not only in a log.
633
+ */
634
+ function readyBoxState() {
635
+ const p = readyProfile();
636
+ return { profile: p.profile, guarded: p.profile !== "none", source: "AGENT_COORD_READY_PROFILE in this process's env at start (never a message or the bus dir)", ...(p.warning ? { warning: p.warning } : {}) };
637
+ }
516
638
  export async function capabilitiesTool() {
517
639
  const id = resolveServerIdentity();
518
640
  const report = probeCapabilities({ module: id.path, versionLabel: id.version });
519
641
  try {
520
- return { ...report, transport: await probeTransport(), seats: await seatBuilds() };
642
+ // `herdrTail` is RUNTIME truth for this process — the tails actually ticking here — kept apart
643
+ // from the build probe on purpose, because "this build can tail" and "this seat is tailing"
644
+ // are different facts and the first version of #353 reported the first as the second.
645
+ return { ...report, transport: await probeTransport(), herdrTail: herdrTailState(), readyBox: readyBoxState(), seats: await seatBuilds() };
521
646
  }
522
647
  catch (e) {
523
648
  // A THROWN TRANSPORT PROBE IS NOT A BROKEN VERB. An unknown configured value
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
@@ -172,8 +172,19 @@ export function gatedBy(verdicts, head, mergedAt = null) {
172
172
  * so the experiment CONFIRMS the false mechanism — whoever ran it would conclude they had
173
173
  * removed something load-bearing and got away with it. If you are removing it, the thing
174
174
  * to check is `DECLARES`, not this.
175
+ *
176
+ * ⛔ ⟨q-3cd5a77d⟩ THE RESULT WORD MUST STAND IN THE CLAIM POSITION — right after the opener, past
177
+ * only separators (`:` `—` `–` `-`, spaces) and an optional `**`. The first version accepted PASS or
178
+ * FAIL ANYWHERE before the `@`, so a ROUTING header read as a verdict:
179
+ * `GATE, prioritised: #359 (⟨q-3605ede3⟩, test-all prints PASS after FAILED) @ 0826519e…`
180
+ * — the word was in the PR's TITLE. Bus history is permanent, so that one DM (11:19:43Z) turned
181
+ * `verdict-names-gater`'s live-population test red on every chain on the machine, and made
182
+ * `stall_check` report #359 as `reported-unscribed` with the COORDINATOR claiming PASS at its head.
183
+ * Measured before the change, old vs new over 126 real lines (the 61-line verdict corpus + every
184
+ * distinct line the old form matched on the live bus and in kit PR comments): they differ on
185
+ * exactly that routing line, and agree — result word and sha — on the other 125.
175
186
  */
176
- export const VERDICT_COMMENT = /^(?:QA GATE|\*\*GATE|GATE)\b[^\n]*?\b(PASS|FAIL)\b(?:\s*\([^)\n]*\))?[^\n]*?@\s*`?([0-9a-f]{7,40})`?/;
187
+ export const VERDICT_COMMENT = /^(?:QA GATE|\*\*GATE|GATE)\b[\s:—–-]*(?:\*\*\s*)?(PASS|FAIL)\b[^\n]*?@\s*`?([0-9a-f]{7,40})`?/;
177
188
  const NEGATED_READINESS = /READINESS\s+(?:NOT|IS\s+NOT)\b/i;
178
189
  /**
179
190
  * ⛔ THE LINE MUST DECLARE, NOT REMARK — and this anchor is here because removing it
@@ -1 +1 @@
1
- {"version":3,"file":"gated-head.js","sourceRoot":"","sources":["../src/gated-head.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gated-head.js","sourceRoot":"","sources":["../src/gated-head.ts"],"names":[],"mappings":"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"}
@@ -1,50 +1,5 @@
1
- /*
2
- * ⛔⛆⛆ TWO SEATS RAN THE SAME VERB, GOT `153` AND `138`, AND BOTH SERVERS HONESTLY
3
- * REPORTED `versionLabel 0.26.20` — `⟨q-cec42e20⟩`.
4
- *
5
- * Measured 2026-09-12: the aide's server (pid 61459, started 08:20:48Z) returned
6
- * `parsedOpen 153` with a `delivered` axis; the coordinator's (pid 65516, started
7
- * 2026-09-11T09:40:42Z) returned `open 138` and NO `delivered` axis at all. Identical
8
- * labels, different loaded code, both answering honestly.
9
- *
10
- * ⭐⭐ THE LABEL IS NOT MERELY UNINFORMATIVE — IT IS ACTIVELY MISLEADING, because it is
11
- * the ONE FIELD a seat reaches for to check exactly this, and it AGREES while the
12
- * behaviour differs. Nothing detected the spread; every seat had to VOLUNTEER it. Five
13
- * unprompted self-reports are why nothing broke that day, and a system that works
14
- * because its operators are honest is one incident away from working because they were.
15
- *
16
- * ⛔ SO THIS DOES NOT KEY ON `versionLabel`, AND IT DOES NOT KEY ON `serverBuildMtime`
17
- * EITHER — which is the near-miss worth recording, because that field LOOKS like the
18
- * answer. It is stamped at ATTACH, and measured across all six live transports it held
19
- * ONE distinct value (2026-09-11T09:27:20) for every seat. It would have reported the
20
- * fleet uniform while the spread was live: `versionLabel`'s failure in a different field.
21
- *
22
- * ⭐ THE AXIS THAT DISCRIMINATES IS START TIME AGAINST THE INSTALLED BUILD — BUT ONLY
23
- * FOR A SERVER THAT IS RUNNING THAT BUILD, AND THAT PROVISO IS NOT PEDANTRY. A server
24
- * loads its code once, at spawn, so one that started BEFORE the current install runs
25
- * different code from one that started AFTER it, whatever either calls itself.
26
- *
27
- * ⛔⛆ THE THIRD NEAR-MISS, AND THIS ONE WAS NOT A NEAR-MISS — IT WAS MEASURED ON THIS
28
- * FILE. When `agent-coord-mcp@0.26.21` was installed at 2026-09-14T11:19:30Z, the
29
- * time-only version of this module was run against the REAL population:
30
- *
31
- * SERVER SPREAD: AGREED — 12 seat(s) placed, 0 unreadable
32
- * pre-install: (all twelve)
33
- *
34
- * AGREED. Over a fleet loading THREE DISTINCT BUILDS: nine on the installed one, two on
35
- * a dev `dist/` in the primary checkout, and one on `0.19.1` from July. Every seat had
36
- * started before the install, so every seat landed in one cohort and the fleet read
37
- * uniform — `versionLabel`'s failure a THIRD time, now in the field this module chose
38
- * as its remedy. "Which side of the install did you start" is not even a question about
39
- * a server that never loads the installed build.
40
- *
41
- * ⭐ SO THE MODULE PATH IS THE PRIMARY KEY AND THE TIMESTAMP IS SUBORDINATE TO IT. A
42
- * seat on a different build is its own cohort and is never folded into `pre-install`;
43
- * a seat that does not publish a module path is UNCOMPARABLE, because it cannot be
44
- * shown to be running the installed build at all. Today that makes the honest answer
45
- * CANNOT_COMPARE for the whole fleet — which is the correct answer, and the one the
46
- * time-only axis was hiding behind a clean AGREED.
47
- */
1
+ import { readFileSync } from "node:fs";
2
+ import path from "node:path";
48
3
  /**
49
4
  * Which side of the installed build a seat's server started on.
50
5
  *
@@ -66,7 +21,23 @@ const sideOf = (startedAt, installMtime) => startedAt < installMtime ? "pre-inst
66
21
  * read agrees. The cohorts are still returned, so a reader sees what was established as
67
22
  * well as what was not.
68
23
  */
69
- export function detectSpread(identities, installed) {
24
+ /** Is a stamped server pid still running? EPERM means it exists and is not ours. */
25
+ export function pidRunning(pid) {
26
+ if (!Number.isInteger(pid) || pid <= 0)
27
+ return false;
28
+ try {
29
+ process.kill(pid, 0);
30
+ return true;
31
+ }
32
+ catch (e) {
33
+ return e.code === "EPERM";
34
+ }
35
+ }
36
+ export function detectSpread(identities, installed,
37
+ // PURE BY DEFAULT: the detector trusts a stamped pid unless the caller supplies a liveness
38
+ // check. The production caller (`list_agents`) passes `pidRunning`; a fixture of a measured
39
+ // incident, whose pids belong to processes long gone, is still placed by its stamps.
40
+ { isRunning = () => true } = {}) {
70
41
  const uncomparable = [];
71
42
  const placed = [];
72
43
  for (const id of identities) {
@@ -87,6 +58,16 @@ export function detectSpread(identities, installed) {
87
58
  });
88
59
  continue;
89
60
  }
61
+ // ⟨q-18a719c5⟩ A STAMP OUTLIVES ITS SERVER. If the process that stamped this entry is gone,
62
+ // the module it names is what a DEAD process ran — not what serves the seat now. Unknown,
63
+ // naming the pid, until the seat's next server binds and stamps over it.
64
+ if (typeof id.serverPid === "number" && !isRunning(id.serverPid)) {
65
+ uncomparable.push({
66
+ agentId: id.agentId,
67
+ why: `stamped by server pid ${id.serverPid}, which is no longer running — the entry names a process that is gone, not the one serving this seat`,
68
+ });
69
+ continue;
70
+ }
90
71
  if (installed === null)
91
72
  continue;
92
73
  // ⭐ A DIFFERENT BUILD IS ITS OWN COHORT, never folded into `pre-install`: "which
@@ -123,6 +104,12 @@ export function detectSpread(identities, installed) {
123
104
  uncomparable,
124
105
  };
125
106
  }
107
+ // ⟨q-18a719c5⟩ UNKNOWNS BLOCK AGREEMENT, NOT DISAGREEMENT. Two readable seats on different
108
+ // sides of the install is established whatever the unreadable ones run, so it is reported as
109
+ // DIVERGED with the unknowns listed. Only AGREED needs every seat, and that rule (#293) stands.
110
+ if (uncomparable.length && cohorts.length > 1) {
111
+ return { state: "DIVERGED", cohorts, comparable, uncomparable };
112
+ }
126
113
  if (uncomparable.length) {
127
114
  return {
128
115
  state: "CANNOT_COMPARE",
@@ -181,12 +168,32 @@ export function reportSpread(v, installed) {
181
168
  * question is "what build is the answering process running", and the answering process
182
169
  * is the one executing this file.
183
170
  */
184
- export function installedBuild(fromUrl, statSync) {
171
+ export const COORD_MCP_PACKAGE_NAME = "agent-coord-mcp";
172
+ export function installedBuild(fromUrl, statSync, readFile = (p) => readFileSync(p, "utf8")) {
173
+ // ⟨q-18a719c5⟩ THE ROOT IS FOUND BY THE PACKAGE'S OWN IDENTITY, not by a depth. This used to
174
+ // strip one level (`/dist/<file>`), and both production callers live in
175
+ // `dist/tools/registry.js`: the regex never matched, `statSync(".../registry.js/package.json")`
176
+ // threw, and this returned null on every server — `serverSpread` read CANNOT_COMPARE on every
177
+ // fleet and the heartbeat stamp wrote `serverModule: undefined`. A depth count, or the FIRST
178
+ // package.json found, breaks in other layouts (a global npm or homebrew install nests the
179
+ // package under node_modules, a workspace nests it under packages/); the package.json whose
180
+ // `name` is agent-coord-mcp is the package in every one of them. Nothing found stays null.
185
181
  try {
186
- // dist/server-spread.js -> the package root two levels up
187
- const here = new URL(fromUrl).pathname;
188
- const root = here.replace(/\/dist\/[^/]*$/, "");
189
- return { mtime: statSync(`${root}/package.json`).mtimeMs, module: root };
182
+ let dir = path.dirname(decodeURIComponent(new URL(fromUrl).pathname));
183
+ for (let hops = 0; hops < 12; hops++) {
184
+ const pkg = path.join(dir, "package.json");
185
+ try {
186
+ if (JSON.parse(readFile(pkg))?.name === COORD_MCP_PACKAGE_NAME) {
187
+ return { mtime: statSync(pkg).mtimeMs, module: dir };
188
+ }
189
+ }
190
+ catch { /* no readable package.json here — keep walking */ }
191
+ const up = path.dirname(dir);
192
+ if (up === dir)
193
+ break;
194
+ dir = up;
195
+ }
196
+ return null;
190
197
  }
191
198
  catch {
192
199
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"server-spread.js","sourceRoot":"","sources":["../src/server-spread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-spread.js","sourceRoot":"","sources":["../src/server-spread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AA2E7B;;;;;;GAMG;AACH,MAAM,MAAM,GAAG,CAAC,SAAiB,EAAE,YAAoB,EAAkB,EAAE,CACzE,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,oFAAoF;AACpF,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAAC,OAAQ,CAA2B,CAAC,IAAI,KAAK,OAAO,CAAC;IAAC,CAAC;AAChH,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,UAA4B,EAC5B,SAAgC;AAChC,2FAA2F;AAC3F,4FAA4F;AAC5F,qFAAqF;AACrF,EAAE,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,EAAE,GAA6C,EAAE;IAEzE,MAAM,YAAY,GAAmB,EAAE,CAAC;IACxC,MAAM,MAAM,GAAiE,EAAE,CAAC;IAEhF,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,mFAAmF;QACnF,kFAAkF;QAClF,oFAAoF;QACpF,IAAI,OAAO,EAAE,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;YAC5D,YAAY,CAAC,IAAI,CAAC;gBAChB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,GAAG,EAAE,4HAA4H;aAClI,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,OAAO,EAAE,CAAC,eAAe,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;YACnF,YAAY,CAAC,IAAI,CAAC;gBAChB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,GAAG,EAAE,wGAAwG;aAC9G,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,4FAA4F;QAC5F,0FAA0F;QAC1F,yEAAyE;QACzE,IAAI,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,YAAY,CAAC,IAAI,CAAC;gBAChB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,GAAG,EAAE,yBAAyB,EAAE,CAAC,SAAS,sGAAsG;aACjJ,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,SAAS,KAAK,IAAI;YAAE,SAAS;QACjC,iFAAiF;QACjF,iFAAiF;QACjF,+EAA+E;QAC/E,IAAI,EAAE,CAAC,YAAY,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;YACnF,SAAS;QACX,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,cAAc,CAAU,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAClF,IAAI,MAAM,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,oFAAoF;IACpF,wCAAwC;IACxC,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/G,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,aAAa;YACnB,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;SAC/E,CAAC,CAAC;IACL,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAEvD,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO;YACL,KAAK,EAAE,gBAAgB;YACvB,GAAG,EAAE,4EAA4E;YACjF,OAAO;YACP,UAAU;YACV,YAAY;SACb,CAAC;IACJ,CAAC;IACD,2FAA2F;IAC3F,6FAA6F;IAC7F,gGAAgG;IAChG,IAAI,YAAY,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,gBAAgB;YACvB,GAAG,EACD,GAAG,YAAY,CAAC,MAAM,OAAO,UAAU,CAAC,MAAM,gEAAgE;gBAC9G,oHAAoH;YACtH,OAAO;YACP,UAAU;YACV,YAAY;SACb,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EAAE,gBAAgB;YACvB,GAAG,EAAE,QAAQ,UAAU,CAAC,MAAM,6DAA6D;YAC3F,OAAO;YACP,UAAU;YACV,YAAY;SACb,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AAClG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,CAAgB,EAAE,SAAgC;IAC7E,MAAM,GAAG,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,KAAK,GAAG;QACZ,kBAAkB,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,oBAAoB,CAAC,CAAC,YAAY,CAAC,MAAM,aAAa;YACtG,CAAC,SAAS,KAAK,IAAI;gBACjB,CAAC,CAAC,+BAA+B;gBACjC,CAAC,CAAC,sBAAsB,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;KACxE,CAAC;IACF,IAAI,KAAK,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CACR,sFAAsF,EACtF,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AAExD,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,QAA4C,EAC5C,QAAQ,GAA0B,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC;IAEhE,6FAA6F;IAC7F,wEAAwE;IACxE,gGAAgG;IAChG,8FAA8F;IAC9F,6FAA6F;IAC7F,0FAA0F;IAC1F,4FAA4F;IAC5F,2FAA2F;IAC3F,IAAI,CAAC;QACH,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtE,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAC3C,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,sBAAsB,EAAE,CAAC;oBAC/D,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;gBACvD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,kDAAkD,CAAC,CAAC;YAC9D,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,EAAE,KAAK,GAAG;gBAAE,MAAM;YACtB,GAAG,GAAG,EAAE,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/server.js CHANGED
@@ -1,6 +1,9 @@
1
1
  #!/usr/bin/env node
2
+ // @ts-expect-error — untyped .mjs sibling, deliberately not duplicated in TS
3
+ import { readyProfileStartupLine } from "../hooks/submit.mjs";
2
4
  import { randomUUID } from "node:crypto";
3
- import { initTransportFromConfig } from "./transports/index.js";
5
+ import { HERDR, initTransportFromConfig } from "./transports/index.js";
6
+ import { startTailOnBind, stopHerdrTail } from "./tools/herdr-tail.js";
4
7
  import { createServer } from "node:http";
5
8
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
9
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
@@ -13,7 +16,7 @@ import { subscribeSchema, subscribeTool, unsubscribeSchema, unsubscribeTool, lis
13
16
  import { scanRecordEventsSchema, scanRecordEventsTool } from "./tools/record-events.js";
14
17
  import { capabilitiesSchema, capabilitiesTool } from "./capabilities.js";
15
18
  import { ensureDirs, getTokenMap, reloadTokenMapSync, sessionFile, listSessionFiles, readJson, } from "./store.js";
16
- import { liveClaimEvidence, attachAgentSchema, attachAgentTool, clearTransportSchema, clearTransportTool, deleteRoomSchema, deleteRoomTool, detachAgentSchema, detachAgentTool, doctorSchema, doctorTool, forceUnregisterSchema, forceUnregisterTool, heartbeatSchema, heartbeatTool, joinRoomSchema, joinRoomTool, joinSchema, joinTool, leaveRoomSchema, leaveRoomTool, listAgentsSchema, listAgentsTool, pingSchema, pingTool, listRoomsSchema, listRoomsTool, postStatusSchema, postStatusTool, pruneSchema, pruneTool, readMessagesSchema, readMessagesTool, retrieveMessageSchema, retrieveMessageTool, retrieveRoomHistorySchema, retrieveRoomHistoryTool, registerSchema, registerTool, renameAgentSchema, renameAgentTool, reportReceiptSchema, reportReceiptTool, reportTransportSchema, reportTransportTool, sendCommandSchema, sendCommandTool, sendMessageSchema, sendMessageTool, setRoomMotdSchema, setRoomMotdTool, setRoomTopicSchema, setRoomTopicTool, statusSchema, statusTool, unregisterSchema, unregisterTool, quitSchema, quitTool, waitForMessageSchema, waitForMessageTool, listScopesSchema, listScopesTool, importWorkSchema, importWorkTool, stallCheckSchema, stallCheckTool, setHaltSchema, setHaltTool, lastRanSchema, stallClockStatusTool, ensureWorktreeSchema, ensureWorktreeTool, refreshWorktreesSchema, refreshWorktreesTool, releaseWorktreeSchema, releaseWorktreeTool, claimSchema, claimTool, landSchema, landTool, mergeSchema, mergeTool, nextUnblockedSchema, nextUnblockedTool, listWorkSchema, listWorkTool, exportWorkSchema, exportWorkTool, isPidAlive, } from "./tools/index.js";
19
+ import { liveClaimEvidence, attachAgentSchema, attachAgentTool, clearTransportSchema, clearTransportTool, deleteRoomSchema, deleteRoomTool, detachAgentSchema, detachAgentTool, doctorSchema, doctorTool, forceUnregisterSchema, forceUnregisterTool, heartbeatSchema, heartbeatTool, stampServerIdentity, joinRoomSchema, joinRoomTool, joinSchema, joinTool, leaveRoomSchema, leaveRoomTool, listAgentsSchema, listAgentsTool, pingSchema, pingTool, listRoomsSchema, listRoomsTool, postStatusSchema, postStatusTool, pruneSchema, pruneTool, readMessagesSchema, readMessagesTool, retrieveMessageSchema, retrieveMessageTool, retrieveRoomHistorySchema, retrieveRoomHistoryTool, registerSchema, registerTool, renameAgentSchema, renameAgentTool, reportReceiptSchema, reportReceiptTool, reportTransportSchema, reportTransportTool, sendCommandSchema, sendCommandTool, sendMessageSchema, sendMessageTool, setRoomMotdSchema, setRoomMotdTool, setRoomTopicSchema, setRoomTopicTool, statusSchema, statusTool, unregisterSchema, unregisterTool, quitSchema, quitTool, waitForMessageSchema, waitForMessageTool, listScopesSchema, listScopesTool, importWorkSchema, importWorkTool, stallCheckSchema, stallCheckTool, setHaltSchema, setHaltTool, lastRanSchema, stallClockStatusTool, ensureWorktreeSchema, ensureWorktreeTool, refreshWorktreesSchema, refreshWorktreesTool, releaseWorktreeSchema, releaseWorktreeTool, claimSchema, claimTool, landSchema, landTool, mergeSchema, mergeTool, nextUnblockedSchema, nextUnblockedTool, listWorkSchema, listWorkTool, exportWorkSchema, exportWorkTool, isPidAlive, } from "./tools/index.js";
17
20
  import { queueWriteSchema, queueWriteTool } from "./tools/queue-write.js";
18
21
  function jsonResult(data) {
19
22
  return {
@@ -231,6 +234,12 @@ function buildServer(initialBound, opts = {}) {
231
234
  const via = await guardFirstClaim(claimed, args);
232
235
  bound = claimed;
233
236
  recordSessionBinding(claimed, via);
237
+ // ⛔ THE TAIL STARTS HERE, AT THE BINDING — not from an env var no seat sets.
238
+ startTailOnBind(claimed);
239
+ // ⟨q-18a719c5⟩ A server that re-binds WITHOUT `join` (a restart that first calls
240
+ // attach_agent, or any gated tool) serves the seat from now on: stamp the entry if it
241
+ // exists. A seat not yet registered is stamped by the `register` that creates it.
242
+ await stampServerIdentity(claimed);
234
243
  }
235
244
  }
236
245
  else if (bound !== claimed) {
@@ -270,6 +279,8 @@ function buildServer(initialBound, opts = {}) {
270
279
  const via = await guardFirstClaim(claimed, args);
271
280
  bound = claimed;
272
281
  recordSessionBinding(claimed, via);
282
+ // ⛔ THE TAIL STARTS HERE, AT THE BINDING — not from an env var no seat sets.
283
+ startTailOnBind(claimed);
273
284
  }
274
285
  else if (bound !== claimed) {
275
286
  throw new Error(`identity bound to '${bound}'; rejected attempt to act as '${claimed}'`);
@@ -310,6 +321,8 @@ function buildServer(initialBound, opts = {}) {
310
321
  const via = await guardFirstClaim(claimed, args);
311
322
  bound = claimed;
312
323
  recordSessionBinding(claimed, via);
324
+ // ⛔ THE TAIL STARTS HERE, AT THE BINDING — not from an env var no seat sets.
325
+ startTailOnBind(claimed);
313
326
  }
314
327
  else if (bound !== claimed) {
315
328
  throw new Error(`identity bound to '${bound}'; rejected attempt to act as '${claimed}'`);
@@ -319,8 +332,15 @@ function buildServer(initialBound, opts = {}) {
319
332
  if (result && typeof result === "object" && result.ok === true) {
320
333
  const to = result.to;
321
334
  if (typeof to === "string") {
335
+ const from = bound;
322
336
  bound = to;
323
337
  recordSessionBinding(to, "rename");
338
+ // ⛔ THE TAIL MOVES WITH THE IDENTITY. The coordinator's gate measured a renamed herdr seat
339
+ // still tailing its OLD id's inbox — `herdrTail` listed only the old name — so the seat
340
+ // went deaf under its new one. Stop the old, start the new.
341
+ if (from && from !== to)
342
+ stopHerdrTail(from);
343
+ startTailOnBind(to);
324
344
  }
325
345
  }
326
346
  return jsonResult(result);
@@ -400,6 +420,25 @@ async function main() {
400
420
  if (t.source !== "default") {
401
421
  console.error(`[agent-coord-mcp] transport: ${t.kind} (from ${t.source})`);
402
422
  }
423
+ // ⛔ A HERDR SEAT MUST TAIL ITS OWN INBOX, OR IT IS DEAF TO EVERY TMUX SENDER.
424
+ // The send-time path can only see the SENDER's transport (a module-level singleton), so a
425
+ // tmux seat's server can never type into a herdr pane. The duty belongs to the seat that
426
+ // needs waking — the only party guaranteed to be where it is — and this is where it starts.
427
+ // The env var is ONE way to bind identity, and no seat on this fleet uses it — they bind at
428
+ // `join`. So this branch only covers a server launched pre-bound; the tail's real start is the
429
+ // binding hook below, which runs at every bind. A herdr server with neither simply waits.
430
+ // ⟨q-15d763dc⟩ A herdr server types into panes itself, so an unguarded one says so at start.
431
+ if (t.kind === HERDR) {
432
+ const guardLine = readyProfileStartupLine("agent-coord-mcp");
433
+ if (guardLine)
434
+ console.error(guardLine.trimEnd());
435
+ }
436
+ if (t.kind === HERDR && process.env.AGENT_COORD_BOUND_AGENT) {
437
+ startTailOnBind(process.env.AGENT_COORD_BOUND_AGENT);
438
+ }
439
+ else if (t.kind === HERDR) {
440
+ console.error("[agent-coord-mcp] herdr transport: the inbox tail starts when this session binds its identity (join)");
441
+ }
403
442
  }
404
443
  catch (e) {
405
444
  // Loud, and fatal. A server that starts with an unusable transport config