agent-coord-mcp 0.26.19 → 0.26.20
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.
- package/README.md +82 -0
- package/dist/capabilities.js +57 -1
- package/dist/capabilities.js.map +1 -1
- package/dist/server.js +21 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/records.js +242 -64
- package/dist/tools/records.js.map +1 -1
- package/dist/tools/registry.js +34 -5
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/shared.js.map +1 -1
- package/dist/tools/stall.js +2 -1
- package/dist/tools/stall.js.map +1 -1
- package/dist/tools/transport.js +82 -42
- package/dist/tools/transport.js.map +1 -1
- package/dist/tools/work.js +95 -3
- package/dist/tools/work.js.map +1 -1
- package/dist/transports/config.js +82 -0
- package/dist/transports/config.js.map +1 -0
- package/dist/transports/index.js +113 -0
- package/dist/transports/index.js.map +1 -0
- package/dist/transports/tmux.js +140 -0
- package/dist/transports/tmux.js.map +1 -0
- package/dist/transports/types.js +86 -0
- package/dist/transports/types.js.map +1 -0
- package/hooks/peek-coord.mjs +0 -0
- package/hooks/tmux-pusher.mjs +33 -3
- package/package.json +14 -11
- package/scripts/coord-attention-clock.mjs +0 -0
- package/scripts/coord-node.sh +0 -0
- package/scripts/coord-stall-clock.mjs +0 -0
- package/scripts/coord-token.mjs +0 -0
- package/scripts/probe-tmux-liveness.sh +0 -0
- package/scripts/spawn-agent.sh +0 -0
- package/scripts/stop-agent.sh +0 -0
- package/scripts/typed-record-stats.mjs +0 -0
- package/src/capabilities.ts +104 -1
- package/src/server.ts +21 -0
- package/src/tools/records.ts +221 -34
- package/src/tools/registry.ts +36 -5
- package/src/tools/shared.ts +12 -36
- package/src/tools/stall.ts +2 -1
- package/src/tools/transport.ts +96 -43
- package/src/tools/work.ts +95 -3
- package/src/transports/config.ts +110 -0
- package/src/transports/index.ts +126 -0
- package/src/transports/tmux.ts +177 -0
- package/src/transports/types.ts +201 -0
package/dist/tools/records.js
CHANGED
|
@@ -51,11 +51,77 @@ const readDoc = (repo, rel) => {
|
|
|
51
51
|
* Returns what it stamped so the caller can report it rather than leaving an
|
|
52
52
|
* absorbing writer to find it in a diff.
|
|
53
53
|
*/
|
|
54
|
-
|
|
54
|
+
/**
|
|
55
|
+
* A WRITE WHOSE BASE MOVED UNDER IT. Thrown, never returned, because a refusal
|
|
56
|
+
* that can be ignored is how the silent loss happened in the first place.
|
|
57
|
+
*/
|
|
58
|
+
export class StaleWriteError extends Error {
|
|
59
|
+
rel;
|
|
60
|
+
detail;
|
|
61
|
+
alreadyWritten;
|
|
62
|
+
constructor(rel, detail, alreadyWritten) {
|
|
63
|
+
super(`refusing to write ${rel}: it changed on disk after this call read it (${detail}). ` +
|
|
64
|
+
`Nothing was overwritten. Re-read and retry.` +
|
|
65
|
+
(alreadyWritten.length ? ` ALREADY WRITTEN by this call: ${alreadyWritten.join(", ")} — that write stands.` : ""));
|
|
66
|
+
this.rel = rel;
|
|
67
|
+
this.detail = detail;
|
|
68
|
+
this.alreadyWritten = alreadyWritten;
|
|
69
|
+
this.name = "StaleWriteError";
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/** What moved, in terms a caller can act on without diffing the file itself. */
|
|
73
|
+
function describeDrift(original, current) {
|
|
74
|
+
const ol = original.split("\n");
|
|
75
|
+
const cl = current.split("\n");
|
|
76
|
+
let i = 0;
|
|
77
|
+
while (i < ol.length && i < cl.length && ol[i] === cl[i])
|
|
78
|
+
i++;
|
|
79
|
+
return (`${ol.length} → ${cl.length} line(s), ${original.length} → ${current.length} byte(s)` +
|
|
80
|
+
(i < Math.max(ol.length, cl.length) ? `, first difference at line ${i + 1}` : ""));
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* ⛔ COMPARE-AND-SWAP, AND THE RE-READ IS THE WHOLE POINT.
|
|
84
|
+
*
|
|
85
|
+
* This function used to compare the rendered text against `original` — the
|
|
86
|
+
* caller's IN-MEMORY snapshot from when it read — and then write. It never looked
|
|
87
|
+
* at the file again. Anything written in between was clobbered with no error, no
|
|
88
|
+
* diff, and nothing in the return value: `{ written: true }` came back for a
|
|
89
|
+
* write that had destroyed someone else's row.
|
|
90
|
+
*
|
|
91
|
+
* Measured before fixing: two writers taking the same original and both
|
|
92
|
+
* committing leave TWO rows where three should be, and the first writer's row is
|
|
93
|
+
* simply gone. This is not hypothetical — four processes write these documents
|
|
94
|
+
* (the aide from its own clone, `claim`, `land`, worker seats), and `land --write`
|
|
95
|
+
* ran six times in one afternoon against a queue the aide was editing.
|
|
96
|
+
*
|
|
97
|
+
* So the file is re-read immediately before the write and must still match what
|
|
98
|
+
* the caller read. On a mismatch this REFUSES — loudly, by throwing — and names
|
|
99
|
+
* what moved. A refused write is recoverable; a silent overwrite is not, and the
|
|
100
|
+
* loser of the race never learns it lost.
|
|
101
|
+
*
|
|
102
|
+
* What this does NOT claim: it is not a lock. Two processes can still interleave
|
|
103
|
+
* between this re-read and the `writeFileSync` a few microseconds later. The
|
|
104
|
+
* window goes from "the whole duration of the caller's work" — parsing, git
|
|
105
|
+
* calls, composing a line — down to two adjacent statements. That is a large
|
|
106
|
+
* reduction and not zero, and a lock is the stronger fix if this ever proves
|
|
107
|
+
* insufficient.
|
|
108
|
+
*
|
|
109
|
+
* EXPORTED FOR TESTS, deliberately. The race it guards is BETWEEN PROCESSES —
|
|
110
|
+
* the aide's clone, `claim`, `land` — and `landTool` runs synchronously from its
|
|
111
|
+
* read to its write, so no in-process test can interleave them. An end-to-end
|
|
112
|
+
* attempt passed identically with the guard removed, i.e. it proved nothing. A
|
|
113
|
+
* data-loss guard is worth a narrow export to be testable at the level it lives.
|
|
114
|
+
*/
|
|
115
|
+
export function writeDoc(repo, rel, doc, original, alreadyWritten = []) {
|
|
55
116
|
const { text, stamped } = renderWorkDocForWrite(doc);
|
|
56
117
|
if (text === original)
|
|
57
118
|
return { written: false, stamped: [] };
|
|
58
|
-
|
|
119
|
+
const p = path.join(repo, rel);
|
|
120
|
+
const current = existsSync(p) ? readFileSync(p, "utf8") : "";
|
|
121
|
+
if (current !== original) {
|
|
122
|
+
throw new StaleWriteError(rel, describeDrift(original, current), alreadyWritten);
|
|
123
|
+
}
|
|
124
|
+
writeFileSync(p, text);
|
|
59
125
|
return { written: true, stamped };
|
|
60
126
|
}
|
|
61
127
|
const git = (repo, args) => execFileSync("git", args, { cwd: repo, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] }).trim();
|
|
@@ -125,6 +191,15 @@ export function summarize(text, max = 96) {
|
|
|
125
191
|
* the queue SAYS it waits on this", never "nothing waits on this".
|
|
126
192
|
*/
|
|
127
193
|
export function noDownstream(items) {
|
|
194
|
+
// ⚠ THE SECOND `!i.done` IN THIS FILE, AND IT IS DELIBERATE — the reconciliation
|
|
195
|
+
// asked for by ⟨q-7d2e04b8⟩. `nextUnblockedTool` passes an ALREADY-FILTERED
|
|
196
|
+
// list, so this re-filter is a no-op on that path; it is kept because this
|
|
197
|
+
// function is EXPORTED and its contract is "given items, which have nothing
|
|
198
|
+
// waiting on them", which must hold for a caller that hands it raw items.
|
|
199
|
+
//
|
|
200
|
+
// The two are not the same predicate and must not be merged: this one is
|
|
201
|
+
// `!done`, while the router's also subtracts the delivery join. Collapsing
|
|
202
|
+
// them would make an exported helper inherit a routing policy.
|
|
128
203
|
const open = items.filter((i) => !i.done);
|
|
129
204
|
const named = new Set();
|
|
130
205
|
for (const i of open) {
|
|
@@ -211,44 +286,53 @@ function boardHoldsItem(rows, id, text) {
|
|
|
211
286
|
* Is this DONE entry the RECORD OF THIS ITEM CLOSING, rather than an entry that
|
|
212
287
|
* merely MENTIONS it?
|
|
213
288
|
*
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
289
|
+
* ⛔ THE SIGIL ARM WAS REMOVED ⟨q-4a1e70c5⟩. It answered yes whenever `⟨id⟩`
|
|
290
|
+
* appeared ANYWHERE in an entry, on a census that had inverted: today
|
|
291
|
+
* `docs/DONE.md` carries more sigil mentions than bare ones, because `⟨id⟩` is the
|
|
292
|
+
* house spelling everything else teaches — so the COMPLIANT way to cite an item
|
|
293
|
+
* became the spelling that meant "delivered". Measured before removal, on 143
|
|
294
|
+
* open rows: ELEVEN false positives, ZERO independent true positives (every row
|
|
295
|
+
* it correctly excluded was already excluded by `!i.done`, which runs first), and
|
|
296
|
+
* a MISS on its own founding case — the row recorded as q-b4e7c209 had its work
|
|
297
|
+
* merged under a different row's citation, stayed `[ ]`, and was offered as top
|
|
298
|
+
* P1 twice.
|
|
217
299
|
*
|
|
218
|
-
*
|
|
219
|
-
*
|
|
220
|
-
*
|
|
300
|
+
* ⚠ THE SPELLING RULE DID NOT FAIL BECAUSE THE SPELLING FLIPPED. IT FAILED
|
|
301
|
+
* BECAUSE SPELLING WAS NEVER THE SIGNAL. Entries name item ids for several
|
|
302
|
+
* reasons this repo's own canon REQUIRES — a residual gap must cite its queue
|
|
303
|
+
* item — so no reading of that file separates a closure from a mention. Three
|
|
304
|
+
* replacements were measured and each was worse or equal: position does not
|
|
305
|
+
* discriminate (a known-false and a known-true entry are structurally identical,
|
|
306
|
+
* and only 2 of 252 entries lead with a sigil); `DoneEntry.id` is a derived `d-`
|
|
307
|
+
* id, not the item's; and the citation-slot tie `queue-done-loop` uses gives 23
|
|
308
|
+
* false positives, because open rows cite refs as EVIDENCE.
|
|
221
309
|
*
|
|
222
|
-
*
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
*
|
|
227
|
-
* CITATION a BARE `q-xxxxxxxx` anywhere. This is the form our own shipped
|
|
228
|
-
* canon (q-912a67e8) produces: a `DONE` entry may name a residual
|
|
229
|
-
* gap but MUST CITE A QUEUE ITEM for it. Obeying that rule wrote an
|
|
230
|
-
* open item's id into `DONE.md`, and the substring join read the
|
|
231
|
-
* citation as delivery — a canon rule and a code path in direct
|
|
232
|
-
* contradiction, where COMPLIANCE with the canon triggered the
|
|
233
|
-
* defect. LIVE on origin/main, not latent: the part (a) entry for
|
|
234
|
-
* q-507e80c4 cites it exactly this way while part (b) is open work.
|
|
310
|
+
* ✅ WHAT SURVIVES IS THE COMPOSED-SUMMARY ARM, and it is a DIFFERENT EVIDENCE
|
|
311
|
+
* CLASS — the same distinction that keeps `boardHoldsItem`. It does not infer
|
|
312
|
+
* delivery from prose: it requires the entry to carry the item's own
|
|
313
|
+
* deterministically composed text, `summarize(item.text)`, which a VERB writes.
|
|
314
|
+
* A citation cannot accidentally satisfy it.
|
|
235
315
|
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
*
|
|
239
|
-
*
|
|
316
|
+
* ⚠ IT IS CURRENTLY UNEXERCISED BY THIS REPO'S CORPUS — 0 of 143 open, 0 of 9
|
|
317
|
+
* closed — AND THAT IS NOT EVIDENCE THAT IT IS DEAD. The cause is practice, not
|
|
318
|
+
* code: rows here are closed with `land --write` and the composed line is then
|
|
319
|
+
* OVERWRITTEN with hand-written prose, so the structural record it would match is
|
|
320
|
+
* destroyed within the minute. **Do not re-derive "dead code" from another zero
|
|
321
|
+
* count.** Its input returns the moment a closing entry keeps what `land` wrote.
|
|
322
|
+
*
|
|
323
|
+
* ⛔ AND WHAT IS NO LONGER GUARDED, because a removal that does not name its own
|
|
324
|
+
* cost is worse than the guard: A ROW WHOSE WORK MERGED UNDER ANOTHER ROW'S
|
|
325
|
+
* CITATION IS ELIGIBLE AGAIN, AND NOTHING IN `next_unblocked` WILL NOTICE.
|
|
326
|
+
* Accepted knowingly — the arm that claimed to cover it did not, on the one live
|
|
327
|
+
* instance it had. Closing such a row is coordinator discipline, not a predicate.
|
|
240
328
|
*/
|
|
241
329
|
function doneRecordsDelivery(entries, id, text) {
|
|
242
330
|
const norm = (v) => v.replace(/\s+/g, " ").replace(/\*\*/g, "").trim();
|
|
243
331
|
const target = norm(summarize(text)).replace(/…$/, "");
|
|
244
|
-
const sigil = `⟨${id}⟩`;
|
|
245
332
|
return entries.some((e) => {
|
|
246
|
-
const t = String(e.text);
|
|
247
|
-
if (t.includes(sigil))
|
|
248
|
-
return true;
|
|
249
333
|
// A leading recorded-id token is stripped before comparing, so an entry
|
|
250
334
|
// written as `⟨id⟩ <summary>` and one written as `<summary>` agree.
|
|
251
|
-
const body = norm(
|
|
335
|
+
const body = norm(String(e.text)).replace(/^⟨q-[0-9a-f]{8}⟩\s*/, "");
|
|
252
336
|
return target.length >= 12 && body.startsWith(target);
|
|
253
337
|
});
|
|
254
338
|
}
|
|
@@ -271,6 +355,9 @@ export async function nextUnblockedTool(args) {
|
|
|
271
355
|
if (!q)
|
|
272
356
|
return { ok: false, error: `no ${QUEUE_DOC} under '${repo}'` };
|
|
273
357
|
const items = queueItemsOf(q.doc);
|
|
358
|
+
// The seam's own count of unticked rows — the number every axis must add back
|
|
359
|
+
// up to. Taken BEFORE any exclusion so it cannot inherit one.
|
|
360
|
+
const parsedOpen = items.filter((i) => !i.done).length;
|
|
274
361
|
// ALREADY-DELIVERED ITEMS ARE NEVER RE-OFFERED, and `!i.done` alone does not
|
|
275
362
|
// establish that.
|
|
276
363
|
//
|
|
@@ -287,17 +374,68 @@ export async function nextUnblockedTool(args) {
|
|
|
287
374
|
// (Task 21.1) are what make this join reliable — with a content-hash id the
|
|
288
375
|
// board row and the DONE entry stopped matching the moment anyone reworded
|
|
289
376
|
// the item, which is how the memory was lost in the first place.
|
|
290
|
-
|
|
377
|
+
// ⛔⛆ `delivered` IS A REASON, NOT AN ERASURE (⟨q-7d2e04b8⟩). This set used to
|
|
378
|
+
// be subtracted from `open` BEFORE any axis ran, so an item it excluded could
|
|
379
|
+
// appear on NO axis by construction — the one guarantee this verb's contract
|
|
380
|
+
// makes is that it never skips silently, and this was the one path that did.
|
|
381
|
+
//
|
|
382
|
+
// MEASURED on the live queue at `a032069`: the file held 143 open rows, the
|
|
383
|
+
// seam parsed all 143, and this verb reported `open: 129`. Its declared axes
|
|
384
|
+
// accounted for ONE. Fourteen rows were outside the router's universe and
|
|
385
|
+
// nothing in the response said so — invisible from the only seat that would
|
|
386
|
+
// notice, because a worker asking for the next item still gets a real one.
|
|
387
|
+
//
|
|
388
|
+
// ⚠ THE REASON IS NOW CARRIED, so exclusion and explanation cannot drift apart:
|
|
389
|
+
// a row is excluded BY a named cause, and the cause is what gets reported.
|
|
390
|
+
const deliveredBy = new Map();
|
|
291
391
|
const doneDoc = readDoc(repo, DONE_DOC);
|
|
292
392
|
const boardDoc = readDoc(repo, BOARD_DOC);
|
|
293
393
|
const boardText = boardDoc?.text ?? "";
|
|
294
394
|
const doneEntries = doneDoc ? doneEntriesOf(doneDoc.doc) : [];
|
|
295
395
|
const boardRows = boardDoc ? workstreamsV1RowsOf(boardDoc.doc) : [];
|
|
296
396
|
for (const i of items) {
|
|
297
|
-
if (
|
|
298
|
-
|
|
397
|
+
if (i.done)
|
|
398
|
+
continue; // already off `open` by the checkbox; not an exclusion this axis owns
|
|
399
|
+
// Board first, and the order is load-bearing for the REPORT rather than the
|
|
400
|
+
// routing: both causes exclude, but a live 🚧 row is a different remedy
|
|
401
|
+
// (wait, or ask its owner) from a landed delivery (close the row).
|
|
402
|
+
if (boardHoldsItem(boardRows, i.id, String(i.text)))
|
|
403
|
+
deliveredBy.set(i.id, "board");
|
|
404
|
+
else if (doneRecordsDelivery(doneEntries, i.id, String(i.text)))
|
|
405
|
+
deliveredBy.set(i.id, "done");
|
|
299
406
|
}
|
|
300
|
-
const open = items.filter((i) => !i.done && !
|
|
407
|
+
const open = items.filter((i) => !i.done && !deliveredBy.has(i.id));
|
|
408
|
+
// THE AXIS THE SUBTRACTION USED TO SKIP. Every row absent from `open` for this
|
|
409
|
+
// reason is named here, INCLUDING correctly-delivered ones: a correct exclusion
|
|
410
|
+
// reported silently is the same defect as an incorrect one.
|
|
411
|
+
const delivered = items
|
|
412
|
+
.filter((i) => !i.done && deliveredBy.has(i.id))
|
|
413
|
+
.map((i) => ({ item: keyOf(i), id: i.id, reason: deliveredBy.get(i.id) }));
|
|
414
|
+
// ⛔⛆ A DUPLICATED ID IS A SILENT DOUBLE-EXCLUSION, AND IT IS THIS ROW'S OWN
|
|
415
|
+
// DEFECT ONE LEVEL DOWN. Queue ids are STABLE, derived from the row's text, so
|
|
416
|
+
// two rows with identical text carry the SAME id — verified: `- [ ] (P1) an
|
|
417
|
+
// identical row` twice yields `q-c9f3ded8` twice.
|
|
418
|
+
//
|
|
419
|
+
// Everything downstream is keyed by id, so ONE delivery record then excludes
|
|
420
|
+
// BOTH rows: measured on a fixture, a single DONE entry took `parsedOpen: 3`
|
|
421
|
+
// to `offered: 1`. The accounting still reconciles — both are named — so the
|
|
422
|
+
// self-check above CANNOT catch it, which is exactly why it needs its own axis
|
|
423
|
+
// rather than a flag on `reconciles`.
|
|
424
|
+
//
|
|
425
|
+
// ⭐ WHY THIS AXIS AND NOT A COUNT: a MISSING row can always be argued to be a
|
|
426
|
+
// filter working as designed; a row reported TWICE cannot be anything but the
|
|
427
|
+
// accounting. It is the one symptom here that does not rest on a count.
|
|
428
|
+
const idCounts = new Map();
|
|
429
|
+
for (const i of items)
|
|
430
|
+
if (!i.done)
|
|
431
|
+
idCounts.set(i.id, (idCounts.get(i.id) ?? 0) + 1);
|
|
432
|
+
const duplicateIds = [...idCounts.entries()]
|
|
433
|
+
.filter(([, n]) => n > 1)
|
|
434
|
+
.map(([id, rows]) => ({
|
|
435
|
+
id,
|
|
436
|
+
rows,
|
|
437
|
+
why: `${rows} open rows share the id ${id} — stable ids are derived from row TEXT, so identical rows collide. Every axis here is keyed by id, so one delivery record excludes all ${rows}. Reword one row to separate them.`,
|
|
438
|
+
}));
|
|
301
439
|
const ranked = open
|
|
302
440
|
.map((i, idx) => ({ i, idx }))
|
|
303
441
|
.sort((a, b) => (PRIORITY_ORDER[a.i.priority ?? "P3"] ?? 3) - (PRIORITY_ORDER[b.i.priority ?? "P3"] ?? 3) || a.idx - b.idx);
|
|
@@ -365,6 +503,26 @@ export async function nextUnblockedTool(args) {
|
|
|
365
503
|
ok: true,
|
|
366
504
|
project: args.project,
|
|
367
505
|
open: open.length,
|
|
506
|
+
// ⛔ THE SELF-CHECK, because the defect this replaces was a NUMBER NOTHING
|
|
507
|
+
// EXPLAINED and the only thing that ever caught it was someone counting the
|
|
508
|
+
// file by hand. `parsedOpen` is every unticked row the seam sees; `offered`
|
|
509
|
+
// is what routing considered; `excluded` is what the axes account for. When
|
|
510
|
+
// `reconciles` is false, rows have left the universe with no named cause —
|
|
511
|
+
// the exact condition that was previously unobservable from the response.
|
|
512
|
+
//
|
|
513
|
+
// ⚠ IT REPORTS RATHER THAN THROWS: a router that refuses to hand out work
|
|
514
|
+
// because its own bookkeeping is off strands every lane, which is worse than
|
|
515
|
+
// the miscount. The caller gets a real item AND the discrepancy.
|
|
516
|
+
accounting: {
|
|
517
|
+
parsedOpen,
|
|
518
|
+
offered: open.length,
|
|
519
|
+
excluded: delivered.length,
|
|
520
|
+
reconciles: parsedOpen === open.length + delivered.length,
|
|
521
|
+
},
|
|
522
|
+
// A NAMED AXIS, not a subtraction. See the comment at `deliveredBy`.
|
|
523
|
+
delivered,
|
|
524
|
+
// A ROW REPORTED TWICE CANNOT BE A FILTER WORKING AS DESIGNED. See above.
|
|
525
|
+
duplicateIds,
|
|
368
526
|
next: pick ? { id: pick.id, priority: pick.priority, text: pick.text } : null,
|
|
369
527
|
skipped,
|
|
370
528
|
// A SEPARATE AXIS from `skipped` (blocked) — this is "not this caller's
|
|
@@ -381,6 +539,10 @@ export async function nextUnblockedTool(args) {
|
|
|
381
539
|
...skipped.map((s) => `⏭ skipped — blocked by ${s.blockedBy}`),
|
|
382
540
|
...notClaimable.map((s) => `⏭ skipped — not worker-claimable (${s.sweepTag})`),
|
|
383
541
|
...awaitingDecision.map((a) => `⏸ skipped — awaiting decision from ${a.who} (${a.id})`),
|
|
542
|
+
...duplicateIds.map((d) => `⚠ ${d.rows} open rows share the id ${d.id} — one record excludes all of them`),
|
|
543
|
+
...delivered.map((d) => d.reason === "board"
|
|
544
|
+
? `⏭ not offered — already on the board (${d.id})`
|
|
545
|
+
: `⏭ not offered — delivery recorded in DONE.md (${d.id})`),
|
|
384
546
|
],
|
|
385
547
|
// A SEPARATE AXIS, deliberately. See noDownstream().
|
|
386
548
|
noDownstream: undiscriminating
|
|
@@ -739,40 +901,56 @@ export async function landTool(args) {
|
|
|
739
901
|
// an entry added to the record model renders through the pinned glyph contract.
|
|
740
902
|
const wrote = [];
|
|
741
903
|
let stampedNotSupplied = [];
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
if (blocks[i]?.kind === "done")
|
|
758
|
-
last = i;
|
|
759
|
-
if (last === -1) {
|
|
760
|
-
return {
|
|
761
|
-
ok: false,
|
|
762
|
-
error: `${DONE_DOC} has no parsed done block to append to — refusing to guess where the entry goes. A DONE.md that parses to zero entries is a defect in the log, not an empty log.`,
|
|
763
|
-
};
|
|
904
|
+
// A stale-base refusal is a RESULT, not a crash: the caller needs to know
|
|
905
|
+
// nothing was clobbered, what moved, and what this call had already written
|
|
906
|
+
// before it stopped. Thrown inside writeDoc so it cannot be ignored; converted
|
|
907
|
+
// here so the verb still answers.
|
|
908
|
+
try {
|
|
909
|
+
if (args.write) {
|
|
910
|
+
if (queueChanged) {
|
|
911
|
+
const w = writeDoc(repo, QUEUE_DOC, q.doc, q.text, wrote);
|
|
912
|
+
if (w.written)
|
|
913
|
+
wrote.push(QUEUE_DOC);
|
|
914
|
+
// Rows stamped that this call did not ask to touch. `queueItemId` is the
|
|
915
|
+
// one item the caller supplied, so anything else here is a row that
|
|
916
|
+
// arrived unstamped from somewhere: the absorption this verb would
|
|
917
|
+
// otherwise carry to main under its own name.
|
|
918
|
+
stampedNotSupplied = w.stamped.filter((id) => id !== args.queueItemId);
|
|
764
919
|
}
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
920
|
+
if (doneLine) {
|
|
921
|
+
const blocks = d.doc.blocks;
|
|
922
|
+
let last = -1;
|
|
923
|
+
for (let i = 0; i < blocks.length; i++)
|
|
924
|
+
if (blocks[i]?.kind === "done")
|
|
925
|
+
last = i;
|
|
926
|
+
if (last === -1) {
|
|
927
|
+
return {
|
|
928
|
+
ok: false,
|
|
929
|
+
error: `${DONE_DOC} has no parsed done block to append to — refusing to guess where the entry goes. A DONE.md that parses to zero entries is a defect in the log, not an empty log.`,
|
|
930
|
+
};
|
|
931
|
+
}
|
|
932
|
+
const block = blocks[last];
|
|
933
|
+
const parsed = parseWorkDoc(`## Done\n${doneLine}\n`);
|
|
934
|
+
const entry = doneEntriesOf(parsed)[0];
|
|
935
|
+
if (!entry) {
|
|
936
|
+
return { ok: false, error: `the composed DONE line does not parse as done.v1: ${doneLine}` };
|
|
937
|
+
}
|
|
938
|
+
block.entries.push(entry);
|
|
939
|
+
if (writeDoc(repo, DONE_DOC, d.doc, d.text, wrote).written)
|
|
940
|
+
wrote.push(DONE_DOC);
|
|
770
941
|
}
|
|
771
|
-
block.entries.push(entry);
|
|
772
|
-
if (writeDoc(repo, DONE_DOC, d.doc, d.text).written)
|
|
773
|
-
wrote.push(DONE_DOC);
|
|
774
942
|
}
|
|
775
943
|
}
|
|
944
|
+
catch (e) {
|
|
945
|
+
if (e instanceof StaleWriteError) {
|
|
946
|
+
return {
|
|
947
|
+
ok: false,
|
|
948
|
+
error: e.message,
|
|
949
|
+
staleWrite: { doc: e.rel, drift: e.detail, alreadyWritten: e.alreadyWritten },
|
|
950
|
+
};
|
|
951
|
+
}
|
|
952
|
+
throw e;
|
|
953
|
+
}
|
|
776
954
|
// 6.2 — EMIT ONLY AS A CONSEQUENCE OF THE RECORD CHANGING.
|
|
777
955
|
//
|
|
778
956
|
// Read back from disk, AFTER the write, and refuse to emit anything whose ref
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/tools/records.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/tools/records.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/registry.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { detachAgentTool } from "./transport.js";
|
|
2
|
+
import { isLocallyProbeable, isRemoteTmuxKind, targetOf } from "../transports/index.js";
|
|
2
3
|
import { readAway, secondCoordinatorRefusal } from "./away.js";
|
|
3
4
|
import { z } from "zod";
|
|
4
5
|
import path from "node:path";
|
|
@@ -318,6 +319,34 @@ export async function listAgentsTool() {
|
|
|
318
319
|
};
|
|
319
320
|
return { agents, evicted, proseOnly };
|
|
320
321
|
}
|
|
322
|
+
/**
|
|
323
|
+
* EVERY marker on disk, READ-ONLY.
|
|
324
|
+
*
|
|
325
|
+
* `loadLiveTransports` below deletes any marker it judges not-live, which is
|
|
326
|
+
* right for the delivery paths that own that garbage collection and WRONG for a
|
|
327
|
+
* diagnostic: `capabilities` must be able to describe the fleet without changing
|
|
328
|
+
* it. Using the reaping loader from a read-only verb made a mixed-fleet check
|
|
329
|
+
* delete the very marker it was reporting (caught by its own test — the second
|
|
330
|
+
* disagreeing agent vanished between write and read).
|
|
331
|
+
*
|
|
332
|
+
* Liveness is reported per marker rather than filtered on, because a STALE marker
|
|
333
|
+
* naming a different transport is more alarming than a live one, not less: it is
|
|
334
|
+
* a seat that may come back on the wrong transport. Filtering it out would make
|
|
335
|
+
* the remote kind — whose liveness is heartbeat-based and therefore absent
|
|
336
|
+
* without a registry entry — systematically invisible to this check.
|
|
337
|
+
*/
|
|
338
|
+
export async function readAllTransportMarkers() {
|
|
339
|
+
const out = [];
|
|
340
|
+
const reg = await readJson(AGENTS_FILE, {});
|
|
341
|
+
const now = Date.now();
|
|
342
|
+
for (const fname of await listTransportFiles()) {
|
|
343
|
+
const marker = await readJson(path.join(TRANSPORT_DIR, fname), null);
|
|
344
|
+
if (!marker)
|
|
345
|
+
continue; // unparseable: nothing to attribute, and not ours to delete
|
|
346
|
+
out.push({ marker, live: isMarkerLive(marker, reg, now) });
|
|
347
|
+
}
|
|
348
|
+
return out;
|
|
349
|
+
}
|
|
321
350
|
export async function loadLiveTransports() {
|
|
322
351
|
const out = new Map();
|
|
323
352
|
const reg = await readJson(AGENTS_FILE, {});
|
|
@@ -337,7 +366,7 @@ export async function loadLiveTransports() {
|
|
|
337
366
|
// remote markers (tmux-push-remote, pid 0 on a foreign host) can't be — so we
|
|
338
367
|
// trust the registry heartbeat the remote pusher refreshes (within STALE_MS).
|
|
339
368
|
export function isMarkerLive(marker, reg, now) {
|
|
340
|
-
if (marker.transport
|
|
369
|
+
if (isRemoteTmuxKind(marker.transport)) {
|
|
341
370
|
const entry = reg[marker.agentId];
|
|
342
371
|
return !!entry && now - entry.lastHeartbeat < STALE_MS;
|
|
343
372
|
}
|
|
@@ -386,11 +415,11 @@ export async function liveClaimEvidence(agentId, now) {
|
|
|
386
415
|
}
|
|
387
416
|
if (marker && isMarkerLive(marker, reg, now)) {
|
|
388
417
|
markerLive = true;
|
|
389
|
-
reasons.push(`live ${marker.transport} transport (pid ${marker.pid}${marker
|
|
390
|
-
if (marker.transport
|
|
391
|
-
marker
|
|
418
|
+
reasons.push(`live ${marker.transport} transport (pid ${marker.pid}${targetOf(marker) ? `, pane ${targetOf(marker)}` : ""})`);
|
|
419
|
+
if (isLocallyProbeable(marker.transport) &&
|
|
420
|
+
targetOf(marker) &&
|
|
392
421
|
process.env.TMUX_PANE &&
|
|
393
|
-
marker
|
|
422
|
+
targetOf(marker) === process.env.TMUX_PANE) {
|
|
394
423
|
samePane = true;
|
|
395
424
|
}
|
|
396
425
|
}
|