@coralai/sps-cli 0.15.12 → 0.16.0
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 +11 -0
- package/dist/commands/monitorTick.d.ts.map +1 -1
- package/dist/commands/monitorTick.js +3 -1
- package/dist/commands/monitorTick.js.map +1 -1
- package/dist/commands/pipelineTick.d.ts.map +1 -1
- package/dist/commands/pipelineTick.js +12 -3
- package/dist/commands/pipelineTick.js.map +1 -1
- package/dist/commands/tick.d.ts +1 -0
- package/dist/commands/tick.d.ts.map +1 -1
- package/dist/commands/tick.js +64 -8
- package/dist/commands/tick.js.map +1 -1
- package/dist/commands/workerLaunch.d.ts.map +1 -1
- package/dist/commands/workerLaunch.js +12 -3
- package/dist/commands/workerLaunch.js.map +1 -1
- package/dist/engines/ExecutionEngine.d.ts +29 -32
- package/dist/engines/ExecutionEngine.d.ts.map +1 -1
- package/dist/engines/ExecutionEngine.js +224 -527
- package/dist/engines/ExecutionEngine.js.map +1 -1
- package/dist/engines/MonitorEngine.d.ts +14 -27
- package/dist/engines/MonitorEngine.d.ts.map +1 -1
- package/dist/engines/MonitorEngine.js +91 -313
- package/dist/engines/MonitorEngine.js.map +1 -1
- package/dist/main.js +0 -0
- package/dist/manager/completion-judge.d.ts +27 -0
- package/dist/manager/completion-judge.d.ts.map +1 -0
- package/dist/manager/completion-judge.js +81 -0
- package/dist/manager/completion-judge.js.map +1 -0
- package/dist/manager/pm-client.d.ts +10 -0
- package/dist/manager/pm-client.d.ts.map +1 -0
- package/dist/manager/pm-client.js +245 -0
- package/dist/manager/pm-client.js.map +1 -0
- package/dist/manager/post-actions.d.ts +60 -0
- package/dist/manager/post-actions.d.ts.map +1 -0
- package/dist/manager/post-actions.js +326 -0
- package/dist/manager/post-actions.js.map +1 -0
- package/dist/manager/recovery.d.ts +39 -0
- package/dist/manager/recovery.d.ts.map +1 -0
- package/dist/manager/recovery.js +133 -0
- package/dist/manager/recovery.js.map +1 -0
- package/dist/manager/resource-limiter.d.ts +44 -0
- package/dist/manager/resource-limiter.d.ts.map +1 -0
- package/dist/manager/resource-limiter.js +79 -0
- package/dist/manager/resource-limiter.js.map +1 -0
- package/dist/manager/supervisor.d.ts +70 -0
- package/dist/manager/supervisor.d.ts.map +1 -0
- package/dist/manager/supervisor.js +216 -0
- package/dist/manager/supervisor.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -684,6 +684,8 @@ sps monitor tick my-project --json
|
|
|
684
684
|
| `AGENTS.md` | Codex Worker 的项目规则 | 是 |
|
|
685
685
|
| `.jarvis_task_prompt.txt` | 每次任务的具体描述(每个 worktree 独立生成) | 否(.gitignore) |
|
|
686
686
|
| `.jarvis/merge.sh` | 合并脚本(MR_MODE=none 时做 git merge,MR_MODE=create 时调 GitLab API 创建 MR) | 否(.gitignore) |
|
|
687
|
+
| `docs/DECISIONS.md` | 项目知识库——架构决策和技术选择 | 是(Worker 自动维护) |
|
|
688
|
+
| `docs/CHANGELOG.md` | 项目知识库——变更记录 | 是(Worker 自动维护) |
|
|
687
689
|
|
|
688
690
|
### 工作原理
|
|
689
691
|
|
|
@@ -693,6 +695,15 @@ sps monitor tick my-project --json
|
|
|
693
695
|
4. 任务特有信息(seq、分支名、描述)写入 `.jarvis_task_prompt.txt`,通过 stdin 传给 Worker(print 模式)或通过 tmux paste 传入(interactive 模式)
|
|
694
696
|
5. `.jarvis/merge.sh` 在每个 worktree 中自动生成,Worker 在 push 后运行此脚本完成合并或 MR 创建
|
|
695
697
|
|
|
698
|
+
### 项目知识库
|
|
699
|
+
|
|
700
|
+
每个 Worker 在任务 prompt 中被要求:
|
|
701
|
+
|
|
702
|
+
- **开始前**:阅读 `docs/DECISIONS.md` 和 `docs/CHANGELOG.md`,了解前序任务的决策和变更
|
|
703
|
+
- **完成后**:将自己的架构决策追加到 `docs/DECISIONS.md`,变更摘要追加到 `docs/CHANGELOG.md`
|
|
704
|
+
|
|
705
|
+
这些文件随代码一起合并到目标分支,下一个 Worker 创建 worktree 时自动继承,实现跨任务的知识传递。
|
|
706
|
+
|
|
696
707
|
### 自定义项目规则
|
|
697
708
|
|
|
698
709
|
生成的 CLAUDE.md 包含"Project-Specific Rules"占位区,你可以在此添加:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitorTick.d.ts","sourceRoot":"","sources":["../../src/commands/monitorTick.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"monitorTick.d.ts","sourceRoot":"","sources":["../../src/commands/monitorTick.ts"],"names":[],"mappings":"AAMA,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CA2Cf"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ProjectContext } from '../core/context.js';
|
|
2
2
|
import { MonitorEngine } from '../engines/MonitorEngine.js';
|
|
3
|
+
import { ProcessSupervisor } from '../manager/supervisor.js';
|
|
3
4
|
import { createTaskBackend, createWorkerProvider, createRepoBackend, createNotifier } from '../providers/registry.js';
|
|
4
5
|
import { Logger } from '../core/logger.js';
|
|
5
6
|
export async function executeMonitorTick(project, flags) {
|
|
@@ -23,7 +24,8 @@ export async function executeMonitorTick(project, flags) {
|
|
|
23
24
|
const workerProvider = createWorkerProvider(ctx.config);
|
|
24
25
|
const repoBackend = createRepoBackend(ctx.config);
|
|
25
26
|
const notifier = createNotifier(ctx.config);
|
|
26
|
-
const
|
|
27
|
+
const supervisor = new ProcessSupervisor();
|
|
28
|
+
const engine = new MonitorEngine(ctx, taskBackend, workerProvider, repoBackend, notifier, supervisor);
|
|
27
29
|
const result = await engine.tick();
|
|
28
30
|
if (jsonOutput) {
|
|
29
31
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitorTick.js","sourceRoot":"","sources":["../../src/commands/monitorTick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACtH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,KAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAEhC,IAAI,GAAmB,CAAC;IACxB,IAAI,CAAC;QACH,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1G,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"monitorTick.js","sourceRoot":"","sources":["../../src/commands/monitorTick.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipelineTick.d.ts","sourceRoot":"","sources":["../../src/commands/pipelineTick.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pipelineTick.d.ts","sourceRoot":"","sources":["../../src/commands/pipelineTick.ts"],"names":[],"mappings":"AAUA,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CA2Cf"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { ProjectContext } from '../core/context.js';
|
|
2
2
|
import { ExecutionEngine } from '../engines/ExecutionEngine.js';
|
|
3
|
-
import { createTaskBackend,
|
|
3
|
+
import { createTaskBackend, createRepoBackend, createNotifier } from '../providers/registry.js';
|
|
4
|
+
import { ProcessSupervisor } from '../manager/supervisor.js';
|
|
5
|
+
import { CompletionJudge } from '../manager/completion-judge.js';
|
|
6
|
+
import { PostActions } from '../manager/post-actions.js';
|
|
7
|
+
import { ResourceLimiter } from '../manager/resource-limiter.js';
|
|
8
|
+
import { createPMClient } from '../manager/pm-client.js';
|
|
4
9
|
import { Logger } from '../core/logger.js';
|
|
5
10
|
export async function executePipelineTick(project, flags) {
|
|
6
11
|
const log = new Logger('pipeline', project);
|
|
@@ -21,10 +26,14 @@ export async function executePipelineTick(project, flags) {
|
|
|
21
26
|
process.exit(3);
|
|
22
27
|
}
|
|
23
28
|
const taskBackend = createTaskBackend(ctx.config);
|
|
24
|
-
const workerProvider = createWorkerProvider(ctx.config);
|
|
25
29
|
const repoBackend = createRepoBackend(ctx.config);
|
|
26
30
|
const notifier = createNotifier(ctx.config);
|
|
27
|
-
const
|
|
31
|
+
const supervisor = new ProcessSupervisor();
|
|
32
|
+
const completionJudge = new CompletionJudge();
|
|
33
|
+
const resourceLimiter = new ResourceLimiter();
|
|
34
|
+
const pmClient = createPMClient(ctx.config);
|
|
35
|
+
const postActions = new PostActions(pmClient, supervisor, resourceLimiter, notifier);
|
|
36
|
+
const engine = new ExecutionEngine(ctx, taskBackend, repoBackend, supervisor, completionJudge, postActions, resourceLimiter, notifier);
|
|
28
37
|
const result = await engine.tick({ dryRun });
|
|
29
38
|
if (jsonOutput) {
|
|
30
39
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipelineTick.js","sourceRoot":"","sources":["../../src/commands/pipelineTick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"pipelineTick.js","sourceRoot":"","sources":["../../src/commands/pipelineTick.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/tick.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* sps tick project-a project-b project-c
|
|
6
6
|
*
|
|
7
7
|
* Each project is fully isolated (own context, providers, engines, lock, state).
|
|
8
|
+
* Manager modules (Supervisor, ResourceLimiter, CompletionJudge) are shared globally.
|
|
8
9
|
* Projects are ticked sequentially within each cycle. One project's error
|
|
9
10
|
* does not affect others.
|
|
10
11
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tick.d.ts","sourceRoot":"","sources":["../../src/commands/tick.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tick.d.ts","sourceRoot":"","sources":["../../src/commands/tick.ts"],"names":[],"mappings":"AAsIA;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CA2If"}
|
package/dist/commands/tick.js
CHANGED
|
@@ -7,7 +7,40 @@ import { ExecutionEngine } from '../engines/ExecutionEngine.js';
|
|
|
7
7
|
import { CloseoutEngine } from '../engines/CloseoutEngine.js';
|
|
8
8
|
import { MonitorEngine } from '../engines/MonitorEngine.js';
|
|
9
9
|
import { createTaskBackend, createWorkerProvider, createRepoBackend, createNotifier } from '../providers/registry.js';
|
|
10
|
+
import { ProcessSupervisor } from '../manager/supervisor.js';
|
|
11
|
+
import { CompletionJudge } from '../manager/completion-judge.js';
|
|
12
|
+
import { PostActions } from '../manager/post-actions.js';
|
|
13
|
+
import { ResourceLimiter } from '../manager/resource-limiter.js';
|
|
14
|
+
import { Recovery } from '../manager/recovery.js';
|
|
15
|
+
import { createPMClient } from '../manager/pm-client.js';
|
|
10
16
|
const DEFAULT_INTERVAL_S = 30;
|
|
17
|
+
// ─── Shared Manager modules (global across all projects) ──────
|
|
18
|
+
let sharedSupervisor = null;
|
|
19
|
+
let sharedResourceLimiter = null;
|
|
20
|
+
let sharedCompletionJudge = null;
|
|
21
|
+
function getSharedModules() {
|
|
22
|
+
if (!sharedSupervisor) {
|
|
23
|
+
sharedSupervisor = new ProcessSupervisor();
|
|
24
|
+
}
|
|
25
|
+
if (!sharedResourceLimiter) {
|
|
26
|
+
const maxWorkers = parseInt(process.env.SPS_MANAGER_MAX_WORKERS || '30', 10);
|
|
27
|
+
const staggerMs = parseInt(process.env.SPS_MANAGER_STAGGER_MS || '5000', 10);
|
|
28
|
+
const maxMem = parseInt(process.env.SPS_MANAGER_MAX_MEMORY_PERCENT || '80', 10);
|
|
29
|
+
sharedResourceLimiter = new ResourceLimiter({
|
|
30
|
+
maxGlobalWorkers: maxWorkers,
|
|
31
|
+
staggerDelayMs: staggerMs,
|
|
32
|
+
maxMemoryPercent: maxMem,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
if (!sharedCompletionJudge) {
|
|
36
|
+
sharedCompletionJudge = new CompletionJudge();
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
supervisor: sharedSupervisor,
|
|
40
|
+
resourceLimiter: sharedResourceLimiter,
|
|
41
|
+
completionJudge: sharedCompletionJudge,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
11
44
|
function createRunner(project) {
|
|
12
45
|
const log = new Logger('tick', project);
|
|
13
46
|
let ctx;
|
|
@@ -26,7 +59,7 @@ function createRunner(project) {
|
|
|
26
59
|
fullLog.info('Another tick is running for this project, skipping');
|
|
27
60
|
return null;
|
|
28
61
|
}
|
|
29
|
-
// Create providers
|
|
62
|
+
// Create providers
|
|
30
63
|
let taskBackend, workerProvider, repoBackend, notifier;
|
|
31
64
|
try {
|
|
32
65
|
taskBackend = createTaskBackend(ctx.config);
|
|
@@ -40,6 +73,11 @@ function createRunner(project) {
|
|
|
40
73
|
releaseTickLock(ctx.paths.tickLockFile);
|
|
41
74
|
return null;
|
|
42
75
|
}
|
|
76
|
+
// Get shared Manager modules
|
|
77
|
+
const { supervisor, resourceLimiter, completionJudge } = getSharedModules();
|
|
78
|
+
// Create per-project Manager modules
|
|
79
|
+
const pmClient = createPMClient(ctx.config);
|
|
80
|
+
const postActions = new PostActions(pmClient, supervisor, resourceLimiter, notifier);
|
|
43
81
|
return {
|
|
44
82
|
project,
|
|
45
83
|
ctx,
|
|
@@ -48,8 +86,8 @@ function createRunner(project) {
|
|
|
48
86
|
notifier,
|
|
49
87
|
scheduler: new SchedulerEngine(ctx, taskBackend, notifier),
|
|
50
88
|
closeout: new CloseoutEngine(ctx, taskBackend, repoBackend, workerProvider, notifier),
|
|
51
|
-
execution: new ExecutionEngine(ctx, taskBackend,
|
|
52
|
-
monitor: new MonitorEngine(ctx, taskBackend, workerProvider, repoBackend, notifier),
|
|
89
|
+
execution: new ExecutionEngine(ctx, taskBackend, repoBackend, supervisor, completionJudge, postActions, resourceLimiter, notifier),
|
|
90
|
+
monitor: new MonitorEngine(ctx, taskBackend, workerProvider, repoBackend, notifier, supervisor),
|
|
53
91
|
done: false,
|
|
54
92
|
fatalError: false,
|
|
55
93
|
tickNum: 0,
|
|
@@ -64,6 +102,7 @@ function createRunner(project) {
|
|
|
64
102
|
* sps tick project-a project-b project-c
|
|
65
103
|
*
|
|
66
104
|
* Each project is fully isolated (own context, providers, engines, lock, state).
|
|
105
|
+
* Manager modules (Supervisor, ResourceLimiter, CompletionJudge) are shared globally.
|
|
67
106
|
* Projects are ticked sequentially within each cycle. One project's error
|
|
68
107
|
* does not affect others.
|
|
69
108
|
*
|
|
@@ -94,6 +133,28 @@ export async function executeTick(projects, flags) {
|
|
|
94
133
|
if (runners.length > 1) {
|
|
95
134
|
globalLog.info(`Managing ${runners.length} projects: ${runners.map((r) => r.project).join(', ')}`);
|
|
96
135
|
}
|
|
136
|
+
// ─── Recovery: restore active workers from previous tick ───────
|
|
137
|
+
const { supervisor, completionJudge, resourceLimiter } = getSharedModules();
|
|
138
|
+
try {
|
|
139
|
+
const projectInfos = runners.map(r => ({
|
|
140
|
+
name: r.project,
|
|
141
|
+
config: r.ctx.config,
|
|
142
|
+
stateFile: r.ctx.paths.stateFile,
|
|
143
|
+
logsDir: r.ctx.paths.logsDir,
|
|
144
|
+
}));
|
|
145
|
+
const pmClient = createPMClient(runners[0].ctx.config);
|
|
146
|
+
const postActions = new PostActions(pmClient, supervisor, resourceLimiter, runners[0].notifier);
|
|
147
|
+
const recovery = new Recovery(supervisor, completionJudge, postActions, resourceLimiter);
|
|
148
|
+
const result = await recovery.recover(projectInfos);
|
|
149
|
+
if (result.found > 0) {
|
|
150
|
+
globalLog.info(`Recovery: ${result.found} workers found, ${result.alive} alive, ` +
|
|
151
|
+
`${result.completed} completed, ${result.failed} failed`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
catch (err) {
|
|
155
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
156
|
+
globalLog.warn(`Recovery failed (non-fatal): ${msg}`);
|
|
157
|
+
}
|
|
97
158
|
// Cleanup all locks on exit
|
|
98
159
|
const cleanupAll = () => {
|
|
99
160
|
for (const runner of runners) {
|
|
@@ -122,7 +183,6 @@ export async function executeTick(projects, flags) {
|
|
|
122
183
|
runner.log.info(`Starting continuous tick (interval=${interval}s)`);
|
|
123
184
|
}
|
|
124
185
|
while (true) {
|
|
125
|
-
// Run one tick for each active project
|
|
126
186
|
for (const runner of runners) {
|
|
127
187
|
if (runner.done || runner.fatalError)
|
|
128
188
|
continue;
|
|
@@ -132,7 +192,6 @@ export async function executeTick(projects, flags) {
|
|
|
132
192
|
outputJson(result);
|
|
133
193
|
}
|
|
134
194
|
else {
|
|
135
|
-
// Compact summary
|
|
136
195
|
const actionsCount = result.steps.reduce((sum, s) => sum + (s.actions?.filter((a) => a.result === 'ok').length || 0), 0);
|
|
137
196
|
if (actionsCount > 0) {
|
|
138
197
|
const summary = result.steps
|
|
@@ -149,7 +208,6 @@ export async function executeTick(projects, flags) {
|
|
|
149
208
|
}
|
|
150
209
|
}
|
|
151
210
|
}
|
|
152
|
-
// Check auto-stop for this project
|
|
153
211
|
const allDone = await checkAllDone(runner.ctx, runner.taskBackend);
|
|
154
212
|
if (allDone) {
|
|
155
213
|
runner.log.ok('All cards done, no active workers — project complete.');
|
|
@@ -157,14 +215,12 @@ export async function executeTick(projects, flags) {
|
|
|
157
215
|
releaseTickLock(runner.ctx.paths.tickLockFile);
|
|
158
216
|
runner.done = true;
|
|
159
217
|
}
|
|
160
|
-
// Fatal error for this project
|
|
161
218
|
if (result.exitCode === 3) {
|
|
162
219
|
runner.log.error('Fatal error, stopping tick for this project');
|
|
163
220
|
releaseTickLock(runner.ctx.paths.tickLockFile);
|
|
164
221
|
runner.fatalError = true;
|
|
165
222
|
}
|
|
166
223
|
}
|
|
167
|
-
// Check if ALL projects are done or errored
|
|
168
224
|
const allFinished = runners.every((r) => r.done || r.fatalError);
|
|
169
225
|
if (allFinished) {
|
|
170
226
|
const doneCount = runners.filter((r) => r.done).length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tick.js","sourceRoot":"","sources":["../../src/commands/tick.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tick.js","sourceRoot":"","sources":["../../src/commands/tick.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerLaunch.d.ts","sourceRoot":"","sources":["../../src/commands/workerLaunch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workerLaunch.d.ts","sourceRoot":"","sources":["../../src/commands/workerLaunch.ts"],"names":[],"mappings":"AAUA,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAsDf"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { ProjectContext } from '../core/context.js';
|
|
2
2
|
import { ExecutionEngine } from '../engines/ExecutionEngine.js';
|
|
3
|
-
import { createTaskBackend,
|
|
3
|
+
import { createTaskBackend, createRepoBackend, createNotifier } from '../providers/registry.js';
|
|
4
|
+
import { ProcessSupervisor } from '../manager/supervisor.js';
|
|
5
|
+
import { CompletionJudge } from '../manager/completion-judge.js';
|
|
6
|
+
import { PostActions } from '../manager/post-actions.js';
|
|
7
|
+
import { ResourceLimiter } from '../manager/resource-limiter.js';
|
|
8
|
+
import { createPMClient } from '../manager/pm-client.js';
|
|
4
9
|
import { Logger } from '../core/logger.js';
|
|
5
10
|
export async function executeWorkerLaunch(project, seq, flags) {
|
|
6
11
|
const log = new Logger('worker-launch', project);
|
|
@@ -30,10 +35,14 @@ export async function executeWorkerLaunch(project, seq, flags) {
|
|
|
30
35
|
process.exit(3);
|
|
31
36
|
}
|
|
32
37
|
const taskBackend = createTaskBackend(ctx.config);
|
|
33
|
-
const workerProvider = createWorkerProvider(ctx.config);
|
|
34
38
|
const repoBackend = createRepoBackend(ctx.config);
|
|
35
39
|
const notifier = createNotifier(ctx.config);
|
|
36
|
-
const
|
|
40
|
+
const supervisor = new ProcessSupervisor();
|
|
41
|
+
const completionJudge = new CompletionJudge();
|
|
42
|
+
const resourceLimiter = new ResourceLimiter();
|
|
43
|
+
const pmClient = createPMClient(ctx.config);
|
|
44
|
+
const postActions = new PostActions(pmClient, supervisor, resourceLimiter, notifier);
|
|
45
|
+
const engine = new ExecutionEngine(ctx, taskBackend, repoBackend, supervisor, completionJudge, postActions, resourceLimiter, notifier);
|
|
37
46
|
const result = await engine.launchSingle(seq, { dryRun });
|
|
38
47
|
if (jsonOutput) {
|
|
39
48
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerLaunch.js","sourceRoot":"","sources":["../../src/commands/workerLaunch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"workerLaunch.js","sourceRoot":"","sources":["../../src/commands/workerLaunch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
import type { ProjectContext } from '../core/context.js';
|
|
2
2
|
import type { TaskBackend } from '../interfaces/TaskBackend.js';
|
|
3
|
-
import type { WorkerProvider } from '../interfaces/WorkerProvider.js';
|
|
4
3
|
import type { RepoBackend } from '../interfaces/RepoBackend.js';
|
|
5
4
|
import type { Notifier } from '../interfaces/Notifier.js';
|
|
6
5
|
import type { CommandResult } from '../models/types.js';
|
|
6
|
+
import { ProcessSupervisor } from '../manager/supervisor.js';
|
|
7
|
+
import { CompletionJudge } from '../manager/completion-judge.js';
|
|
8
|
+
import { PostActions } from '../manager/post-actions.js';
|
|
9
|
+
import { ResourceLimiter } from '../manager/resource-limiter.js';
|
|
7
10
|
export declare class ExecutionEngine {
|
|
8
11
|
private ctx;
|
|
9
12
|
private taskBackend;
|
|
10
|
-
private workerProvider;
|
|
11
13
|
private repoBackend;
|
|
14
|
+
private supervisor;
|
|
15
|
+
private completionJudge;
|
|
16
|
+
private postActions;
|
|
17
|
+
private resourceLimiter;
|
|
12
18
|
private notifier?;
|
|
13
19
|
private log;
|
|
14
|
-
constructor(ctx: ProjectContext, taskBackend: TaskBackend,
|
|
20
|
+
constructor(ctx: ProjectContext, taskBackend: TaskBackend, repoBackend: RepoBackend, supervisor: ProcessSupervisor, completionJudge: CompletionJudge, postActions: PostActions, resourceLimiter: ResourceLimiter, notifier?: Notifier | undefined);
|
|
15
21
|
tick(opts?: {
|
|
16
22
|
dryRun?: boolean;
|
|
17
23
|
}): Promise<CommandResult>;
|
|
@@ -24,17 +30,12 @@ export declare class ExecutionEngine {
|
|
|
24
30
|
}): Promise<CommandResult>;
|
|
25
31
|
private shouldSkip;
|
|
26
32
|
/**
|
|
27
|
-
* Check an Inprogress card:
|
|
28
|
-
* This is the critical Inprogress → QA bridge (01 §10.2).
|
|
33
|
+
* Check an Inprogress card: verify worker is still running or handled by exit callback.
|
|
29
34
|
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* BLOCKED → mark BLOCKED
|
|
35
|
-
* ALIVE → no action (worker still working)
|
|
36
|
-
* DEAD → mark STALE-RUNTIME (handled by MonitorEngine)
|
|
37
|
-
* DEAD_EXCEEDED → mark STALE-RUNTIME, notify
|
|
35
|
+
* The Supervisor exit callback triggers CompletionJudge → PostActions automatically,
|
|
36
|
+
* so this method only needs to:
|
|
37
|
+
* - Update heartbeat if worker is still running
|
|
38
|
+
* - Confirm completion if PostActions already processed it
|
|
38
39
|
*/
|
|
39
40
|
private checkInprogressCard;
|
|
40
41
|
/**
|
|
@@ -47,6 +48,11 @@ export declare class ExecutionEngine {
|
|
|
47
48
|
* Steps 4-7 per 01 §4.3.
|
|
48
49
|
*/
|
|
49
50
|
private launchCard;
|
|
51
|
+
/**
|
|
52
|
+
* Called by Supervisor when a worker process exits.
|
|
53
|
+
* Wires CompletionJudge → PostActions to handle completion or failure.
|
|
54
|
+
*/
|
|
55
|
+
private onWorkerExit;
|
|
50
56
|
/**
|
|
51
57
|
* Build branch name from card: feature/<seq>-<slug>
|
|
52
58
|
*/
|
|
@@ -71,33 +77,24 @@ export declare class ExecutionEngine {
|
|
|
71
77
|
*/
|
|
72
78
|
private writeMergeScript;
|
|
73
79
|
/**
|
|
74
|
-
*
|
|
75
|
-
* Used for
|
|
76
|
-
*/
|
|
77
|
-
private completeAndRelease;
|
|
78
|
-
/**
|
|
79
|
-
* Release a worker slot, cleanup tmux session, remove card from active cards.
|
|
80
|
+
* Release a worker slot and remove card from active cards.
|
|
81
|
+
* Used for launch failure rollback.
|
|
80
82
|
*/
|
|
81
83
|
private releaseSlot;
|
|
82
84
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
+
* Load skill profiles based on card labels (skill:xxx) or project default.
|
|
86
|
+
* Returns combined profile content for prompt injection.
|
|
85
87
|
*/
|
|
86
|
-
private
|
|
88
|
+
private loadSkillProfiles;
|
|
87
89
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
* Uses metaRead/metaWrite to track resumeAttempts per card.
|
|
91
|
-
* Max retries = WORKER_RESTART_LIMIT (default 2).
|
|
92
|
-
*
|
|
93
|
-
* Returns an ActionRecord if resume was initiated, or null if retries exhausted.
|
|
90
|
+
* Load recent project knowledge from docs/DECISIONS.md and docs/CHANGELOG.md.
|
|
91
|
+
* Truncates to recent entries to keep prompt size manageable.
|
|
94
92
|
*/
|
|
95
|
-
private
|
|
93
|
+
private loadProjectKnowledge;
|
|
96
94
|
/**
|
|
97
|
-
*
|
|
98
|
-
* Used when worker completed coding + push but didn't create/merge MR.
|
|
95
|
+
* Extract the last N ## sections from a markdown file.
|
|
99
96
|
*/
|
|
100
|
-
private
|
|
97
|
+
private extractRecentSections;
|
|
101
98
|
private logEvent;
|
|
102
99
|
}
|
|
103
100
|
//# sourceMappingURL=ExecutionEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionEngine.d.ts","sourceRoot":"","sources":["../../src/engines/ExecutionEngine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ExecutionEngine.d.ts","sourceRoot":"","sources":["../../src/engines/ExecutionEngine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAsC,MAAM,oBAAoB,CAAC;AAI5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAA0B,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAIjE,qBAAa,eAAe;IAIxB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,QAAQ,CAAC;IAVnB,OAAO,CAAC,GAAG,CAAS;gBAGV,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,QAAQ,CAAC,EAAE,QAAQ,YAAA;IAKvB,IAAI,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAsFnE;;;OAGG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAuDxF,OAAO,CAAC,UAAU;IAMlB;;;;;;;OAOG;YACW,mBAAmB;IAmDjC;;;OAGG;YACW,WAAW;IA6DzB;;;OAGG;YACW,UAAU;IA+KxB;;;OAGG;IACH,OAAO,CAAC,YAAY;IA2DpB;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAoGxB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAqGxB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA6BnB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAwCzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,QAAQ;CASjB"}
|