agent-coord-mcp 0.26.4 → 0.26.6

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 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ /*
2
+ * `rotate` — handover-to-self across a context clear (Phase 5 Task 5).
3
+ *
4
+ * THE PACKET IS A SNAPSHOT, AND A CONTEXT RESET IS PRECISELY WHEN NOBODY CAN
5
+ * CHECK IT. After `/clear` the agent has no memory to contradict the packet
6
+ * with: whatever it says becomes the world. So the packet is written from
7
+ * TOOLS AND `gh`, never from chat memory — memory is the one source that
8
+ * cannot be re-derived after the reset it is meant to survive — and on the
9
+ * far side it is RECONCILED against live state before any work is done.
10
+ *
11
+ * A packet that is merely READ on resume is a stale world restored with
12
+ * confidence. That is the failure this verb exists to prevent, so `missionHint`
13
+ * is named a HINT in the type and treated as one in code: it is the only field
14
+ * that cannot be verified, and it never gets to assert anything.
15
+ */
16
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
17
+ import { execFileSync } from "node:child_process";
18
+ import path from "node:path";
19
+ import { z } from "zod";
20
+ import { ROOT } from "../store.js";
21
+ /*
22
+ * 5.4 — JOB IDS ARE AN ALLOWLIST.
23
+ *
24
+ * `archive-done` is deliberately ABSENT and stays absent: it is an arithmetic
25
+ * job over DONE.md that belongs to Groundwork and an existing QUEUE item, and
26
+ * a rotation is the worst possible moment to run one. Rotation exists to carry
27
+ * state ACROSS a reset intact; a verb that also rewrites the records it is
28
+ * carrying cannot be checked afterwards by the agent that ran it.
29
+ */
30
+ export const ROTATE_JOBS = ["reseed-only", "phase-boundary"];
31
+ const packetFile = (agentId) => path.join(ROOT, "rotate", `${agentId}.json`);
32
+ const realFacts = (repo) => {
33
+ const git = (args) => execFileSync("git", args, { cwd: repo, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] }).trim();
34
+ const out = execFileSync("gh", ["pr", "list", "--state", "open", "--json", "number,headRefOid"], { cwd: repo, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
35
+ return {
36
+ dirty: git(["status", "--porcelain"]),
37
+ sha: git(["rev-parse", "HEAD"]),
38
+ openPrs: JSON.parse(out).map((p) => ({ n: p.number, headRefOid: p.headRefOid })),
39
+ };
40
+ };
41
+ export const rotateSchema = {
42
+ agentId: z.string().min(1),
43
+ job: z.string().min(1),
44
+ repo: z.string().optional(),
45
+ rooms: z.array(z.string()).optional(),
46
+ missionHint: z.string().optional(),
47
+ write: z.boolean().optional(),
48
+ };
49
+ export async function rotateTool(args, facts = realFacts) {
50
+ const repo = args.repo ?? process.cwd();
51
+ // 5.4 — unknown job refused BY NAME, and `archive-done` gets its own reason
52
+ // so the refusal reads as a decision rather than a typo.
53
+ if (!ROTATE_JOBS.includes(args.job)) {
54
+ const extra = args.job === "archive-done" ? ` 'archive-done' is deliberately not a rotation job: it rewrites the records the rotation is carrying, and a reset is the one moment nobody can check the result. It belongs to Groundwork and its existing QUEUE item.` : "";
55
+ return { ok: false, error: `'${args.job}' is not a rotate job. Allowed: ${ROTATE_JOBS.join(", ")}.${extra}` };
56
+ }
57
+ let f;
58
+ try {
59
+ f = facts(repo);
60
+ }
61
+ catch (e) {
62
+ return { ok: false, error: `could not read live state (${String(e.message).split("\n")[0]}) — a packet built from anything but live state is chat memory with a filename.` };
63
+ }
64
+ // 5.2 — MID-SLICE DIRTY REFUSES THE CLEAR.
65
+ //
66
+ // Uncommitted work is the one thing a packet cannot carry: it is not in the
67
+ // repo, not on a branch, and not in any tool's answer, so after `/clear` no
68
+ // reconciliation can discover it ever existed. It does not get lost loudly —
69
+ // it gets lost silently, which is why this is a refusal and not a warning.
70
+ if (f.dirty) {
71
+ const n = f.dirty.split("\n").filter(Boolean).length;
72
+ return {
73
+ ok: false,
74
+ error: `${n} uncommitted change(s) — refusing to rotate mid-slice. Uncommitted work is the one thing a packet cannot carry: after the clear, nothing can discover it existed. Commit it or stash it deliberately, then rotate.`,
75
+ dirty: f.dirty.split("\n").filter(Boolean),
76
+ };
77
+ }
78
+ const packet = {
79
+ agentId: args.agentId,
80
+ job: args.job,
81
+ rooms: args.rooms ?? [],
82
+ name: args.agentId,
83
+ missionHint: args.missionHint ?? "",
84
+ atSha: f.sha,
85
+ openPrs: f.openPrs,
86
+ at: new Date().toISOString(),
87
+ };
88
+ if (!args.write)
89
+ return { ok: true, written: false, packet, note: `packet built from live state; pass write:true to persist it before /clear.` };
90
+ mkdirSync(path.dirname(packetFile(args.agentId)), { recursive: true });
91
+ writeFileSync(packetFile(args.agentId), `${JSON.stringify(packet, null, 2)}\n`);
92
+ return { ok: true, written: true, packet, path: packetFile(args.agentId) };
93
+ }
94
+ export const rotateReconcileSchema = { agentId: z.string().min(1), repo: z.string().optional() };
95
+ export async function rotateReconcileTool(args, facts = realFacts) {
96
+ const repo = args.repo ?? process.cwd();
97
+ const f0 = packetFile(args.agentId);
98
+ if (!existsSync(f0))
99
+ return { ok: false, error: `no rotate packet for '${args.agentId}'. A reseeded agent with no packet has nothing to reconcile against and must not infer its state — ask for a GO.` };
100
+ let packet;
101
+ try {
102
+ packet = JSON.parse(readFileSync(f0, "utf8"));
103
+ }
104
+ catch (e) {
105
+ return { ok: false, error: `packet for '${args.agentId}' is unreadable (${String(e.message).split("\n")[0]}) — an unparseable packet is not an empty one; do not proceed as if there were no prior state.` };
106
+ }
107
+ let f;
108
+ try {
109
+ f = facts(repo);
110
+ }
111
+ catch (e) {
112
+ // NOT RECONCILED IS NOT RECONCILED-CLEAN.
113
+ return { ok: false, error: `could not read live state to reconcile (${String(e.message).split("\n")[0]}) — NOT checked, which is not the same as checked and matching.`, packet };
114
+ }
115
+ const live = new Map(f.openPrs.map((p) => [p.n, p.headRefOid]));
116
+ const divergences = [];
117
+ // 5.5 — THE PACKET'S OPEN PRs ARE CLAIMS, NOT FACTS.
118
+ //
119
+ // A PR that merged during the reset is the dangerous direction: the packet
120
+ // says "open", the agent resumes and keeps working a branch that is already
121
+ // in main, and every one of its next steps is coherent and wrong.
122
+ for (const p of packet.openPrs ?? []) {
123
+ if (!live.has(p.n))
124
+ divergences.push({ field: `pr#${p.n}`, packet: "open", live: "not open", note: `#${p.n} is no longer open — it merged or closed during the reset. Do NOT resume work on it as open.` });
125
+ else if (live.get(p.n) !== p.headRefOid)
126
+ divergences.push({ field: `pr#${p.n}`, packet: p.headRefOid, live: String(live.get(p.n)), note: `#${p.n} advanced during the reset — the packet's head is stale; re-read before acting.` });
127
+ }
128
+ if (packet.atSha && f.sha !== packet.atSha)
129
+ divergences.push({ field: "atSha", packet: packet.atSha, live: f.sha, note: `the repo moved during the reset; anything the packet said about the tree may be stale.` });
130
+ // The verdict names its POPULATION, and `missionHint` is excluded from it on
131
+ // purpose: it is unverifiable, so counting it as "reconciled" would be a
132
+ // clean report over something never checked.
133
+ const verdict = {
134
+ reconciled: (packet.openPrs?.length ?? 0) + (packet.atSha ? 1 : 0),
135
+ divergences,
136
+ unverifiable: ["missionHint"],
137
+ missionHint: packet.missionHint,
138
+ };
139
+ if (divergences.length)
140
+ return { ok: false, error: `${divergences.length} divergence(s) between packet and live state — REFUSING to report ready. A packet read without reconciliation is a stale world restored with confidence.`, verdict, packet };
141
+ return { ok: true, ready: true, verdict, packet, note: `packet matches live state. 'missionHint' is a HINT and was NOT verified — treat it as a prompt, never as an instruction you have confirmed.` };
142
+ }
143
+ //# sourceMappingURL=rotate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rotate.js","sourceRoot":"","sources":["../../src/tools/rotate.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,15 @@ import { existsSync } from "node:fs";
3
3
  import { promises as fsp } from "node:fs";
4
4
  import path from "node:path";
5
5
  import { DEFAULT_ROOM, STATUS_FILE, inboxFile, normalizeRoom, roomFile, } from "../store.js";
6
+ /**
7
+ * How to REPORT a transport's room capability.
8
+ *
9
+ * Three states, not two. `undefined` is a marker written before the field
10
+ * existed: it cannot answer, and "unknown" is the only truthful report. The
11
+ * defect being fixed is precisely a two-state reading of a three-state world —
12
+ * `attached: true` covered "full", "DM-only", and "cannot say" alike.
13
+ */
14
+ export const roomFeedOf = (m) => !m || m.rooms === undefined ? "unknown" : m.rooms ? "on" : "off";
6
15
  // THE retention predicate — one definition, three call sites (prune,
7
16
  // live compaction, overflow-digest quoting). It lived as three copies of
8
17
  // `e.kind === "decision"`, and they drifted: a v2 agent doing exactly what
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ /*
2
+ * `stall_check` — a predicate over the board and the bus, plus a HALT flag.
3
+ *
4
+ * Stall has been "notice the room" until now, which means it is noticed when
5
+ * somebody happens to look. The measured cost elsewhere: ~42 hours of dead merge
6
+ * path across four incidents in three days, with `main` advancing throughout so
7
+ * every commit-based liveness check read green.
8
+ *
9
+ * A MISS IS SILENT TO THE DUTY OFFICER AND NEVER SILENT TO THE RECORD.
10
+ *
11
+ * This is the whole design constraint (3.3b). "HIT DMs, MISS silent" answers the
12
+ * noise question and makes a DEAD CLOCK look exactly like a healthy fleet — the
13
+ * absence-read-as-evidence rule, inside the verb built to watch for absence. So
14
+ * every run leaves a mark, HIT or MISS, and "no alert" becomes distinguishable
15
+ * from "nothing ran". A check that only speaks when it fires cannot be told from
16
+ * a broken one.
17
+ */
18
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
19
+ import { execFileSync } from "node:child_process";
20
+ import path from "node:path";
21
+ import { z } from "zod";
22
+ import { parseWorkDoc, workstreamsV1RowsOf } from "@davidbalzan/groundwork-seam";
23
+ import { ROOT, AGENTS_FILE, readJson } from "../store.js";
24
+ const BOARD_DOC = "docs/WORKSTREAMS.md";
25
+ const STALL_MS = 30 * 60 * 1000;
26
+ const runFile = () => path.join(ROOT, "stall-check.json");
27
+ const haltFile = () => path.join(ROOT, "halt.json");
28
+ // ---------- halt ----------
29
+ export const setHaltSchema = {
30
+ reason: z.string().min(1),
31
+ by: z.string().min(1),
32
+ clear: z.boolean().optional(),
33
+ };
34
+ /**
35
+ * A NAMED state, never a mood.
36
+ *
37
+ * "Production feels down" is not a halt: a halt blocks every claim in the fleet,
38
+ * so the thing that sets it must be nameable and therefore arguable — a board
39
+ * cutover, a cited `BLOCKER:`, a documented red pipeline. The reason is required
40
+ * for that reason, not for the log.
41
+ */
42
+ export async function setHaltTool(args) {
43
+ mkdirSync(ROOT, { recursive: true });
44
+ if (args.clear) {
45
+ writeFileSync(haltFile(), JSON.stringify({ halted: false, clearedBy: args.by, clearedAt: Date.now(), lastReason: args.reason }, null, 2));
46
+ return { ok: true, halted: false, clearedBy: args.by };
47
+ }
48
+ const state = { halted: true, reason: args.reason, by: args.by, at: Date.now() };
49
+ writeFileSync(haltFile(), JSON.stringify(state, null, 2));
50
+ return { ok: true, ...state };
51
+ }
52
+ export function haltState() {
53
+ try {
54
+ const raw = JSON.parse(readFileSync(haltFile(), "utf8"));
55
+ return raw?.halted ? raw : { halted: false };
56
+ }
57
+ catch {
58
+ return { halted: false };
59
+ }
60
+ }
61
+ // ---------- the run mark ----------
62
+ /** Every run leaves this, HIT or MISS. It is what makes a dead clock visible. */
63
+ function markRun(result) {
64
+ mkdirSync(ROOT, { recursive: true });
65
+ let history = [];
66
+ try {
67
+ history = JSON.parse(readFileSync(runFile(), "utf8")).history ?? [];
68
+ }
69
+ catch {
70
+ /* first run */
71
+ }
72
+ history.push({ at: Date.now(), hits: result.hits.length, checked: result.checked });
73
+ // A RUN OF MISSES MUST BE VISIBLE AS RUNS, not as absence — so the marks are a
74
+ // list, not a single timestamp. "Ten quiet checks" and "one check ten hours ago"
75
+ // are different states and only the first is a healthy fleet.
76
+ writeFileSync(runFile(), JSON.stringify({ history: history.slice(-200) }, null, 2));
77
+ }
78
+ export const lastRanSchema = { maxAgeMinutes: z.number().optional() };
79
+ /**
80
+ * Is the clock alive? Readable by a human or another check, which is the point —
81
+ * MISS is silent to the duty officer, not to the record.
82
+ */
83
+ export async function stallClockStatusTool(args) {
84
+ const maxAge = (args.maxAgeMinutes ?? 60) * 60 * 1000;
85
+ let history = [];
86
+ try {
87
+ history = JSON.parse(readFileSync(runFile(), "utf8")).history ?? [];
88
+ }
89
+ catch {
90
+ return {
91
+ ok: false,
92
+ error: "stall_check has NEVER run — no run mark exists. That is not a quiet fleet, it is an unwatched one: a check that only speaks when it fires cannot be told from a broken one.",
93
+ };
94
+ }
95
+ const last = history[history.length - 1];
96
+ const age = Date.now() - (last?.at ?? 0);
97
+ // `>=`, NOT `>`, AND THE DIFFERENCE IS A REAL RACE RATHER THAN PEDANTRY.
98
+ //
99
+ // With `>`, a window of 0 and a mark written in the SAME MILLISECOND gives
100
+ // `0 > 0` = false: the clock reads FRESH at the instant it was asked to treat
101
+ // everything as stale. It passed locally and on one CI run and failed on
102
+ // another — green in two environments, red in one — because it depended on at
103
+ // least a millisecond elapsing.
104
+ //
105
+ // The window having ELAPSED is the condition, so equality is inside it: a
106
+ // 0-minute window means nothing is ever fresh, which is what a caller asking
107
+ // for one means.
108
+ const stale = age >= maxAge;
109
+ const misses = history.filter((h) => h.hits === 0).length;
110
+ return {
111
+ ok: !stale,
112
+ ...(stale
113
+ ? {
114
+ error: `stall_check last ran ${Math.round(age / 60000)}m ago, past the ${args.maxAgeMinutes ?? 60}m window — THE CLOCK IS STOPPED. No alerts is not the same as no stalls.`,
115
+ }
116
+ : {}),
117
+ lastRanMinutesAgo: Math.round(age / 60000),
118
+ runs: history.length,
119
+ misses,
120
+ hits: history.length - misses,
121
+ };
122
+ }
123
+ // ---------- the predicate ----------
124
+ export const stallCheckSchema = { repo: z.string().optional(), stallMinutes: z.number().optional() };
125
+ export async function stallCheckTool(args) {
126
+ const repo = args.repo ?? process.cwd();
127
+ const limit = (args.stallMinutes ?? 30) * 60 * 1000;
128
+ const board = path.join(repo, BOARD_DOC);
129
+ if (!existsSync(board))
130
+ return { ok: false, error: `no ${BOARD_DOC} under '${repo}'` };
131
+ const rows = workstreamsV1RowsOf(parseWorkDoc(readFileSync(board, "utf8")));
132
+ const inFlight = rows.filter((r) => /🚧/.test(r.status));
133
+ const reg = await readJson(AGENTS_FILE, {});
134
+ const now = Date.now();
135
+ const hits = [];
136
+ for (const row of inFlight) {
137
+ const agentId = row.owner.replace(/[`*]/g, "").trim();
138
+ const entry = reg[agentId];
139
+ if (entry) {
140
+ const age = now - entry.lastHeartbeat;
141
+ if (age > limit) {
142
+ hits.push({ kind: "no-heartbeat", agentId, stream: row.stream.slice(0, 60), minutes: Math.round(age / 60000) });
143
+ continue;
144
+ }
145
+ }
146
+ // A FRESH HEARTBEAT IS NOT PROGRESS. An agent can be alive and stuck, which is
147
+ // the case "notice the room" never catches: the pane is responsive, so nobody
148
+ // looks. Ask the branch instead.
149
+ const branch = (row.branchWorktree.match(/`([^`]+)`/)?.[1] ?? "").trim();
150
+ if (!branch || !/\//.test(branch))
151
+ continue;
152
+ try {
153
+ const iso = execFileSync("git", ["log", "-1", "--format=%cI", branch], {
154
+ cwd: repo, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"],
155
+ }).trim();
156
+ const age = now - Date.parse(iso);
157
+ if (age > limit) {
158
+ hits.push({ kind: "no-vcs-activity", agentId, branch, minutes: Math.round(age / 60000) });
159
+ }
160
+ }
161
+ catch {
162
+ /* unknown branch: not a stall claim we can make */
163
+ }
164
+ }
165
+ const result = { hits, checked: inFlight.length };
166
+ markRun(result);
167
+ return {
168
+ ok: true,
169
+ ...result,
170
+ halted: haltState().halted,
171
+ // MISS is silent to the DUTY OFFICER — the caller decides whether to DM — and
172
+ // never silent to the record, which markRun just wrote.
173
+ dm: hits.length > 0,
174
+ note: hits.length === 0
175
+ ? `MISS — ${inFlight.length} in-flight row(s), none stalled. No DM. The run IS recorded: read it with stall_clock_status, because no alert and nothing running look identical from here.`
176
+ : undefined,
177
+ };
178
+ }
179
+ //# sourceMappingURL=stall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stall.js","sourceRoot":"","sources":["../../src/tools/stall.ts"],"names":[],"mappings":"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"}