@detergent-software/conductor 3.5.0-dev.9 → 3.5.1-dev.1
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/CHANGELOG.md +177 -0
- package/README.md +7 -4
- package/build/blocking.js +53 -0
- package/build/blocking.js.map +1 -0
- package/build/brief.js +9 -2
- package/build/brief.js.map +1 -1
- package/build/cli.js +12 -4
- package/build/cli.js.map +1 -1
- package/build/client.js +18 -8
- package/build/client.js.map +1 -1
- package/build/config.js +4 -0
- package/build/config.js.map +1 -1
- package/build/daemon.js +100 -26
- package/build/daemon.js.map +1 -1
- package/build/help.js +1 -1
- package/build/help.js.map +1 -1
- package/build/host/worktree-processes.js.map +1 -1
- package/build/inbox.js +74 -4
- package/build/inbox.js.map +1 -1
- package/build/loop-lag.js +97 -9
- package/build/loop-lag.js.map +1 -1
- package/build/manager.js +237 -48
- package/build/manager.js.map +1 -1
- package/build/notes.js +132 -21
- package/build/notes.js.map +1 -1
- package/build/plugin.js +9 -3
- package/build/plugin.js.map +1 -1
- package/build/profile-layers.js +2 -1
- package/build/profile-layers.js.map +1 -1
- package/build/run.js +11 -1
- package/build/run.js.map +1 -1
- package/build/scheduler.js +8 -2
- package/build/scheduler.js.map +1 -1
- package/build/server.js +1 -1
- package/build/server.js.map +1 -1
- package/build/store.js +6 -1
- package/build/store.js.map +1 -1
- package/build/watchers/linear-api.js +73 -13
- package/build/watchers/linear-api.js.map +1 -1
- package/build/watchers/linear-queue.js +11 -4
- package/build/watchers/linear-queue.js.map +1 -1
- package/build/watchers/linear.js +18 -17
- package/build/watchers/linear.js.map +1 -1
- package/build/worktrees.js +18 -6
- package/build/worktrees.js.map +1 -1
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +4 -2
- package/plugin/hooks/model.ts +45 -11
- package/plugin/hooks/register.tsx +54 -22
- package/plugin/skills/work-item/SKILL.md +3 -3
- package/plugin/types/index.d.ts +5 -1
package/build/inbox.js
CHANGED
|
@@ -2,6 +2,7 @@ import { z } from 'zod';
|
|
|
2
2
|
import { formatCondition, parseCondition } from "./conditions.js";
|
|
3
3
|
import { loginText } from "./credentials.js";
|
|
4
4
|
import { ConductorError } from "./errors.js";
|
|
5
|
+
import { killCommand, processesText } from "./host/worktree-processes.js";
|
|
5
6
|
import { inboxLinkSchema, link, uniqueLinks } from "./links.js";
|
|
6
7
|
import { handoffKindSchema } from "./protocol.js";
|
|
7
8
|
import { RELEASE_GATES, releaseAsk, releaseGate } from "./release-kinds.js";
|
|
@@ -111,8 +112,14 @@ const checksData = z.looseObject({
|
|
|
111
112
|
resolution: z.string(),
|
|
112
113
|
worker: z.number(),
|
|
113
114
|
});
|
|
115
|
+
const processData = z.looseObject({ command: z.string(), pid: z.number() });
|
|
114
116
|
const workerData = z.looseObject({
|
|
115
117
|
error: z.string().optional(),
|
|
118
|
+
// A long park's held processes that have exited (worker.processes-exited, ATK-880).
|
|
119
|
+
exited: z.array(processData).optional().catch(undefined),
|
|
120
|
+
// The processes a long park couldn't stop (worker.processes-stopped, ATK-879), or those of them
|
|
121
|
+
// still running (worker.processes-exited).
|
|
122
|
+
held: z.array(processData).optional().catch(undefined),
|
|
116
123
|
// The worktree a retire kept, because its PR hadn't merged (worker.retired), and the repository it
|
|
117
124
|
// belongs to: the project's clone, or for one made before clones the person's checkout.
|
|
118
125
|
kept: z
|
|
@@ -133,6 +140,8 @@ const workerData = z.looseObject({
|
|
|
133
140
|
pending: pendingCallSchema.optional().catch(undefined),
|
|
134
141
|
// The plugin folder a worker's session didn't load (worker.plugin-missing).
|
|
135
142
|
plugin: z.string().optional(),
|
|
143
|
+
// An attach that resumed a parked worker (worker.attached).
|
|
144
|
+
resumed: z.boolean().optional(),
|
|
136
145
|
retryMinutes: z.number().optional(),
|
|
137
146
|
step: z.string().optional(),
|
|
138
147
|
threshold: z.number().optional(),
|
|
@@ -542,15 +551,40 @@ export function inboxService({ onWaitResolved, store, tracker }) {
|
|
|
542
551
|
const { name, worker } = data.data;
|
|
543
552
|
const attach = `conduct attach ${name}`;
|
|
544
553
|
// Red checks are the PR's, and a failed Handoff the worker's, not the session's: a lost session
|
|
545
|
-
// still raises its own failure.
|
|
554
|
+
// still raises its own failure. So does one beside a long park's held processes (ATK-879).
|
|
546
555
|
const own = (kind, text, commands) => {
|
|
547
|
-
if (openOf(worker, [kind]).some((i) => !isChecksFailure(i) && !answeredOnItem(i) && !isGoneItem(i)))
|
|
556
|
+
if (openOf(worker, [kind]).some((i) => !isChecksFailure(i) && !answeredOnItem(i) && !isGoneItem(i) && !isParkHeld(i)))
|
|
548
557
|
return;
|
|
549
558
|
raise({ commands, condition: null, item: event.subject, kind, links: [], project: event.project, text, worker });
|
|
550
559
|
};
|
|
560
|
+
// A long park's processes that wouldn't stop, raised beside the worker's other failures, unless an
|
|
561
|
+
// open one gives these kill commands already, such as a half-done retire's item naming the same
|
|
562
|
+
// processes.
|
|
563
|
+
const raiseParkHeld = (held, minutes) => {
|
|
564
|
+
if (held.length === 0)
|
|
565
|
+
return;
|
|
566
|
+
const commands = held.map((p) => killCommand(p.pid));
|
|
567
|
+
if (openOf(worker, ['failed']).some((i) => commands.every((c) => i.commands.includes(c))))
|
|
568
|
+
return;
|
|
569
|
+
raise({
|
|
570
|
+
commands,
|
|
571
|
+
condition: null,
|
|
572
|
+
item: event.subject,
|
|
573
|
+
kind: 'failed',
|
|
574
|
+
links: [],
|
|
575
|
+
project: event.project,
|
|
576
|
+
text: `${parkHeldText(name, minutes)}${processesText(held)}. Stop them; it stays parked`,
|
|
577
|
+
worker,
|
|
578
|
+
});
|
|
579
|
+
};
|
|
551
580
|
// A new launch of the same worker name answers an earlier one that failed, whether it ran or not.
|
|
552
581
|
const earlierFailures = () => openOn(event.project, event.subject, ['failed']).filter((i) => i.worker !== null && i.worker !== worker && store.getWorker(i.worker)?.name === name);
|
|
553
582
|
switch (event.kind) {
|
|
583
|
+
case 'worker.attached':
|
|
584
|
+
// An attach resumes a parked worker with no worker.resumed of its own.
|
|
585
|
+
if (data.data.resumed === true)
|
|
586
|
+
resolveAll(openOf(worker, ['failed']).filter(isParkHeld), `${name} attached`);
|
|
587
|
+
return;
|
|
554
588
|
case 'worker.compact-failed':
|
|
555
589
|
// The manager tries a worker once a run (ATK-497): a session it couldn't compact is the operator's
|
|
556
590
|
// to compact or retire. A rule's own `inbox context` item is another matter.
|
|
@@ -602,6 +636,27 @@ export function inboxService({ onWaitResolved, store, tracker }) {
|
|
|
602
636
|
`conduct launch ${event.subject ?? name}${name.startsWith('probe-') ? ' --probe' : ''}`,
|
|
603
637
|
]);
|
|
604
638
|
return;
|
|
639
|
+
case 'worker.processes-exited': {
|
|
640
|
+
// Some of a long park's held processes have exited (ATK-880). The park's items that name one
|
|
641
|
+
// resolve, and those still held are raised again on their own, so no kill command is left for
|
|
642
|
+
// a PID the OS may give to another process. Only the park's items: a half-done retire's item
|
|
643
|
+
// naming the same processes is the scheduler's, which its retry resolves.
|
|
644
|
+
const { exited = [], held = [], minutes } = data.data;
|
|
645
|
+
const gone = new Set(exited.map((p) => killCommand(p.pid)));
|
|
646
|
+
const items = openOf(worker, ['failed']).filter((i) => isParkHeld(i) && i.commands.some((c) => gone.has(c)));
|
|
647
|
+
if (items.length === 0)
|
|
648
|
+
return;
|
|
649
|
+
resolveAll(items, `${name}'s held processes exited: ${exited.map((p) => p.pid).join(', ')}`);
|
|
650
|
+
raiseParkHeld(held, minutes);
|
|
651
|
+
return;
|
|
652
|
+
}
|
|
653
|
+
case 'worker.processes-stopped':
|
|
654
|
+
// A process a long park couldn't stop holds its memory through the wait (ATK-879). The worker
|
|
655
|
+
// stays parked on its waits; its resume or retire resolves the item, as do the processes
|
|
656
|
+
// exiting (worker.processes-exited, ATK-880), and a retire that stops part way raises its own
|
|
657
|
+
// in its place (scheduler.ts).
|
|
658
|
+
raiseParkHeld(data.data.held ?? [], data.data.minutes);
|
|
659
|
+
return;
|
|
605
660
|
case 'worker.resumed':
|
|
606
661
|
case 'worker.revived':
|
|
607
662
|
case 'worker.running-again':
|
|
@@ -792,12 +847,23 @@ export function inboxService({ onWaitResolved, store, tracker }) {
|
|
|
792
847
|
raise,
|
|
793
848
|
resolve,
|
|
794
849
|
// Session clocks, conflict and login spells were in memory, and the rules were read again at
|
|
795
|
-
// start (a file still refused raises its item again), so the items of all four start over.
|
|
850
|
+
// start (a file still refused raises its item again), so the items of all four start over. So
|
|
851
|
+
// does a long park's held processes: the check that would see them exit was in memory, and the
|
|
852
|
+
// restart checks each long park again, which raises the item again while they still run (ATK-880).
|
|
796
853
|
start: () => resolveAll(store
|
|
797
854
|
.openInbox()
|
|
798
|
-
.filter((i) => SESSION_KINDS.includes(i.kind) ||
|
|
855
|
+
.filter((i) => SESSION_KINDS.includes(i.kind) ||
|
|
856
|
+
i.kind === 'conflict' ||
|
|
857
|
+
i.kind === 'login' ||
|
|
858
|
+
isRulesItem(i) ||
|
|
859
|
+
isParkHeld(i)), 'the daemon restarted; raised again if it persists'),
|
|
799
860
|
};
|
|
800
861
|
}
|
|
862
|
+
// A failure about processes a long park couldn't stop (onWorker raises them, ATK-879).
|
|
863
|
+
export function isParkHeld(item) {
|
|
864
|
+
return (item.kind === 'failed' &&
|
|
865
|
+
/^\S+ has been parked \S+ min, and its worktree's processes wouldn't stop: /.test(item.text));
|
|
866
|
+
}
|
|
801
867
|
// A push's body: the item, then the ask, within PushNotification's 200 characters.
|
|
802
868
|
export function pushMessage(item) {
|
|
803
869
|
const message = item.item === null || item.text.includes(item.item) ? item.text : `${item.item} · ${item.text}`;
|
|
@@ -868,6 +934,10 @@ function noteKindOf(kind) {
|
|
|
868
934
|
const parsed = handoffKindSchema.safeParse(kind);
|
|
869
935
|
return parsed.success && parsed.data !== 'conductor' ? NOTE_KINDS[parsed.data] : undefined;
|
|
870
936
|
}
|
|
937
|
+
// How a long park's held processes start (onWorker raises them), which also marks them as one.
|
|
938
|
+
function parkHeldText(name, minutes) {
|
|
939
|
+
return `${name} has been parked ${minutes ?? '?'} min, and its worktree's processes wouldn't stop: `;
|
|
940
|
+
}
|
|
871
941
|
function planCommands(item) {
|
|
872
942
|
return [`conduct approve ${item}`, `conduct revise ${item} "<what to change>"`];
|
|
873
943
|
}
|
package/build/inbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../src/inbox.ts"],"names":[],"mappings":"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"}
|
package/build/loop-lag.js
CHANGED
|
@@ -1,19 +1,41 @@
|
|
|
1
|
-
|
|
1
|
+
import { cpus, freemem } from 'node:os';
|
|
2
|
+
import { Worker } from 'node:worker_threads';
|
|
3
|
+
import { callsSince } from "./blocking.js";
|
|
4
|
+
// Runs in the worker: element 0 holds its worst lateness since the main thread last took it, and
|
|
5
|
+
// element 1 its last tick (clockMs), which says how late it is now even before it ticks again; 0
|
|
6
|
+
// until its first tick, so a worker slow to boot isn't counted late.
|
|
7
|
+
const OFF_THREAD_SCRIPT = `
|
|
8
|
+
const { workerData } = require('node:worker_threads');
|
|
9
|
+
const { intervalMs, shared } = workerData;
|
|
10
|
+
const clockMs = () => Math.round(performance.timeOrigin + performance.now());
|
|
11
|
+
let expected = performance.now() + intervalMs;
|
|
12
|
+
setInterval(() => {
|
|
13
|
+
const now = performance.now();
|
|
14
|
+
const late = BigInt(Math.max(0, Math.round(now - expected)));
|
|
15
|
+
expected = now + intervalMs;
|
|
16
|
+
Atomics.store(shared, 1, BigInt(clockMs()));
|
|
17
|
+
if (late > Atomics.load(shared, 0)) Atomics.store(shared, 0, late);
|
|
18
|
+
}, intervalMs);
|
|
19
|
+
`;
|
|
20
|
+
export function loopLagMonitor({ context = () => ({}), intervalMs = 500, log, now = () => new Date(), offThread = offThreadTimer, thresholdMs = 2000, }) {
|
|
2
21
|
let timer;
|
|
22
|
+
let other = null;
|
|
3
23
|
let stats = { blocked: 0, last: null, maxLateMs: 0, since: null };
|
|
4
24
|
let expected = 0;
|
|
5
|
-
let
|
|
25
|
+
let before = snapshot();
|
|
6
26
|
const tick = () => {
|
|
7
27
|
const lateMs = Math.max(0, Math.round(performance.now() - expected));
|
|
8
|
-
const
|
|
9
|
-
|
|
28
|
+
const after = snapshot();
|
|
29
|
+
const gap = { after, before };
|
|
30
|
+
before = after;
|
|
10
31
|
expected = performance.now() + intervalMs;
|
|
32
|
+
const offThreadLateMs = other?.take() ?? null;
|
|
11
33
|
stats.maxLateMs = Math.max(stats.maxLateMs, lateMs);
|
|
12
34
|
if (lateMs < thresholdMs)
|
|
13
35
|
return;
|
|
14
|
-
const
|
|
36
|
+
const data = gapOf(gap, lateMs, offThreadLateMs);
|
|
15
37
|
stats.blocked++;
|
|
16
|
-
stats.last =
|
|
38
|
+
stats.last = { at: now().toISOString(), ...data };
|
|
17
39
|
let running;
|
|
18
40
|
try {
|
|
19
41
|
running = context();
|
|
@@ -21,23 +43,89 @@ export function loopLagMonitor({ context = () => ({}), intervalMs = 500, log, no
|
|
|
21
43
|
catch (error) {
|
|
22
44
|
running = { contextError: String(error) };
|
|
23
45
|
}
|
|
24
|
-
log.log('warn', 'the event loop was blocked', {
|
|
46
|
+
log.log('warn', 'the event loop was blocked', { ...data, ...running });
|
|
25
47
|
};
|
|
26
48
|
return {
|
|
27
49
|
start: () => {
|
|
28
50
|
if (timer)
|
|
29
51
|
return;
|
|
30
52
|
stats = { blocked: 0, last: null, maxLateMs: 0, since: now().toISOString() };
|
|
31
|
-
|
|
53
|
+
before = snapshot();
|
|
32
54
|
expected = performance.now() + intervalMs;
|
|
55
|
+
other = offThread(intervalMs);
|
|
33
56
|
timer = setInterval(tick, intervalMs);
|
|
34
57
|
timer.unref();
|
|
35
58
|
},
|
|
36
|
-
stats: () => ({ ...stats, last: stats.last &&
|
|
59
|
+
stats: () => ({ ...stats, last: stats.last && structuredClone(stats.last) }),
|
|
37
60
|
stop: () => {
|
|
38
61
|
clearInterval(timer);
|
|
39
62
|
timer = undefined;
|
|
63
|
+
other?.stop();
|
|
64
|
+
other = null;
|
|
40
65
|
},
|
|
41
66
|
};
|
|
42
67
|
}
|
|
68
|
+
// A worker thread with a timer of its own; null when it can't start.
|
|
69
|
+
export function offThreadTimer(intervalMs) {
|
|
70
|
+
const shared = new BigInt64Array(new SharedArrayBuffer(16));
|
|
71
|
+
let worker;
|
|
72
|
+
try {
|
|
73
|
+
worker = new Worker(OFF_THREAD_SCRIPT, { eval: true, workerData: { intervalMs, shared } });
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
// A worker that died ticks no more: its time since a tick would read as a process that never ran.
|
|
79
|
+
let running = true;
|
|
80
|
+
worker.on('error', () => (running = false));
|
|
81
|
+
worker.on('exit', () => (running = false));
|
|
82
|
+
worker.unref();
|
|
83
|
+
return {
|
|
84
|
+
stop: () => {
|
|
85
|
+
running = false;
|
|
86
|
+
void worker.terminate();
|
|
87
|
+
},
|
|
88
|
+
take: () => {
|
|
89
|
+
if (!running)
|
|
90
|
+
return null;
|
|
91
|
+
const lastTick = Number(Atomics.load(shared, 1));
|
|
92
|
+
const sinceTick = lastTick === 0 ? 0 : clockMs() - lastTick - intervalMs;
|
|
93
|
+
const worst = Number(Atomics.exchange(shared, 0, 0n));
|
|
94
|
+
return Math.max(0, worst, sinceTick);
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
// Monotonic milliseconds that every thread reads alike: Date.now() jumps with a clock change.
|
|
99
|
+
function clockMs() {
|
|
100
|
+
return Math.round(performance.timeOrigin + performance.now());
|
|
101
|
+
}
|
|
102
|
+
function gapOf({ after, before }, lateMs, offThreadLateMs) {
|
|
103
|
+
const cpuMicros = after.cpu.user - before.cpu.user + (after.cpu.system - before.cpu.system);
|
|
104
|
+
const total = after.machine.total - before.machine.total;
|
|
105
|
+
const idle = after.machine.idle - before.machine.idle;
|
|
106
|
+
return {
|
|
107
|
+
cpuMs: Math.round(cpuMicros / 1000),
|
|
108
|
+
faults: after.usage.majorPageFault -
|
|
109
|
+
before.usage.majorPageFault +
|
|
110
|
+
(after.usage.minorPageFault - before.usage.minorPageFault),
|
|
111
|
+
fsReads: after.usage.fsRead - before.usage.fsRead,
|
|
112
|
+
fsWrites: after.usage.fsWrite - before.usage.fsWrite,
|
|
113
|
+
lateMs,
|
|
114
|
+
machine: {
|
|
115
|
+
busyPct: total > 0 ? Math.round((1 - idle / total) * 100) : 0,
|
|
116
|
+
freeMb: Math.round(freemem() / 1024 / 1024),
|
|
117
|
+
},
|
|
118
|
+
offThreadLateMs,
|
|
119
|
+
ops: callsSince(before.tick),
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
function snapshot() {
|
|
123
|
+
let idle = 0;
|
|
124
|
+
let total = 0;
|
|
125
|
+
for (const { times } of cpus()) {
|
|
126
|
+
idle += times.idle;
|
|
127
|
+
total += times.idle + times.irq + times.nice + times.sys + times.user;
|
|
128
|
+
}
|
|
129
|
+
return { cpu: process.cpuUsage(), machine: { idle, total }, tick: performance.now(), usage: process.resourceUsage() };
|
|
130
|
+
}
|
|
43
131
|
//# sourceMappingURL=loop-lag.js.map
|
package/build/loop-lag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-lag.js","sourceRoot":"","sources":["../src/loop-lag.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loop-lag.js","sourceRoot":"","sources":["../src/loop-lag.ts"],"names":[],"mappings":"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"}
|