oh-my-codex 0.8.11 → 0.8.13
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 +43 -35
- package/dist/agents/__tests__/definitions.test.js +1 -0
- package/dist/agents/__tests__/definitions.test.js.map +1 -1
- package/dist/agents/definitions.d.ts.map +1 -1
- package/dist/agents/definitions.js +11 -0
- package/dist/agents/definitions.js.map +1 -1
- package/dist/cli/__tests__/doctor-invalid-config.test.d.ts +2 -0
- package/dist/cli/__tests__/doctor-invalid-config.test.d.ts.map +1 -0
- package/dist/cli/__tests__/doctor-invalid-config.test.js +52 -0
- package/dist/cli/__tests__/doctor-invalid-config.test.js.map +1 -0
- package/dist/cli/__tests__/index.test.js +35 -3
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.d.ts +2 -0
- package/dist/cli/__tests__/launch-fallback.test.d.ts.map +1 -0
- package/dist/cli/__tests__/launch-fallback.test.js +60 -0
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -0
- package/dist/cli/__tests__/resume.test.d.ts +2 -0
- package/dist/cli/__tests__/resume.test.d.ts.map +1 -0
- package/dist/cli/__tests__/resume.test.js +78 -0
- package/dist/cli/__tests__/resume.test.js.map +1 -0
- package/dist/cli/__tests__/session-search-help.test.d.ts +2 -0
- package/dist/cli/__tests__/session-search-help.test.d.ts.map +1 -0
- package/dist/cli/__tests__/session-search-help.test.js +36 -0
- package/dist/cli/__tests__/session-search-help.test.js.map +1 -0
- package/dist/cli/__tests__/session-search.test.d.ts +2 -0
- package/dist/cli/__tests__/session-search.test.d.ts.map +1 -0
- package/dist/cli/__tests__/session-search.test.js +77 -0
- package/dist/cli/__tests__/session-search.test.js.map +1 -0
- package/dist/cli/__tests__/setup-prompts-overwrite.test.js +2 -0
- package/dist/cli/__tests__/setup-prompts-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/team-decompose.test.js +41 -15
- package/dist/cli/__tests__/team-decompose.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +208 -3
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +26 -0
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +4 -3
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +73 -27
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/session-search.d.ts +8 -0
- package/dist/cli/session-search.d.ts.map +1 -0
- package/dist/cli/session-search.js +133 -0
- package/dist/cli/session-search.js.map +1 -0
- package/dist/cli/team.d.ts +13 -12
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +123 -39
- package/dist/cli/team.js.map +1 -1
- package/dist/hooks/__tests__/agents-overlay.test.js +33 -1
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +219 -0
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js +1 -0
- package/dist/hooks/__tests__/notify-hook-all-workers-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js +64 -1
- package/dist/hooks/__tests__/notify-hook-auto-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-modules.test.js +7 -0
- package/dist/hooks/__tests__/notify-hook-modules.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +2 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +420 -5
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +95 -0
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js +3 -0
- package/dist/hooks/__tests__/notify-hook-worker-idle.test.js.map +1 -1
- package/dist/hooks/__tests__/tmux-hook-engine.test.js +39 -1
- package/dist/hooks/__tests__/tmux-hook-engine.test.js.map +1 -1
- package/dist/hooks/agents-overlay.d.ts +6 -1
- package/dist/hooks/agents-overlay.d.ts.map +1 -1
- package/dist/hooks/agents-overlay.js +45 -4
- package/dist/hooks/agents-overlay.js.map +1 -1
- package/dist/mcp/team-server.js +1 -1
- package/dist/mcp/team-server.js.map +1 -1
- package/dist/session-history/__tests__/search.test.d.ts +2 -0
- package/dist/session-history/__tests__/search.test.d.ts.map +1 -0
- package/dist/session-history/__tests__/search.test.js +150 -0
- package/dist/session-history/__tests__/search.test.js.map +1 -0
- package/dist/session-history/search.d.ts +31 -0
- package/dist/session-history/search.d.ts.map +1 -0
- package/dist/session-history/search.js +326 -0
- package/dist/session-history/search.js.map +1 -0
- package/dist/team/__tests__/allocation-policy.test.d.ts +2 -0
- package/dist/team/__tests__/allocation-policy.test.d.ts.map +1 -0
- package/dist/team/__tests__/allocation-policy.test.js +39 -0
- package/dist/team/__tests__/allocation-policy.test.js.map +1 -0
- package/dist/team/__tests__/api-interop.test.js +140 -4
- package/dist/team/__tests__/api-interop.test.js.map +1 -1
- package/dist/team/__tests__/followup-planner.test.js +12 -0
- package/dist/team/__tests__/followup-planner.test.js.map +1 -1
- package/dist/team/__tests__/idle-nudge.test.js +6 -1
- package/dist/team/__tests__/idle-nudge.test.js.map +1 -1
- package/dist/team/__tests__/rebalance-policy.test.d.ts +2 -0
- package/dist/team/__tests__/rebalance-policy.test.d.ts.map +1 -0
- package/dist/team/__tests__/rebalance-policy.test.js +125 -0
- package/dist/team/__tests__/rebalance-policy.test.js.map +1 -0
- package/dist/team/__tests__/runtime.test.js +315 -12
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/state.test.js +20 -1
- package/dist/team/__tests__/state.test.js.map +1 -1
- package/dist/team/__tests__/team-ops-contract.test.js +1 -0
- package/dist/team/__tests__/team-ops-contract.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +20 -3
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/allocation-policy.d.ts +23 -0
- package/dist/team/allocation-policy.d.ts.map +1 -0
- package/dist/team/allocation-policy.js +71 -0
- package/dist/team/allocation-policy.js.map +1 -0
- package/dist/team/api-interop.d.ts +1 -1
- package/dist/team/api-interop.d.ts.map +1 -1
- package/dist/team/api-interop.js +159 -0
- package/dist/team/api-interop.js.map +1 -1
- package/dist/team/idle-nudge.js +1 -1
- package/dist/team/idle-nudge.js.map +1 -1
- package/dist/team/rebalance-policy.d.ts +19 -0
- package/dist/team/rebalance-policy.d.ts.map +1 -0
- package/dist/team/rebalance-policy.js +48 -0
- package/dist/team/rebalance-policy.js.map +1 -0
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +132 -17
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/state/types.d.ts +3 -0
- package/dist/team/state/types.d.ts.map +1 -1
- package/dist/team/state/types.js.map +1 -1
- package/dist/team/state.d.ts +8 -0
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +28 -12
- package/dist/team/state.js.map +1 -1
- package/dist/team/team-ops.d.ts +2 -1
- package/dist/team/team-ops.d.ts.map +1 -1
- package/dist/team/team-ops.js +1 -0
- package/dist/team/team-ops.js.map +1 -1
- package/dist/team/tmux-session.d.ts +5 -4
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +5 -67
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts +1 -0
- package/dist/team/worker-bootstrap.d.ts.map +1 -1
- package/dist/team/worker-bootstrap.js +9 -2
- package/dist/team/worker-bootstrap.js.map +1 -1
- package/package.json +2 -1
- package/prompts/team-executor.md +57 -0
- package/prompts/team-orchestrator.md +8 -0
- package/scripts/notify-fallback-watcher.js +295 -1
- package/scripts/notify-hook/auto-nudge.js +20 -4
- package/scripts/notify-hook/team-dispatch.js +11 -58
- package/scripts/notify-hook/team-leader-nudge.js +59 -12
- package/scripts/notify-hook/team-tmux-guard.js +28 -11
- package/scripts/notify-hook/team-worker.js +3 -1
- package/scripts/notify-hook/tmux-injection.js +12 -13
- package/scripts/tmux-hook-engine.js +56 -0
- package/skills/team/SKILL.md +14 -0
- package/templates/catalog-manifest.json +5 -0
- package/dist/rtk/__tests__/index.test.d.ts +0 -2
- package/dist/rtk/__tests__/index.test.d.ts.map +0 -1
- package/dist/rtk/__tests__/index.test.js +0 -104
- package/dist/rtk/__tests__/index.test.js.map +0 -1
- package/dist/rtk/index.d.ts +0 -130
- package/dist/rtk/index.d.ts.map +0 -1
- package/dist/rtk/index.js +0 -257
- package/dist/rtk/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify-hook-team-dispatch.test.js","sourceRoot":"","sources":["../../../src/hooks/__tests__/notify-hook-team-dispatch.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"notify-hook-team-dispatch.test.js","sourceRoot":"","sources":["../../../src/hooks/__tests__/notify-hook-team-dispatch.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -144,6 +144,185 @@ describe('notify-hook team leader nudge', () => {
|
|
|
144
144
|
assert.equal(nudgeEvent.reason, 'all_workers_idle');
|
|
145
145
|
});
|
|
146
146
|
});
|
|
147
|
+
it('suggests shutdown when all workers are idle and the current task set is complete', async () => {
|
|
148
|
+
await withTempWorkingDir(async (cwd) => {
|
|
149
|
+
const omxDir = join(cwd, '.omx');
|
|
150
|
+
const stateDir = join(omxDir, 'state');
|
|
151
|
+
const logsDir = join(omxDir, 'logs');
|
|
152
|
+
const teamName = 'idle-shutdown';
|
|
153
|
+
const teamDir = join(stateDir, 'team', teamName);
|
|
154
|
+
const workersDir = join(teamDir, 'workers');
|
|
155
|
+
const tasksDir = join(teamDir, 'tasks');
|
|
156
|
+
const fakeBinDir = join(cwd, 'fake-bin');
|
|
157
|
+
const fakeTmuxPath = join(fakeBinDir, 'tmux');
|
|
158
|
+
const tmuxLogPath = join(cwd, 'tmux.log');
|
|
159
|
+
const nowIso = new Date().toISOString();
|
|
160
|
+
await mkdir(logsDir, { recursive: true });
|
|
161
|
+
await mkdir(workersDir, { recursive: true });
|
|
162
|
+
await mkdir(tasksDir, { recursive: true });
|
|
163
|
+
await mkdir(fakeBinDir, { recursive: true });
|
|
164
|
+
await writeJson(join(stateDir, 'team-state.json'), {
|
|
165
|
+
active: true,
|
|
166
|
+
team_name: teamName,
|
|
167
|
+
current_phase: 'team-exec',
|
|
168
|
+
});
|
|
169
|
+
await writeJson(join(teamDir, 'config.json'), {
|
|
170
|
+
name: teamName,
|
|
171
|
+
tmux_session: 'idle-shutdown:0',
|
|
172
|
+
leader_pane_id: '%96',
|
|
173
|
+
workers: [
|
|
174
|
+
{ name: 'worker-1', index: 1, pane_id: '%10', role: 'executor' },
|
|
175
|
+
{ name: 'worker-2', index: 2, pane_id: '%11', role: 'executor' },
|
|
176
|
+
],
|
|
177
|
+
});
|
|
178
|
+
await writeJson(join(stateDir, 'hud-state.json'), {
|
|
179
|
+
last_turn_at: nowIso,
|
|
180
|
+
turn_count: 1,
|
|
181
|
+
});
|
|
182
|
+
await writeJson(join(tasksDir, 'task-1.json'), {
|
|
183
|
+
id: '1',
|
|
184
|
+
subject: 'Done',
|
|
185
|
+
description: 'completed work item',
|
|
186
|
+
status: 'completed',
|
|
187
|
+
owner: 'worker-1',
|
|
188
|
+
created_at: nowIso,
|
|
189
|
+
});
|
|
190
|
+
for (const worker of ['worker-1', 'worker-2']) {
|
|
191
|
+
await mkdir(join(workersDir, worker), { recursive: true });
|
|
192
|
+
await writeJson(join(workersDir, worker, 'status.json'), {
|
|
193
|
+
state: 'idle',
|
|
194
|
+
updated_at: nowIso,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
await writeFile(fakeTmuxPath, buildFakeTmuxWithListPanes(tmuxLogPath, ['%10 12345', '%11 12346']));
|
|
198
|
+
await chmod(fakeTmuxPath, 0o755);
|
|
199
|
+
const result = runNotifyHook(cwd, fakeBinDir);
|
|
200
|
+
assert.equal(result.status, 0, `notify-hook failed: ${result.stderr || result.stdout}`);
|
|
201
|
+
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
202
|
+
assert.match(tmuxLog, /\[OMX\] All 2 workers idle/);
|
|
203
|
+
assert.match(tmuxLog, /Next: omx team shutdown idle-shutdown/);
|
|
204
|
+
assert.doesNotMatch(tmuxLog, /keep polling/);
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
it('suggests reusing the team when follow-up tasks are pending and worker panes are still reusable', async () => {
|
|
208
|
+
await withTempWorkingDir(async (cwd) => {
|
|
209
|
+
const omxDir = join(cwd, '.omx');
|
|
210
|
+
const stateDir = join(omxDir, 'state');
|
|
211
|
+
const logsDir = join(omxDir, 'logs');
|
|
212
|
+
const teamName = 'idle-followup-reuse';
|
|
213
|
+
const teamDir = join(stateDir, 'team', teamName);
|
|
214
|
+
const workersDir = join(teamDir, 'workers');
|
|
215
|
+
const tasksDir = join(teamDir, 'tasks');
|
|
216
|
+
const fakeBinDir = join(cwd, 'fake-bin');
|
|
217
|
+
const fakeTmuxPath = join(fakeBinDir, 'tmux');
|
|
218
|
+
const tmuxLogPath = join(cwd, 'tmux.log');
|
|
219
|
+
const nowIso = new Date().toISOString();
|
|
220
|
+
await mkdir(logsDir, { recursive: true });
|
|
221
|
+
await mkdir(workersDir, { recursive: true });
|
|
222
|
+
await mkdir(tasksDir, { recursive: true });
|
|
223
|
+
await mkdir(fakeBinDir, { recursive: true });
|
|
224
|
+
await writeJson(join(stateDir, 'team-state.json'), {
|
|
225
|
+
active: true,
|
|
226
|
+
team_name: teamName,
|
|
227
|
+
current_phase: 'team-exec',
|
|
228
|
+
});
|
|
229
|
+
await writeJson(join(teamDir, 'config.json'), {
|
|
230
|
+
name: teamName,
|
|
231
|
+
tmux_session: 'idle-followup-reuse:0',
|
|
232
|
+
leader_pane_id: '%97',
|
|
233
|
+
workers: [
|
|
234
|
+
{ name: 'worker-1', index: 1, pane_id: '%10', role: 'executor' },
|
|
235
|
+
{ name: 'worker-2', index: 2, pane_id: '%11', role: 'executor' },
|
|
236
|
+
],
|
|
237
|
+
});
|
|
238
|
+
await writeJson(join(stateDir, 'hud-state.json'), {
|
|
239
|
+
last_turn_at: nowIso,
|
|
240
|
+
turn_count: 1,
|
|
241
|
+
});
|
|
242
|
+
await writeJson(join(tasksDir, 'task-2.json'), {
|
|
243
|
+
id: '2',
|
|
244
|
+
subject: 'Follow-up',
|
|
245
|
+
description: 'queued follow-up task',
|
|
246
|
+
status: 'pending',
|
|
247
|
+
created_at: nowIso,
|
|
248
|
+
});
|
|
249
|
+
for (const worker of ['worker-1', 'worker-2']) {
|
|
250
|
+
await mkdir(join(workersDir, worker), { recursive: true });
|
|
251
|
+
await writeJson(join(workersDir, worker, 'status.json'), {
|
|
252
|
+
state: 'idle',
|
|
253
|
+
updated_at: nowIso,
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
await writeFile(fakeTmuxPath, buildFakeTmuxWithListPanes(tmuxLogPath, ['%10 12345', '%11 12346']));
|
|
257
|
+
await chmod(fakeTmuxPath, 0o755);
|
|
258
|
+
const result = runNotifyHook(cwd, fakeBinDir);
|
|
259
|
+
assert.equal(result.status, 0, `notify-hook failed: ${result.stderr || result.stdout}`);
|
|
260
|
+
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
261
|
+
assert.match(tmuxLog, /\[OMX\] All 2 workers idle/);
|
|
262
|
+
assert.match(tmuxLog, /Next: assign the next follow-up task to this idle team/);
|
|
263
|
+
assert.doesNotMatch(tmuxLog, /launch a new team/);
|
|
264
|
+
assert.doesNotMatch(tmuxLog, /omx team shutdown/);
|
|
265
|
+
});
|
|
266
|
+
});
|
|
267
|
+
it('suggests launching a new team when follow-up tasks are pending but worker panes are no longer reusable', async () => {
|
|
268
|
+
await withTempWorkingDir(async (cwd) => {
|
|
269
|
+
const omxDir = join(cwd, '.omx');
|
|
270
|
+
const stateDir = join(omxDir, 'state');
|
|
271
|
+
const logsDir = join(omxDir, 'logs');
|
|
272
|
+
const teamName = 'idle-followup-relaunch';
|
|
273
|
+
const teamDir = join(stateDir, 'team', teamName);
|
|
274
|
+
const workersDir = join(teamDir, 'workers');
|
|
275
|
+
const tasksDir = join(teamDir, 'tasks');
|
|
276
|
+
const fakeBinDir = join(cwd, 'fake-bin');
|
|
277
|
+
const fakeTmuxPath = join(fakeBinDir, 'tmux');
|
|
278
|
+
const tmuxLogPath = join(cwd, 'tmux.log');
|
|
279
|
+
const nowIso = new Date().toISOString();
|
|
280
|
+
await mkdir(logsDir, { recursive: true });
|
|
281
|
+
await mkdir(workersDir, { recursive: true });
|
|
282
|
+
await mkdir(tasksDir, { recursive: true });
|
|
283
|
+
await mkdir(fakeBinDir, { recursive: true });
|
|
284
|
+
await writeJson(join(stateDir, 'team-state.json'), {
|
|
285
|
+
active: true,
|
|
286
|
+
team_name: teamName,
|
|
287
|
+
current_phase: 'team-exec',
|
|
288
|
+
});
|
|
289
|
+
await writeJson(join(teamDir, 'config.json'), {
|
|
290
|
+
name: teamName,
|
|
291
|
+
tmux_session: 'idle-followup-relaunch:0',
|
|
292
|
+
leader_pane_id: '%98',
|
|
293
|
+
workers: [
|
|
294
|
+
{ name: 'worker-1', index: 1, pane_id: '%10', role: 'executor' },
|
|
295
|
+
{ name: 'worker-2', index: 2, pane_id: '%11', role: 'executor' },
|
|
296
|
+
],
|
|
297
|
+
});
|
|
298
|
+
await writeJson(join(stateDir, 'hud-state.json'), {
|
|
299
|
+
last_turn_at: nowIso,
|
|
300
|
+
turn_count: 1,
|
|
301
|
+
});
|
|
302
|
+
await writeJson(join(tasksDir, 'task-2.json'), {
|
|
303
|
+
id: '2',
|
|
304
|
+
subject: 'Follow-up',
|
|
305
|
+
description: 'queued follow-up task',
|
|
306
|
+
status: 'pending',
|
|
307
|
+
created_at: nowIso,
|
|
308
|
+
});
|
|
309
|
+
for (const worker of ['worker-1', 'worker-2']) {
|
|
310
|
+
await mkdir(join(workersDir, worker), { recursive: true });
|
|
311
|
+
await writeJson(join(workersDir, worker, 'status.json'), {
|
|
312
|
+
state: 'idle',
|
|
313
|
+
updated_at: nowIso,
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
await writeFile(fakeTmuxPath, buildFakeTmuxWithListPanes(tmuxLogPath, ['%98 12349']));
|
|
317
|
+
await chmod(fakeTmuxPath, 0o755);
|
|
318
|
+
const result = runNotifyHook(cwd, fakeBinDir);
|
|
319
|
+
assert.equal(result.status, 0, `notify-hook failed: ${result.stderr || result.stdout}`);
|
|
320
|
+
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
321
|
+
assert.match(tmuxLog, /\[OMX\] All 2 workers idle/);
|
|
322
|
+
assert.match(tmuxLog, /Next: launch a new team for the next task set/);
|
|
323
|
+
assert.doesNotMatch(tmuxLog, /assign the next follow-up task to this idle team/);
|
|
324
|
+
});
|
|
325
|
+
});
|
|
147
326
|
it('falls back to global team-state when session-scoped state is active but team-state.json remains global', async () => {
|
|
148
327
|
await withTempWorkingDir(async (cwd) => {
|
|
149
328
|
const omxDir = join(cwd, '.omx');
|
|
@@ -292,8 +471,9 @@ describe('notify-hook team leader nudge', () => {
|
|
|
292
471
|
assert.equal(result.status, 0, `notify-hook failed: ${result.stderr || result.stdout}`);
|
|
293
472
|
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
294
473
|
assert.match(tmuxLog, /worker-1 said "on it"/);
|
|
295
|
-
assert.match(tmuxLog, /no
|
|
474
|
+
assert.match(tmuxLog, /no start evidence/);
|
|
296
475
|
assert.match(tmuxLog, /status: unknown/);
|
|
476
|
+
assert.match(tmuxLog, /Next: check worker-1 msg\/output, confirm task in omx team status ack-missing-start/);
|
|
297
477
|
const eventsPath = join(teamDir, 'events', 'events.ndjson');
|
|
298
478
|
const events = (await readFile(eventsPath, 'utf-8')).trim().split('\n').map(line => JSON.parse(line));
|
|
299
479
|
const nudgeEvent = events.find((e) => e.type === 'team_leader_nudge' && e.reason === 'ack_without_start_evidence');
|
|
@@ -365,8 +545,9 @@ describe('notify-hook team leader nudge', () => {
|
|
|
365
545
|
const result = runNotifyHook(cwd, fakeBinDir);
|
|
366
546
|
assert.equal(result.status, 0, `notify-hook failed: ${result.stderr || result.stdout}`);
|
|
367
547
|
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
368
|
-
assert.doesNotMatch(tmuxLog, /no
|
|
548
|
+
assert.doesNotMatch(tmuxLog, /no start evidence/);
|
|
369
549
|
assert.match(tmuxLog, /Team ack-with-start: 1 msg\(s\) for leader/);
|
|
550
|
+
assert.match(tmuxLog, /Next: read messages; keep orchestrating; if done, gracefully shut down: omx team shutdown ack-with-start/);
|
|
370
551
|
const eventsPath = join(teamDir, 'events', 'events.ndjson');
|
|
371
552
|
const events = (await readFile(eventsPath, 'utf-8')).trim().split('\n').map(line => JSON.parse(line));
|
|
372
553
|
const nudgeEvent = events.find((e) => e.type === 'team_leader_nudge');
|
|
@@ -529,6 +710,8 @@ exit 0
|
|
|
529
710
|
assert.match(tmuxLog, /Team beta:/);
|
|
530
711
|
assert.match(tmuxLog, /leader stale/);
|
|
531
712
|
assert.match(tmuxLog, /pane\(s\) still active/);
|
|
713
|
+
assert.match(tmuxLog, /Next: check messages; keep orchestrating; if done, gracefully shut down: omx team shutdown beta/);
|
|
714
|
+
assert.doesNotMatch(tmuxLog, /keep polling/);
|
|
532
715
|
assert.match(tmuxLog, /\[OMX_TMUX_INJECT\]/, 'should include injection marker');
|
|
533
716
|
});
|
|
534
717
|
});
|
|
@@ -639,15 +822,245 @@ exit 0
|
|
|
639
822
|
});
|
|
640
823
|
assert.equal(result.status, 0, `notify-hook failed: ${result.stderr || result.stdout}`);
|
|
641
824
|
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
642
|
-
assert.match(tmuxLog, /Team stalled-progress: leader stale, no
|
|
643
|
-
assert.match(tmuxLog, /
|
|
644
|
-
assert.
|
|
825
|
+
assert.match(tmuxLog, /Team stalled-progress: leader stale, no progress 3m/);
|
|
826
|
+
assert.match(tmuxLog, /Next: check messages; keep orchestrating; if done, gracefully shut down: omx team shutdown stalled-progress/);
|
|
827
|
+
assert.doesNotMatch(tmuxLog, /keep polling/);
|
|
828
|
+
assert.match(tmuxLog, /\(p:1 ip:1/);
|
|
645
829
|
const eventsPath = join(teamDir, 'events', 'events.ndjson');
|
|
646
830
|
const events = (await readFile(eventsPath, 'utf-8')).trim().split('\n').map(line => JSON.parse(line));
|
|
647
831
|
const nudgeEvent = events.find((e) => e.type === 'team_leader_nudge');
|
|
648
832
|
assert.equal(nudgeEvent?.reason, 'leader_stale_with_stalled_team');
|
|
649
833
|
});
|
|
650
834
|
});
|
|
835
|
+
it('nudges when team progress is stalled before the leader becomes stale', async () => {
|
|
836
|
+
await withTempWorkingDir(async (cwd) => {
|
|
837
|
+
const omxDir = join(cwd, '.omx');
|
|
838
|
+
const stateDir = join(omxDir, 'state');
|
|
839
|
+
const logsDir = join(omxDir, 'logs');
|
|
840
|
+
const teamName = 'stalled-before-stale';
|
|
841
|
+
const teamDir = join(stateDir, 'team', teamName);
|
|
842
|
+
const workersDir = join(teamDir, 'workers');
|
|
843
|
+
const tasksDir = join(teamDir, 'tasks');
|
|
844
|
+
const fakeBinDir = join(cwd, 'fake-bin');
|
|
845
|
+
const fakeTmuxPath = join(fakeBinDir, 'tmux');
|
|
846
|
+
const tmuxLogPath = join(cwd, 'tmux.log');
|
|
847
|
+
const nowIso = new Date().toISOString();
|
|
848
|
+
await mkdir(logsDir, { recursive: true });
|
|
849
|
+
await mkdir(tasksDir, { recursive: true });
|
|
850
|
+
await mkdir(join(workersDir, 'worker-1'), { recursive: true });
|
|
851
|
+
await mkdir(fakeBinDir, { recursive: true });
|
|
852
|
+
await writeJson(join(stateDir, 'team-state.json'), {
|
|
853
|
+
active: true,
|
|
854
|
+
team_name: teamName,
|
|
855
|
+
current_phase: 'team-exec',
|
|
856
|
+
});
|
|
857
|
+
await writeJson(join(teamDir, 'config.json'), {
|
|
858
|
+
name: teamName,
|
|
859
|
+
tmux_session: 'omx-team-stalled-before-stale',
|
|
860
|
+
leader_pane_id: '%89',
|
|
861
|
+
workers: [
|
|
862
|
+
{ name: 'worker-1', index: 1, pane_id: '%10' },
|
|
863
|
+
{ name: 'worker-2', index: 2, pane_id: '%11' },
|
|
864
|
+
],
|
|
865
|
+
});
|
|
866
|
+
await writeJson(join(stateDir, 'hud-state.json'), {
|
|
867
|
+
last_turn_at: nowIso,
|
|
868
|
+
turn_count: 4,
|
|
869
|
+
});
|
|
870
|
+
await writeJson(join(tasksDir, 'task-1.json'), {
|
|
871
|
+
id: '1',
|
|
872
|
+
subject: 'Investigate stall',
|
|
873
|
+
description: 'worker-1 owns the active task',
|
|
874
|
+
status: 'in_progress',
|
|
875
|
+
owner: 'worker-1',
|
|
876
|
+
created_at: nowIso,
|
|
877
|
+
});
|
|
878
|
+
await writeJson(join(tasksDir, 'task-2.json'), {
|
|
879
|
+
id: '2',
|
|
880
|
+
subject: 'Follow-up',
|
|
881
|
+
description: 'still pending',
|
|
882
|
+
status: 'pending',
|
|
883
|
+
created_at: nowIso,
|
|
884
|
+
});
|
|
885
|
+
await writeJson(join(workersDir, 'worker-1', 'status.json'), {
|
|
886
|
+
state: 'working',
|
|
887
|
+
current_task_id: '1',
|
|
888
|
+
updated_at: nowIso,
|
|
889
|
+
});
|
|
890
|
+
await writeJson(join(workersDir, 'worker-1', 'heartbeat.json'), {
|
|
891
|
+
last_turn_at: nowIso,
|
|
892
|
+
turn_count: 2,
|
|
893
|
+
alive: true,
|
|
894
|
+
});
|
|
895
|
+
const stalledSignature = JSON.stringify({
|
|
896
|
+
tasks: [
|
|
897
|
+
{ id: '1', owner: 'worker-1', status: 'in_progress' },
|
|
898
|
+
{ id: '2', owner: '', status: 'pending' },
|
|
899
|
+
],
|
|
900
|
+
workers: [
|
|
901
|
+
{
|
|
902
|
+
worker: 'worker-1',
|
|
903
|
+
state: 'working',
|
|
904
|
+
current_task_id: '1',
|
|
905
|
+
status_missing: false,
|
|
906
|
+
turn_count: 2,
|
|
907
|
+
heartbeat_missing: false,
|
|
908
|
+
},
|
|
909
|
+
{
|
|
910
|
+
worker: 'worker-2',
|
|
911
|
+
state: 'unknown',
|
|
912
|
+
current_task_id: '',
|
|
913
|
+
status_missing: true,
|
|
914
|
+
turn_count: null,
|
|
915
|
+
heartbeat_missing: true,
|
|
916
|
+
},
|
|
917
|
+
],
|
|
918
|
+
});
|
|
919
|
+
await writeJson(join(stateDir, 'team-leader-nudge.json'), {
|
|
920
|
+
last_nudged_by_team: {
|
|
921
|
+
[teamName]: {
|
|
922
|
+
at: new Date(Date.now() - 5_000).toISOString(),
|
|
923
|
+
last_message_id: '',
|
|
924
|
+
reason: 'new_mailbox_message',
|
|
925
|
+
},
|
|
926
|
+
},
|
|
927
|
+
progress_by_team: {
|
|
928
|
+
[teamName]: {
|
|
929
|
+
signature: stalledSignature,
|
|
930
|
+
last_progress_at: new Date(Date.now() - 180_000).toISOString(),
|
|
931
|
+
},
|
|
932
|
+
},
|
|
933
|
+
});
|
|
934
|
+
await writeFile(fakeTmuxPath, buildFakeTmuxWithListPanes(tmuxLogPath, ['%10 12345', '%11 12346']));
|
|
935
|
+
await chmod(fakeTmuxPath, 0o755);
|
|
936
|
+
const result = runNotifyHook(cwd, fakeBinDir, {
|
|
937
|
+
OMX_TEAM_PROGRESS_STALL_MS: '60000',
|
|
938
|
+
OMX_TEAM_LEADER_NUDGE_MS: '30000',
|
|
939
|
+
OMX_TEAM_LEADER_STALE_MS: '60000',
|
|
940
|
+
});
|
|
941
|
+
assert.equal(result.status, 0, `notify-hook failed: ${result.stderr || result.stdout}`);
|
|
942
|
+
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
943
|
+
assert.match(tmuxLog, /Team stalled-before-stale: worker panes stalled, no progress 3m/);
|
|
944
|
+
assert.match(tmuxLog, /Next: check messages; keep orchestrating; if done, gracefully shut down: omx team shutdown stalled-before-stale/);
|
|
945
|
+
assert.doesNotMatch(tmuxLog, /keep polling/);
|
|
946
|
+
assert.doesNotMatch(tmuxLog, /leader stale/);
|
|
947
|
+
const eventsPath = join(teamDir, 'events', 'events.ndjson');
|
|
948
|
+
const events = (await readFile(eventsPath, 'utf-8')).trim().split('\n').map(line => JSON.parse(line));
|
|
949
|
+
const nudgeEvent = events.find((e) => e.type === 'team_leader_nudge');
|
|
950
|
+
assert.equal(nudgeEvent?.reason, 'stalled_team_progress');
|
|
951
|
+
});
|
|
952
|
+
});
|
|
953
|
+
it('bounds repeated stalled-team nudges before leader stale by cooldown', async () => {
|
|
954
|
+
await withTempWorkingDir(async (cwd) => {
|
|
955
|
+
const omxDir = join(cwd, '.omx');
|
|
956
|
+
const stateDir = join(omxDir, 'state');
|
|
957
|
+
const logsDir = join(omxDir, 'logs');
|
|
958
|
+
const teamName = 'stalled-before-stale-bounded';
|
|
959
|
+
const teamDir = join(stateDir, 'team', teamName);
|
|
960
|
+
const workersDir = join(teamDir, 'workers');
|
|
961
|
+
const tasksDir = join(teamDir, 'tasks');
|
|
962
|
+
const fakeBinDir = join(cwd, 'fake-bin');
|
|
963
|
+
const fakeTmuxPath = join(fakeBinDir, 'tmux');
|
|
964
|
+
const tmuxLogPath = join(cwd, 'tmux.log');
|
|
965
|
+
const nowIso = new Date().toISOString();
|
|
966
|
+
await mkdir(logsDir, { recursive: true });
|
|
967
|
+
await mkdir(tasksDir, { recursive: true });
|
|
968
|
+
await mkdir(join(workersDir, 'worker-1'), { recursive: true });
|
|
969
|
+
await mkdir(fakeBinDir, { recursive: true });
|
|
970
|
+
await writeJson(join(stateDir, 'team-state.json'), {
|
|
971
|
+
active: true,
|
|
972
|
+
team_name: teamName,
|
|
973
|
+
current_phase: 'team-exec',
|
|
974
|
+
});
|
|
975
|
+
await writeJson(join(teamDir, 'config.json'), {
|
|
976
|
+
name: teamName,
|
|
977
|
+
tmux_session: 'omx-team-stalled-before-stale-bounded',
|
|
978
|
+
leader_pane_id: '%88',
|
|
979
|
+
workers: [
|
|
980
|
+
{ name: 'worker-1', index: 1, pane_id: '%10' },
|
|
981
|
+
{ name: 'worker-2', index: 2, pane_id: '%11' },
|
|
982
|
+
],
|
|
983
|
+
});
|
|
984
|
+
await writeJson(join(stateDir, 'hud-state.json'), {
|
|
985
|
+
last_turn_at: nowIso,
|
|
986
|
+
turn_count: 4,
|
|
987
|
+
});
|
|
988
|
+
await writeJson(join(tasksDir, 'task-1.json'), {
|
|
989
|
+
id: '1',
|
|
990
|
+
subject: 'Investigate stall',
|
|
991
|
+
description: 'worker-1 owns the active task',
|
|
992
|
+
status: 'in_progress',
|
|
993
|
+
owner: 'worker-1',
|
|
994
|
+
created_at: nowIso,
|
|
995
|
+
});
|
|
996
|
+
await writeJson(join(tasksDir, 'task-2.json'), {
|
|
997
|
+
id: '2',
|
|
998
|
+
subject: 'Follow-up',
|
|
999
|
+
description: 'still pending',
|
|
1000
|
+
status: 'pending',
|
|
1001
|
+
created_at: nowIso,
|
|
1002
|
+
});
|
|
1003
|
+
await writeJson(join(workersDir, 'worker-1', 'status.json'), {
|
|
1004
|
+
state: 'working',
|
|
1005
|
+
current_task_id: '1',
|
|
1006
|
+
updated_at: nowIso,
|
|
1007
|
+
});
|
|
1008
|
+
await writeJson(join(workersDir, 'worker-1', 'heartbeat.json'), {
|
|
1009
|
+
last_turn_at: nowIso,
|
|
1010
|
+
turn_count: 2,
|
|
1011
|
+
alive: true,
|
|
1012
|
+
});
|
|
1013
|
+
const stalledSignature = JSON.stringify({
|
|
1014
|
+
tasks: [
|
|
1015
|
+
{ id: '1', owner: 'worker-1', status: 'in_progress' },
|
|
1016
|
+
{ id: '2', owner: '', status: 'pending' },
|
|
1017
|
+
],
|
|
1018
|
+
workers: [
|
|
1019
|
+
{
|
|
1020
|
+
worker: 'worker-1',
|
|
1021
|
+
state: 'working',
|
|
1022
|
+
current_task_id: '1',
|
|
1023
|
+
status_missing: false,
|
|
1024
|
+
turn_count: 2,
|
|
1025
|
+
heartbeat_missing: false,
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
worker: 'worker-2',
|
|
1029
|
+
state: 'unknown',
|
|
1030
|
+
current_task_id: '',
|
|
1031
|
+
status_missing: true,
|
|
1032
|
+
turn_count: null,
|
|
1033
|
+
heartbeat_missing: true,
|
|
1034
|
+
},
|
|
1035
|
+
],
|
|
1036
|
+
});
|
|
1037
|
+
await writeJson(join(stateDir, 'team-leader-nudge.json'), {
|
|
1038
|
+
progress_by_team: {
|
|
1039
|
+
[teamName]: {
|
|
1040
|
+
signature: stalledSignature,
|
|
1041
|
+
last_progress_at: new Date(Date.now() - 180_000).toISOString(),
|
|
1042
|
+
},
|
|
1043
|
+
},
|
|
1044
|
+
});
|
|
1045
|
+
await writeFile(fakeTmuxPath, buildFakeTmuxWithListPanes(tmuxLogPath, ['%10 12345', '%11 12346']));
|
|
1046
|
+
await chmod(fakeTmuxPath, 0o755);
|
|
1047
|
+
const first = runNotifyHook(cwd, fakeBinDir, {
|
|
1048
|
+
OMX_TEAM_PROGRESS_STALL_MS: '60000',
|
|
1049
|
+
OMX_TEAM_LEADER_NUDGE_MS: '30000',
|
|
1050
|
+
OMX_TEAM_LEADER_STALE_MS: '60000',
|
|
1051
|
+
});
|
|
1052
|
+
assert.equal(first.status, 0, `notify-hook failed: ${first.stderr || first.stdout}`);
|
|
1053
|
+
const second = runNotifyHook(cwd, fakeBinDir, {
|
|
1054
|
+
OMX_TEAM_PROGRESS_STALL_MS: '60000',
|
|
1055
|
+
OMX_TEAM_LEADER_NUDGE_MS: '30000',
|
|
1056
|
+
OMX_TEAM_LEADER_STALE_MS: '60000',
|
|
1057
|
+
});
|
|
1058
|
+
assert.equal(second.status, 0, `notify-hook failed: ${second.stderr || second.stdout}`);
|
|
1059
|
+
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
1060
|
+
const sends = tmuxLog.match(/send-keys -t %88 -l Team stalled-before-stale-bounded: worker panes stalled, no progress/g) || [];
|
|
1061
|
+
assert.equal(sends.length, 1, 'cooldown should keep repeated stalled-team nudges bounded');
|
|
1062
|
+
});
|
|
1063
|
+
});
|
|
651
1064
|
it('does not treat leader and HUD panes as active worker panes when worker pane ids are known', async () => {
|
|
652
1065
|
await withTempWorkingDir(async (cwd) => {
|
|
653
1066
|
const omxDir = join(cwd, '.omx');
|
|
@@ -1030,6 +1443,8 @@ exit 0
|
|
|
1030
1443
|
const tmuxLog = await readFile(tmuxLogPath, 'utf-8');
|
|
1031
1444
|
assert.match(tmuxLog, /leader stale/);
|
|
1032
1445
|
assert.match(tmuxLog, /msg\(s\) pending/);
|
|
1446
|
+
assert.match(tmuxLog, /Next: read messages; keep orchestrating; if done, gracefully shut down: omx team shutdown delta/);
|
|
1447
|
+
assert.doesNotMatch(tmuxLog, /keep polling/);
|
|
1033
1448
|
assert.match(tmuxLog, /\[OMX_TMUX_INJECT\]/, 'should include injection marker');
|
|
1034
1449
|
// Verify event reason
|
|
1035
1450
|
const eventsPath = join(eventsDir, 'events.ndjson');
|