@coralai/sps-cli 0.23.11 → 0.23.12
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 +2 -2
- package/dist/core/state.d.ts +1 -0
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +16 -2
- package/dist/core/state.js.map +1 -1
- package/dist/engines/ExecutionEngine.d.ts +3 -1
- package/dist/engines/ExecutionEngine.d.ts.map +1 -1
- package/dist/engines/ExecutionEngine.js +23 -16
- package/dist/engines/ExecutionEngine.js.map +1 -1
- package/dist/engines/MonitorEngine.d.ts.map +1 -1
- package/dist/engines/MonitorEngine.js +18 -1
- package/dist/engines/MonitorEngine.js.map +1 -1
- package/dist/manager/post-actions.d.ts.map +1 -1
- package/dist/manager/post-actions.js +13 -8
- package/dist/manager/post-actions.js.map +1 -1
- package/dist/manager/recovery.d.ts +3 -0
- package/dist/manager/recovery.d.ts.map +1 -1
- package/dist/manager/recovery.js +90 -69
- package/dist/manager/recovery.js.map +1 -1
- package/dist/manager/runtime-coordinator.d.ts.map +1 -1
- package/dist/manager/runtime-coordinator.js +3 -1
- package/dist/manager/runtime-coordinator.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
> **中文文档**: See `README-CN.md` in the source repository for Chinese documentation.
|
|
6
6
|
|
|
7
|
-
**v0.23.
|
|
7
|
+
**v0.23.12**
|
|
8
8
|
|
|
9
9
|
SPS (Smart Pipeline System) is a fully automated development pipeline CLI tool driven by AI Agents. From task card creation to code merging, the entire process runs unattended.
|
|
10
10
|
|
|
@@ -123,7 +123,7 @@ Planning -> Backlog -> Todo -> Inprogress -> Done
|
|
|
123
123
|
|
|
124
124
|
The Worker no longer executes `.sps/merge.sh` as the normal path. In `MR_MODE=none`, the Worker commits and pushes the feature branch, then SPS closeout performs a serialized merge. Final integration now runs inside a temporary detached merge worktree, which avoids `main already used by worktree` failures and keeps the user's main checkout untouched. `.sps/merge.sh` remains only as a manual fallback. See `docs/design/10-acp-worker-runtime-design.md` for the persistent Agent transport model, the full worker state breakdown, and the local same-user OAuth reuse boundary. See `docs/design/11-runtime-state-authority-and-recovery-redesign.md` for the follow-up redesign that demotes `state.json` / `acp-state.json` to projections and re-centers recovery around PM state plus worktree/git evidence.
|
|
125
125
|
|
|
126
|
-
PTY transport now extends the same session/run model into the default CLI-backed worker path. When `WORKER_TRANSPORT=pty` or `WORKER_TRANSPORT=acp`, `sps tick` launches work through `sessionId/runId`, persists that state into `runtime/state.json` plus `runtime/acp-state.json`, and lets recovery/status/dashboard inspect the live session/run state. `PostActions` retry/conflict flows and `CloseoutEngine` autofix/conflict flows now resume the same session when possible and automatically rebuild a fresh persistent session when the original one is gone before a retry or merge-conflict follow-up run. v0.23.5 upgrades `node-pty` to a macOS-safe build, auto-restores missing execute permissions on `spawn-helper`, and auto-skips the benign Codex update notice during PTY boot so `ensureSession()` can reach `ready` on fresh launches instead of failing with `posix_spawnp failed`. v0.23.6 further fixes PTY run lifecycle tracking so newly submitted conflict-resolution runs no longer get marked `completed` during the first inspect cycle before the CLI actually leaves the prompt. v0.23.7 hardens `sps worker dashboard` itself by switching PTY/TUI panels from raw pane dumps to structured worker summaries, preventing Codex/Claude full-screen redraw artifacts from corrupting the dashboard layout while also counting PTY-backed active sessions correctly in the summary bar. v0.23.9 now validates persisted PTY sessions by PID before treating them as alive, which keeps `sps status`, `sps worker dashboard`, and `sps card dashboard` from showing dead workers as active after `sps tick` has already stopped. v0.23.10 closes the remaining state-drift loop without taking ordering authority away from Plane/Trello/Markdown: the PM backend remains the first principle for task order and human drag/drop edits, while SPS only reasserts `Todo` / `Inprogress` for cards still locally owned by a non-idle runtime slot. `MonitorEngine` now includes runtime-owned in-progress cards even when PM has drifted, and `sps card dashboard` fetches all cards in a single backend round-trip while sharing the same `active/merging/stale` worker buckets as `sps status` and `sps worker dashboard`, reducing self-inflicted Plane `429` spikes. v0.23.11 begins landing the state-authority redesign itself: `RuntimeCoordinator` can now build a PM + worktree + session-first runtime projection without persisting it, tick startup persists that projection before recovery, and all read-only views now consume a shared snapshot path instead of mutating `state.json` / `acp-state.json` during display refreshes. The state file writers now also use unique temporary filenames so overlapping writes do not collide on a shared `.tmp` path. Codex has been verified on launch, recovery, direct merge, same-session resume, PTY conflict fallback, spawn-helper self-heal, immediate post-launch run-state inspection, summary-style dashboard rendering, cold-state liveness validation, runtime-owned PM reconciliation, read-only snapshot rendering, and
|
|
126
|
+
PTY transport now extends the same session/run model into the default CLI-backed worker path. When `WORKER_TRANSPORT=pty` or `WORKER_TRANSPORT=acp`, `sps tick` launches work through `sessionId/runId`, persists that state into `runtime/state.json` plus `runtime/acp-state.json`, and lets recovery/status/dashboard inspect the live session/run state. `PostActions` retry/conflict flows and `CloseoutEngine` autofix/conflict flows now resume the same session when possible and automatically rebuild a fresh persistent session when the original one is gone before a retry or merge-conflict follow-up run. v0.23.5 upgrades `node-pty` to a macOS-safe build, auto-restores missing execute permissions on `spawn-helper`, and auto-skips the benign Codex update notice during PTY boot so `ensureSession()` can reach `ready` on fresh launches instead of failing with `posix_spawnp failed`. v0.23.6 further fixes PTY run lifecycle tracking so newly submitted conflict-resolution runs no longer get marked `completed` during the first inspect cycle before the CLI actually leaves the prompt. v0.23.7 hardens `sps worker dashboard` itself by switching PTY/TUI panels from raw pane dumps to structured worker summaries, preventing Codex/Claude full-screen redraw artifacts from corrupting the dashboard layout while also counting PTY-backed active sessions correctly in the summary bar. v0.23.9 now validates persisted PTY sessions by PID before treating them as alive, which keeps `sps status`, `sps worker dashboard`, and `sps card dashboard` from showing dead workers as active after `sps tick` has already stopped. v0.23.10 closes the remaining state-drift loop without taking ordering authority away from Plane/Trello/Markdown: the PM backend remains the first principle for task order and human drag/drop edits, while SPS only reasserts `Todo` / `Inprogress` for cards still locally owned by a non-idle runtime slot. `MonitorEngine` now includes runtime-owned in-progress cards even when PM has drifted, and `sps card dashboard` fetches all cards in a single backend round-trip while sharing the same `active/merging/stale` worker buckets as `sps status` and `sps worker dashboard`, reducing self-inflicted Plane `429` spikes. v0.23.11 begins landing the state-authority redesign itself: `RuntimeCoordinator` can now build a PM + worktree + session-first runtime projection without persisting it, tick startup persists that projection before recovery, and all read-only views now consume a shared snapshot path instead of mutating `state.json` / `acp-state.json` during display refreshes. v0.23.12 then moves the execution path onto the same model: `Recovery` now restores tasks from `TaskLease + WorktreeEvidence` instead of old slot snapshots, and `ExecutionEngine` / `PostActions` / `MonitorEngine` now treat `lease.phase` and `lease.retryCount` as the authoritative runtime metadata while `activeCards` remains a derived projection for compatibility. The state file writers now also use unique temporary filenames so overlapping writes do not collide on a shared `.tmp` path. Codex has been verified on launch, recovery, direct merge, same-session resume, PTY conflict fallback, spawn-helper self-heal, immediate post-launch run-state inspection, summary-style dashboard rendering, cold-state liveness validation, runtime-owned PM reconciliation, read-only snapshot rendering, and lease-first recovery/execution flow; Claude still depends on host-side `claude auth login` before reaching `ready`.
|
|
127
127
|
|
|
128
128
|
### MR_MODE=create (Optional)
|
|
129
129
|
|
package/dist/core/state.d.ts
CHANGED
|
@@ -60,6 +60,7 @@ export interface TaskLease {
|
|
|
60
60
|
sessionId: string | null;
|
|
61
61
|
runId: string | null;
|
|
62
62
|
claimedAt: string | null;
|
|
63
|
+
retryCount: number;
|
|
63
64
|
lastTransitionAt: string;
|
|
64
65
|
}
|
|
65
66
|
export type WorktreeEvidenceStatus = 'missing' | 'clean' | 'dirty' | 'rebase' | 'merge' | 'conflict';
|
package/dist/core/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
|
package/dist/core/state.js
CHANGED
|
@@ -43,6 +43,20 @@ function defaultState(maxWorkers) {
|
|
|
43
43
|
}
|
|
44
44
|
function reconcileState(raw, maxWorkers) {
|
|
45
45
|
const workers = { ...(raw.workers || {}) };
|
|
46
|
+
const activeCards = Object.fromEntries(Object.entries(raw.activeCards || {}).map(([seq, card]) => [
|
|
47
|
+
seq,
|
|
48
|
+
{
|
|
49
|
+
...card,
|
|
50
|
+
retryCount: card.retryCount ?? 0,
|
|
51
|
+
},
|
|
52
|
+
]));
|
|
53
|
+
const leases = Object.fromEntries(Object.entries(raw.leases || {}).map(([seq, lease]) => [
|
|
54
|
+
seq,
|
|
55
|
+
{
|
|
56
|
+
...lease,
|
|
57
|
+
retryCount: lease.retryCount ?? 0,
|
|
58
|
+
},
|
|
59
|
+
]));
|
|
46
60
|
// Grow legacy state files when MAX_CONCURRENT_WORKERS increases.
|
|
47
61
|
// This lets projects scale from 1 -> N workers without deleting state.json.
|
|
48
62
|
for (let i = 1; i <= maxWorkers; i++) {
|
|
@@ -62,8 +76,8 @@ function reconcileState(raw, maxWorkers) {
|
|
|
62
76
|
updatedAt: raw.updatedAt || new Date().toISOString(),
|
|
63
77
|
updatedBy: raw.updatedBy || 'migrate',
|
|
64
78
|
workers,
|
|
65
|
-
activeCards
|
|
66
|
-
leases
|
|
79
|
+
activeCards,
|
|
80
|
+
leases,
|
|
67
81
|
worktreeEvidence: raw.worktreeEvidence || {},
|
|
68
82
|
worktreeCleanup: raw.worktreeCleanup || [],
|
|
69
83
|
};
|
package/dist/core/state.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ export declare class ExecutionEngine {
|
|
|
33
33
|
private shouldSkip;
|
|
34
34
|
private listRuntimeAwareInprogressCards;
|
|
35
35
|
private reconcilePmStatesWithRuntime;
|
|
36
|
-
private
|
|
36
|
+
private derivePmStateFromLease;
|
|
37
37
|
private isRuntimeOwnedSlot;
|
|
38
38
|
/**
|
|
39
39
|
* Remove auxiliary state labels (STALE-RUNTIME, NEEDS-FIX, etc.) from a card.
|
|
@@ -71,6 +71,8 @@ export declare class ExecutionEngine {
|
|
|
71
71
|
private applyAcpSessionToSlot;
|
|
72
72
|
private isAcpRunActive;
|
|
73
73
|
private acpRunExitCode;
|
|
74
|
+
private findRuntimeSlotName;
|
|
75
|
+
private getRetryCount;
|
|
74
76
|
/**
|
|
75
77
|
* Build branch name from card: feature/<seq>-<slug>
|
|
76
78
|
*/
|
|
@@ -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,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAiD,MAAM,oBAAoB,CAAC;AAOvG,OAAO,EAAE,iBAAiB,EAAqB,MAAM,0BAA0B,CAAC;AAChF,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;IACjB,OAAO,CAAC,YAAY,CAAC;IAXvB,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,EACnB,YAAY,CAAC,GAAE,YAAY,GAAG,IAAI,aAAA;IAKtC,IAAI,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAuGnE;;;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;YAIJ,+BAA+B;YAe/B,4BAA4B;IAoC1C,OAAO,CAAC,
|
|
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,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAiD,MAAM,oBAAoB,CAAC;AAOvG,OAAO,EAAE,iBAAiB,EAAqB,MAAM,0BAA0B,CAAC;AAChF,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;IACjB,OAAO,CAAC,YAAY,CAAC;IAXvB,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,EACnB,YAAY,CAAC,GAAE,YAAY,GAAG,IAAI,aAAA;IAKtC,IAAI,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAuGnE;;;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;YAIJ,+BAA+B;YAe/B,4BAA4B;IAoC1C,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,kBAAkB;IAM1B;;;;OAIG;YACW,oBAAoB;IAgBlC;;;;;;;OAOG;YACW,mBAAmB;IA+DjC;;;OAGG;YACW,WAAW;IA6DzB;;;OAGG;YACW,UAAU;IAqRxB;;;OAGG;YACW,YAAY;YAYZ,sBAAsB;YAqGtB,wBAAwB;IA2DtC,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAiGxB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAqGxB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAsCnB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,QAAQ;CASjB"}
|
|
@@ -190,9 +190,9 @@ export class ExecutionEngine {
|
|
|
190
190
|
const cards = await this.taskBackend.listByState('Inprogress');
|
|
191
191
|
const bySeq = new Map(cards.map(card => [card.seq, card]));
|
|
192
192
|
const state = readState(this.ctx.paths.stateFile, this.ctx.maxWorkers);
|
|
193
|
-
for (const [seq,
|
|
194
|
-
const slot =
|
|
195
|
-
if (
|
|
193
|
+
for (const [seq, lease] of Object.entries(state.leases)) {
|
|
194
|
+
const slot = lease.slot ? state.workers[lease.slot] || null : null;
|
|
195
|
+
if (this.derivePmStateFromLease(lease, slot) !== 'Inprogress' || bySeq.has(seq))
|
|
196
196
|
continue;
|
|
197
197
|
const card = await this.taskBackend.getBySeq(seq);
|
|
198
198
|
if (card)
|
|
@@ -203,9 +203,9 @@ export class ExecutionEngine {
|
|
|
203
203
|
async reconcilePmStatesWithRuntime() {
|
|
204
204
|
const state = readState(this.ctx.paths.stateFile, this.ctx.maxWorkers);
|
|
205
205
|
const actions = [];
|
|
206
|
-
for (const [seq,
|
|
207
|
-
const slot =
|
|
208
|
-
const targetState = this.
|
|
206
|
+
for (const [seq, lease] of Object.entries(state.leases)) {
|
|
207
|
+
const slot = lease.slot ? state.workers[lease.slot] || null : null;
|
|
208
|
+
const targetState = this.derivePmStateFromLease(lease, slot);
|
|
209
209
|
if (!targetState)
|
|
210
210
|
continue;
|
|
211
211
|
const card = await this.taskBackend.getBySeq(seq);
|
|
@@ -234,13 +234,11 @@ export class ExecutionEngine {
|
|
|
234
234
|
}
|
|
235
235
|
return actions;
|
|
236
236
|
}
|
|
237
|
-
|
|
238
|
-
if (
|
|
239
|
-
return null;
|
|
240
|
-
if (activeState === 'Todo') {
|
|
237
|
+
derivePmStateFromLease(lease, slot) {
|
|
238
|
+
if (lease.phase === 'queued' || lease.phase === 'preparing') {
|
|
241
239
|
return 'Todo';
|
|
242
240
|
}
|
|
243
|
-
if (
|
|
241
|
+
if (['coding', 'merging', 'resolving_conflict', 'waiting_confirmation', 'closing'].includes(lease.phase)) {
|
|
244
242
|
return 'Inprogress';
|
|
245
243
|
}
|
|
246
244
|
return null;
|
|
@@ -279,12 +277,12 @@ export class ExecutionEngine {
|
|
|
279
277
|
async checkInprogressCard(card, opts) {
|
|
280
278
|
const seq = card.seq;
|
|
281
279
|
const state = readState(this.ctx.paths.stateFile, this.ctx.maxWorkers);
|
|
282
|
-
const
|
|
283
|
-
|
|
280
|
+
const lease = state.leases[seq] || null;
|
|
281
|
+
const slotName = this.findRuntimeSlotName(state, seq, lease);
|
|
282
|
+
if (!slotName) {
|
|
284
283
|
// Slot already released (PostActions handled it via exit callback)
|
|
285
284
|
return null;
|
|
286
285
|
}
|
|
287
|
-
const [slotName] = slotEntry;
|
|
288
286
|
if (state.workers[slotName]?.transport === 'acp' ||
|
|
289
287
|
state.workers[slotName]?.transport === 'pty' ||
|
|
290
288
|
state.workers[slotName]?.mode === 'acp' ||
|
|
@@ -451,6 +449,7 @@ export class ExecutionEngine {
|
|
|
451
449
|
sessionId: null,
|
|
452
450
|
runId: null,
|
|
453
451
|
claimedAt: state.workers[slotName].claimedAt,
|
|
452
|
+
retryCount: 0,
|
|
454
453
|
lastTransitionAt: new Date().toISOString(),
|
|
455
454
|
};
|
|
456
455
|
try {
|
|
@@ -741,8 +740,7 @@ export class ExecutionEngine {
|
|
|
741
740
|
tool: handle?.tool || this.ctx.config.ACP_AGENT || this.ctx.config.WORKER_TOOL,
|
|
742
741
|
};
|
|
743
742
|
const state = readState(this.ctx.paths.stateFile, this.ctx.maxWorkers);
|
|
744
|
-
const
|
|
745
|
-
const retryCount = activeCard?.retryCount ?? 0;
|
|
743
|
+
const retryCount = this.getRetryCount(state, card.seq);
|
|
746
744
|
const workerId = `${this.ctx.projectName}:${slotName}:${card.seq}`;
|
|
747
745
|
try {
|
|
748
746
|
if (completion.status === 'completed') {
|
|
@@ -789,6 +787,15 @@ export class ExecutionEngine {
|
|
|
789
787
|
acpRunExitCode(status) {
|
|
790
788
|
return status === 'completed' ? 0 : 1;
|
|
791
789
|
}
|
|
790
|
+
findRuntimeSlotName(state, seq, lease) {
|
|
791
|
+
if (lease?.slot && state.workers[lease.slot])
|
|
792
|
+
return lease.slot;
|
|
793
|
+
const slotEntry = Object.entries(state.workers).find(([, worker]) => worker.seq === parseInt(seq, 10) && worker.status !== 'idle');
|
|
794
|
+
return slotEntry?.[0] || null;
|
|
795
|
+
}
|
|
796
|
+
getRetryCount(state, seq) {
|
|
797
|
+
return state.leases[seq]?.retryCount ?? state.activeCards[seq]?.retryCount ?? 0;
|
|
798
|
+
}
|
|
792
799
|
// ─── Helpers ─────────────────────────────────────────────────────
|
|
793
800
|
/**
|
|
794
801
|
* Build branch name from card: feature/<seq>-<slug>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionEngine.js","sourceRoot":"","sources":["../../src/engines/ExecutionEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ExecutionEngine.js","sourceRoot":"","sources":["../../src/engines/ExecutionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonitorEngine.d.ts","sourceRoot":"","sources":["../../src/engines/MonitorEngine.ts"],"names":[],"mappings":"AAAA,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,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAgD,MAAM,oBAAoB,CAAC;AACtG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAMlE;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,UAAU;IARpB,OAAO,CAAC,GAAG,CAAS;gBAGV,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,UAAU,EAAE,iBAAiB;IAKjC,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC;YAuCtB,gBAAgB;YAkGhB,kBAAkB;YA4FlB,+BAA+B;YAiB/B,kBAAkB;YAsDlB,aAAa;YAwEb,wBAAwB;YAmHxB,iBAAiB;YA6BjB,mBAAmB;YAuDnB,iBAAiB;YA4EjB,SAAS;
|
|
1
|
+
{"version":3,"file":"MonitorEngine.d.ts","sourceRoot":"","sources":["../../src/engines/MonitorEngine.ts"],"names":[],"mappings":"AAAA,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,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAgD,MAAM,oBAAoB,CAAC;AACtG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAMlE;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAa;IAItB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,UAAU;IARpB,OAAO,CAAC,GAAG,CAAS;gBAGV,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,UAAU,EAAE,iBAAiB;IAKjC,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC;YAuCtB,gBAAgB;YAkGhB,kBAAkB;YA4FlB,+BAA+B;YAiB/B,kBAAkB;YAsDlB,aAAa;YAwEb,wBAAwB;YAmHxB,iBAAiB;YA6BjB,mBAAmB;YAuDnB,iBAAiB;YA4EjB,SAAS;IAwHvB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,eAAe;YAST,YAAY;YASZ,eAAe;YAMf,UAAU;IAYxB,OAAO,CAAC,QAAQ;CAcjB"}
|
|
@@ -574,7 +574,7 @@ export class MonitorEngine {
|
|
|
574
574
|
async autoRetry(seq, slotName, state, actions, reason) {
|
|
575
575
|
const restartLimit = this.ctx.config.WORKER_RESTART_LIMIT;
|
|
576
576
|
const activeCard = state.activeCards[seq];
|
|
577
|
-
const retryCount = activeCard?.retryCount ?? 0;
|
|
577
|
+
const retryCount = state.leases[seq]?.retryCount ?? activeCard?.retryCount ?? 0;
|
|
578
578
|
// Release the slot
|
|
579
579
|
state.workers[slotName] = {
|
|
580
580
|
status: 'idle',
|
|
@@ -611,6 +611,15 @@ export class MonitorEngine {
|
|
|
611
611
|
startedAt: activeCard?.startedAt ?? new Date().toISOString(),
|
|
612
612
|
retryCount: retryCount + 1,
|
|
613
613
|
};
|
|
614
|
+
if (state.leases[seq]) {
|
|
615
|
+
state.leases[seq].retryCount = retryCount + 1;
|
|
616
|
+
state.leases[seq].phase = 'queued';
|
|
617
|
+
state.leases[seq].slot = null;
|
|
618
|
+
state.leases[seq].sessionId = null;
|
|
619
|
+
state.leases[seq].runId = null;
|
|
620
|
+
state.leases[seq].pmStateObserved = 'Todo';
|
|
621
|
+
state.leases[seq].lastTransitionAt = new Date().toISOString();
|
|
622
|
+
}
|
|
614
623
|
writeState(this.ctx.paths.stateFile, state, 'monitor-auto-retry');
|
|
615
624
|
const attempt = retryCount + 1;
|
|
616
625
|
this.log.ok(`seq ${seq}: Auto-retry ${attempt}/${restartLimit} — moved back to Todo (${reason})`);
|
|
@@ -637,6 +646,14 @@ export class MonitorEngine {
|
|
|
637
646
|
}
|
|
638
647
|
else {
|
|
639
648
|
// Retry limit reached — mark as BLOCKED
|
|
649
|
+
if (state.leases[seq]) {
|
|
650
|
+
state.leases[seq].retryCount = retryCount;
|
|
651
|
+
state.leases[seq].phase = 'suspended';
|
|
652
|
+
state.leases[seq].slot = null;
|
|
653
|
+
state.leases[seq].sessionId = null;
|
|
654
|
+
state.leases[seq].runId = null;
|
|
655
|
+
state.leases[seq].lastTransitionAt = new Date().toISOString();
|
|
656
|
+
}
|
|
640
657
|
writeState(this.ctx.paths.stateFile, state, 'monitor-retry-exhausted');
|
|
641
658
|
try {
|
|
642
659
|
await this.addLabelSafe(seq, 'BLOCKED');
|