@coralai/sps-cli 0.23.18 → 0.23.19
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 +5 -7
- package/dist/commands/pipelineTick.js +1 -1
- package/dist/commands/pipelineTick.js.map +1 -1
- package/dist/commands/tick.d.ts.map +1 -1
- package/dist/commands/tick.js +2 -6
- package/dist/commands/tick.js.map +1 -1
- package/dist/commands/workerLaunch.js +1 -1
- package/dist/commands/workerLaunch.js.map +1 -1
- package/dist/engines/CloseoutEngine.d.ts +0 -10
- package/dist/engines/CloseoutEngine.d.ts.map +1 -1
- package/dist/engines/CloseoutEngine.js +0 -358
- package/dist/engines/CloseoutEngine.js.map +1 -1
- package/dist/engines/ExecutionEngine.d.ts.map +1 -1
- package/dist/engines/ExecutionEngine.js +2 -1
- package/dist/engines/ExecutionEngine.js.map +1 -1
- package/dist/manager/completion-judge.d.ts +13 -5
- package/dist/manager/completion-judge.d.ts.map +1 -1
- package/dist/manager/completion-judge.js +43 -36
- package/dist/manager/completion-judge.js.map +1 -1
- package/dist/manager/post-actions.d.ts +2 -43
- package/dist/manager/post-actions.d.ts.map +1 -1
- package/dist/manager/post-actions.js +18 -420
- package/dist/manager/post-actions.js.map +1 -1
- package/dist/manager/recovery.d.ts.map +1 -1
- package/dist/manager/recovery.js +4 -0
- package/dist/manager/recovery.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.19**
|
|
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
|
|
|
@@ -12,7 +12,7 @@ SPS (Smart Pipeline System) is a fully automated development pipeline CLI tool d
|
|
|
12
12
|
Create cards -> Start pipeline -> Development worker completes branch work -> QA worker integrates branch -> Notify completion
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
Current design direction: SPS is converging on a worker-owned two-phase execution model. `Inprogress` is the development phase, `QA` is the integration/merge phase, and label-driven skill profile injection remains part of worker prompt construction. `v0.23.16` added per-worktree `.sps/development_prompt.txt` and `.sps/integration_prompt.txt`, plus phase-aware recovery prompt selection. `v0.23.17` moved the main integration path into the `QA` worker phase. `v0.23.18`
|
|
15
|
+
Current design direction: SPS is converging on a worker-owned two-phase execution model. `Inprogress` is the development phase, `QA` is the integration/merge phase, and label-driven skill profile injection remains part of worker prompt construction. `v0.23.16` added per-worktree `.sps/development_prompt.txt` and `.sps/integration_prompt.txt`, plus phase-aware recovery prompt selection. `v0.23.17` moved the main integration path into the `QA` worker phase. `v0.23.18` finished the state-machine alignment so runtime projection and task-level recovery consistently map `Inprogress` to development and `QA` to integration. `v0.23.19` removes the old fixed merge/conflict flow from `PostActions` and `CloseoutEngine`, and makes `CompletionJudge` phase-aware so development completion stops at branch commits while QA completion requires merge evidence.
|
|
16
16
|
|
|
17
17
|
## Table of Contents
|
|
18
18
|
|
|
@@ -124,9 +124,9 @@ Planning -> Backlog -> Todo -> Inprogress -> QA -> Done
|
|
|
124
124
|
| Inprogress -> QA | PostActions | Detect development completion, release slot, move card to QA |
|
|
125
125
|
| QA -> Done | CloseoutEngine | Launch/resume integration worker, verify merge evidence, release resources, clean up worktree |
|
|
126
126
|
|
|
127
|
-
In this model, the development worker stops at “implementation complete and committed on the task branch”. The QA worker owns integration: it must inspect the current worktree, rebase/merge the task branch back into the target branch, resolve conflicts, and finish the integration.
|
|
127
|
+
In this model, the development worker stops at “implementation complete and committed on the task branch”. The QA worker owns integration: it must inspect the current worktree, rebase/merge the task branch back into the target branch, resolve conflicts, and finish the integration. If a development worker merges early anyway, SPS absorbs that as an exception from git evidence and closes the task directly instead of forcing an extra QA run. 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 redesign that demotes `state.json` / `acp-state.json` to projections and re-centers recovery around PM state plus worktree/git evidence. See `docs/design/12-unified-runtime-state-machine.md` for the current unified state-machine model.
|
|
128
128
|
|
|
129
|
-
PTY transport now extends the same session/run model into the default CLI-backed worker path, but the restart boundary is now explicit. Within a running `tick` process, `WORKER_TRANSPORT=pty` still uses `sessionId/runId` for retries
|
|
129
|
+
PTY transport now extends the same session/run model into the default CLI-backed worker path, but the restart boundary is now explicit. Within a running `tick` process, `WORKER_TRANSPORT=pty` still uses `sessionId/runId` for retries on the same task phase. Across a `tick` restart, SPS no longer pretends it can recover the old PTY session; it recovers the task from `TaskLease + WorktreeEvidence`, judges completion from git/worktree evidence first, and starts a fresh PTY run in the same worktree only if work remains. `WORKER_TRANSPORT=acp` still keeps its session-based model. The PTY hardening sequence remains: 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`; v0.23.6 fixes PTY run lifecycle tracking so newly submitted runs no longer get marked `completed` during the first inspect cycle before the CLI actually leaves the prompt; v0.23.7 switches `sps worker dashboard` from raw PTY pane dumps to structured worker summaries; v0.23.9 validates persisted PTY sessions by PID before treating them as alive; v0.23.10 aligns PM and read-only views around runtime-owned cards; v0.23.11 introduces PM + worktree + session-first runtime projection; v0.23.12 moves recovery/execution onto `TaskLease + WorktreeEvidence`; v0.23.13 pulls monitor/closeout onto the same lease-first model; v0.23.14 completes the write-path migration through `RuntimeStore`; v0.23.15 finalizes PTY restart behavior as task-level recovery instead of fake session-level recovery; v0.23.17 moves merge ownership into the QA worker phase; v0.23.18 aligns recovery/projection so `Inprogress` always resumes development and `QA` always resumes integration; and v0.23.19 removes the old fixed merge/conflict path and makes completion evidence phase-aware. Codex has been verified on launch, task-level recovery, same-process resume, 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/monitor/closeout flow; Claude still depends on host-side `claude auth login` before reaching `ready`.
|
|
130
130
|
|
|
131
131
|
### MR_MODE=create (Optional)
|
|
132
132
|
|
|
@@ -829,7 +829,6 @@ sps monitor tick my-project --json
|
|
|
829
829
|
| `.sps/task_prompt.txt` | Development-phase compatibility prompt alias | No (.gitignore) |
|
|
830
830
|
| `.sps/development_prompt.txt` | Development-phase worker prompt | No (.gitignore) |
|
|
831
831
|
| `.sps/integration_prompt.txt` | Integration-phase worker prompt | No (.gitignore) |
|
|
832
|
-
| `.sps/merge.sh` | Legacy/manual merge fallback script | No (.gitignore) |
|
|
833
832
|
| `docs/DECISIONS.md` | Project knowledge base -- architecture decisions and technical choices | Yes (Worker auto-maintained) |
|
|
834
833
|
| `docs/CHANGELOG.md` | Project knowledge base -- change log | Yes (Worker auto-maintained) |
|
|
835
834
|
|
|
@@ -848,7 +847,6 @@ Prompt assembly order: Skill Profile -> CLAUDE.md/AGENTS.md -> DECISIONS.md/CHAN
|
|
|
848
847
|
3. On startup, the Worker reads CLAUDE.md to understand project rules (auto-discovered in interactive mode; auto-loaded from cwd in print mode)
|
|
849
848
|
4. Task-specific information is written into `.sps/development_prompt.txt` and `.sps/integration_prompt.txt` inside each worktree; `.sps/task_prompt.txt` remains as a development-phase compatibility alias
|
|
850
849
|
5. Development workers use the development prompt and stop at a committed task branch; QA workers use the integration prompt and complete merge/conflict work
|
|
851
|
-
6. `.sps/merge.sh` remains only as a legacy/manual fallback while the fixed merge path is being removed
|
|
852
850
|
|
|
853
851
|
### Project Knowledge Base
|
|
854
852
|
|
|
@@ -1112,7 +1110,7 @@ v0.16.0 introduced the `src/manager/` directory, decoupling Worker process manag
|
|
|
1112
1110
|
| Module | Lines | Responsibility |
|
|
1113
1111
|
|--------|-------|---------------|
|
|
1114
1112
|
| `supervisor.ts` | 288 | fd-redirected spawn (OS-level guaranteed output writing), holds child handle, exit callback triggers post-processing, three-layer env var merging (system -> global credentials -> project config) |
|
|
1115
|
-
| `completion-judge.ts` | 110 | git
|
|
1113
|
+
| `completion-judge.ts` | 110 | phase-aware git evidence checks (branch commits vs merged target), marker file detection, completion keyword fallback |
|
|
1116
1114
|
| `post-actions.ts` | 412 | Complete post-Worker-exit chain: merge -> PM state update -> slot release -> notify |
|
|
1117
1115
|
| `pm-client.ts` | 294 | Lightweight PM operation wrapper, supports Plane/Trello/Markdown backends |
|
|
1118
1116
|
| `resource-limiter.ts` | 103 | Global worker count cap check + memory check + launch interval control |
|
|
@@ -37,7 +37,7 @@ export async function executePipelineTick(project, flags) {
|
|
|
37
37
|
});
|
|
38
38
|
const pmClient = createPMClient(ctx.config);
|
|
39
39
|
const agentRuntime = createAgentRuntime(ctx);
|
|
40
|
-
const postActions = new PostActions(pmClient, supervisor, resourceLimiter, notifier,
|
|
40
|
+
const postActions = new PostActions(pmClient, supervisor, resourceLimiter, notifier, agentRuntime);
|
|
41
41
|
const engine = new ExecutionEngine(ctx, taskBackend, repoBackend, supervisor, completionJudge, postActions, resourceLimiter, notifier, agentRuntime);
|
|
42
42
|
const result = await engine.tick({ dryRun });
|
|
43
43
|
if (jsonOutput) {
|
|
@@ -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,iBAAiB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACpH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,KAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAChC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAElC,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,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3G,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,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC;QAC1C,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,IAAI,EAAE,EAAE,CAAC;QAC3E,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,MAAM,EAAE,EAAE,CAAC;QAC1E,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,IAAI,EAAE,EAAE,CAAC;KACnF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"pipelineTick.js","sourceRoot":"","sources":["../../src/commands/pipelineTick.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AA0IA;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAmKf"}
|
package/dist/commands/tick.js
CHANGED
|
@@ -10,7 +10,6 @@ import { createTaskBackend, createWorkerProvider, createRepoBackend, createNotif
|
|
|
10
10
|
import { ProcessSupervisor } from '../manager/supervisor.js';
|
|
11
11
|
import { CompletionJudge } from '../manager/completion-judge.js';
|
|
12
12
|
import { PostActions } from '../manager/post-actions.js';
|
|
13
|
-
import { MergeMutex } from '../manager/merge-mutex.js';
|
|
14
13
|
import { ResourceLimiter } from '../manager/resource-limiter.js';
|
|
15
14
|
import { Recovery } from '../manager/recovery.js';
|
|
16
15
|
import { createPMClient } from '../manager/pm-client.js';
|
|
@@ -80,8 +79,7 @@ function createRunner(project) {
|
|
|
80
79
|
const { supervisor, resourceLimiter, completionJudge } = getSharedModules();
|
|
81
80
|
// Create per-project Manager modules
|
|
82
81
|
const pmClient = createPMClient(ctx.config);
|
|
83
|
-
const
|
|
84
|
-
const postActions = new PostActions(pmClient, supervisor, resourceLimiter, notifier, mergeMutex, agentRuntime);
|
|
82
|
+
const postActions = new PostActions(pmClient, supervisor, resourceLimiter, notifier, agentRuntime);
|
|
85
83
|
return {
|
|
86
84
|
project,
|
|
87
85
|
ctx,
|
|
@@ -163,12 +161,10 @@ export async function executeTick(projects, flags) {
|
|
|
163
161
|
}));
|
|
164
162
|
// Per-project PostActions factory (each project uses its own PM config)
|
|
165
163
|
const runnerMap = new Map(runners.map(r => [r.project, r]));
|
|
166
|
-
const mergeMutexMap = new Map(runners.map(r => [r.project, new MergeMutex()]));
|
|
167
164
|
const postActionsFactory = (config) => {
|
|
168
165
|
const pmClient = createPMClient(config);
|
|
169
166
|
const runner = runnerMap.get(config.PROJECT_NAME);
|
|
170
|
-
|
|
171
|
-
return new PostActions(pmClient, supervisor, resourceLimiter, runner?.notifier || null, mm, runner?.agentRuntime || null);
|
|
167
|
+
return new PostActions(pmClient, supervisor, resourceLimiter, runner?.notifier || null, runner?.agentRuntime || null);
|
|
172
168
|
};
|
|
173
169
|
const recovery = new Recovery(supervisor, completionJudge, postActionsFactory, resourceLimiter);
|
|
174
170
|
const result = await recovery.recover(projectInfos);
|
|
@@ -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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"}
|
|
@@ -46,7 +46,7 @@ export async function executeWorkerLaunch(project, seq, flags) {
|
|
|
46
46
|
});
|
|
47
47
|
const pmClient = createPMClient(ctx.config);
|
|
48
48
|
const agentRuntime = createAgentRuntime(ctx);
|
|
49
|
-
const postActions = new PostActions(pmClient, supervisor, resourceLimiter, notifier,
|
|
49
|
+
const postActions = new PostActions(pmClient, supervisor, resourceLimiter, notifier, agentRuntime);
|
|
50
50
|
const engine = new ExecutionEngine(ctx, taskBackend, repoBackend, supervisor, completionJudge, postActions, resourceLimiter, notifier, agentRuntime);
|
|
51
51
|
const result = await engine.launchSingle(seq, { dryRun });
|
|
52
52
|
if (jsonOutput) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerLaunch.js","sourceRoot":"","sources":["../../src/commands/workerLaunch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"workerLaunch.js","sourceRoot":"","sources":["../../src/commands/workerLaunch.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,9 +27,6 @@ export declare class CloseoutEngine {
|
|
|
27
27
|
private processQaCard;
|
|
28
28
|
private inspectQaWorker;
|
|
29
29
|
private startIntegrationWorker;
|
|
30
|
-
private processOpenMr;
|
|
31
|
-
private handleCiFailure;
|
|
32
|
-
private attemptMerge;
|
|
33
30
|
/**
|
|
34
31
|
* Release resources after successful merge. Each step failure MUST NOT
|
|
35
32
|
* block subsequent steps — log and continue.
|
|
@@ -42,13 +39,6 @@ export declare class CloseoutEngine {
|
|
|
42
39
|
* 5. Mark worktree for cleanup
|
|
43
40
|
*/
|
|
44
41
|
private releaseAndDone;
|
|
45
|
-
/**
|
|
46
|
-
* Attempt to resolve merge conflict automatically.
|
|
47
|
-
* L1: auto rebase + force push
|
|
48
|
-
* L2: send conflict to original worker to resolve
|
|
49
|
-
* Returns true if resolution was initiated (wait for next tick to verify).
|
|
50
|
-
*/
|
|
51
|
-
private resolveConflict;
|
|
52
42
|
/**
|
|
53
43
|
* Process the worktreeCleanup queue: remove worktree directories and
|
|
54
44
|
* delete local branches that have been merged.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CloseoutEngine.d.ts","sourceRoot":"","sources":["../../src/engines/CloseoutEngine.ts"],"names":[],"mappings":"AAGA,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,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAyC,MAAM,oBAAoB,CAAC;AAM/F;;;;;;;GAOG;AACH,qBAAa,cAAc;IAKvB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,YAAY;IATtB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,YAAY,CAAe;gBAGzB,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,QAAQ,CAAC,EAAE,QAAQ,YAAA,EACnB,YAAY,GAAE,YAAY,GAAG,IAAW;IAM5C,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC;YAoEtB,aAAa;YAqDb,eAAe;YA6Hf,sBAAsB;
|
|
1
|
+
{"version":3,"file":"CloseoutEngine.d.ts","sourceRoot":"","sources":["../../src/engines/CloseoutEngine.ts"],"names":[],"mappings":"AAGA,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,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAyC,MAAM,oBAAoB,CAAC;AAM/F;;;;;;;GAOG;AACH,qBAAa,cAAc;IAKvB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,YAAY;IATtB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,YAAY,CAAe;gBAGzB,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,QAAQ,CAAC,EAAE,QAAQ,YAAA,EACnB,YAAY,GAAE,YAAY,GAAG,IAAW;IAM5C,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC;YAoEtB,aAAa;YAqDb,eAAe;YA6Hf,sBAAsB;IA2JpC;;;;;;;;;;OAUG;YACW,cAAc;IAsH5B;;;;;OAKG;YACW,gBAAgB;IA4C9B,OAAO,CAAC,eAAe;YAST,YAAY;YAMZ,YAAY;YASZ,WAAW;YASX,UAAU;YAYV,eAAe;IAyD7B,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,cAAc;YAmBR,aAAa;CAiB5B"}
|
|
@@ -390,247 +390,6 @@ export class CloseoutEngine {
|
|
|
390
390
|
});
|
|
391
391
|
this.logEvent('qa-launch', seq, 'ok', { worker: slotName });
|
|
392
392
|
}
|
|
393
|
-
async processOpenMr(card, mrStatus, actions, recommendedActions) {
|
|
394
|
-
const seq = card.seq;
|
|
395
|
-
// Check merge conflicts — attempt auto-resolution (L1 rebase → L2 worker)
|
|
396
|
-
if (mrStatus.mergeStatus === 'cannot_be_merged') {
|
|
397
|
-
this.log.warn(`seq ${seq}: MR has merge conflicts, attempting resolution`);
|
|
398
|
-
await this.notifySafe(`seq:${seq} merge conflict detected — attempting auto-resolution`, 'warning');
|
|
399
|
-
const resolved = await this.resolveConflict(card, actions);
|
|
400
|
-
if (resolved) {
|
|
401
|
-
// Conflict resolved — skip this tick, let next tick re-check CI/merge status
|
|
402
|
-
return;
|
|
403
|
-
}
|
|
404
|
-
// Resolution failed — mark CONFLICT
|
|
405
|
-
await this.addLabelSafe(seq, 'CONFLICT');
|
|
406
|
-
await this.commentSafe(seq, 'Merge conflict could not be auto-resolved. Manual intervention needed.');
|
|
407
|
-
await this.notifySafe(`seq:${seq} conflict auto-resolution FAILED — needs manual fix`, 'error');
|
|
408
|
-
actions.push({
|
|
409
|
-
action: 'mark-conflict',
|
|
410
|
-
entity: `seq:${seq}`,
|
|
411
|
-
result: 'ok',
|
|
412
|
-
message: 'Conflict unresolvable',
|
|
413
|
-
});
|
|
414
|
-
this.logEvent('closeout-conflict', seq, 'ok');
|
|
415
|
-
return;
|
|
416
|
-
}
|
|
417
|
-
// Determine effective CI mode:
|
|
418
|
-
// - CI_MODE=none → no CI, skip checks
|
|
419
|
-
// - CI_MODE=gitlab/local but ciStatus=unknown (no pipeline) → treat as no CI
|
|
420
|
-
const noCi = this.ctx.ciMode === 'none'
|
|
421
|
-
|| (mrStatus.ciStatus === 'unknown' && mrStatus.iid != null);
|
|
422
|
-
if (noCi) {
|
|
423
|
-
// No CI configured or no pipeline on this MR → go straight to merge
|
|
424
|
-
this.log.info(`seq ${seq}: No CI (mode=${this.ctx.ciMode}, ciStatus=${mrStatus.ciStatus}), proceeding to merge`);
|
|
425
|
-
if (mrStatus.iid != null) {
|
|
426
|
-
await this.attemptMerge(card, mrStatus.iid, actions);
|
|
427
|
-
}
|
|
428
|
-
else {
|
|
429
|
-
actions.push({
|
|
430
|
-
action: 'skip',
|
|
431
|
-
entity: `seq:${seq}`,
|
|
432
|
-
result: 'skip',
|
|
433
|
-
message: 'No CI, but MR has no iid',
|
|
434
|
-
});
|
|
435
|
-
}
|
|
436
|
-
return;
|
|
437
|
-
}
|
|
438
|
-
// CI exists — check status
|
|
439
|
-
switch (mrStatus.ciStatus) {
|
|
440
|
-
case 'running':
|
|
441
|
-
case 'pending':
|
|
442
|
-
case 'created':
|
|
443
|
-
// CI still running → skip, wait for next tick
|
|
444
|
-
this.log.debug(`seq ${seq}: CI is ${mrStatus.ciStatus}, waiting`);
|
|
445
|
-
actions.push({
|
|
446
|
-
action: 'skip',
|
|
447
|
-
entity: `seq:${seq}`,
|
|
448
|
-
result: 'skip',
|
|
449
|
-
message: `CI is ${mrStatus.ciStatus}`,
|
|
450
|
-
});
|
|
451
|
-
return;
|
|
452
|
-
case 'failed':
|
|
453
|
-
await this.handleCiFailure(card, actions, recommendedActions);
|
|
454
|
-
return;
|
|
455
|
-
case 'success':
|
|
456
|
-
if (mrStatus.mergeStatus === 'can_be_merged' && mrStatus.iid != null) {
|
|
457
|
-
await this.attemptMerge(card, mrStatus.iid, actions);
|
|
458
|
-
}
|
|
459
|
-
else if (mrStatus.mergeStatus === 'checking') {
|
|
460
|
-
this.log.debug(`seq ${seq}: merge status is 'checking', waiting`);
|
|
461
|
-
actions.push({
|
|
462
|
-
action: 'skip',
|
|
463
|
-
entity: `seq:${seq}`,
|
|
464
|
-
result: 'skip',
|
|
465
|
-
message: 'Merge status checking',
|
|
466
|
-
});
|
|
467
|
-
}
|
|
468
|
-
else {
|
|
469
|
-
this.log.warn(`seq ${seq}: CI passed but merge status is ${mrStatus.mergeStatus}`);
|
|
470
|
-
recommendedActions.push({
|
|
471
|
-
action: `Check MR merge status for seq:${seq}`,
|
|
472
|
-
reason: `CI passed but mergeStatus=${mrStatus.mergeStatus}`,
|
|
473
|
-
severity: 'warning',
|
|
474
|
-
autoExecutable: false,
|
|
475
|
-
requiresConfirmation: true,
|
|
476
|
-
safeToRetry: true,
|
|
477
|
-
});
|
|
478
|
-
actions.push({
|
|
479
|
-
action: 'skip',
|
|
480
|
-
entity: `seq:${seq}`,
|
|
481
|
-
result: 'skip',
|
|
482
|
-
message: `CI passed, mergeStatus=${mrStatus.mergeStatus}`,
|
|
483
|
-
});
|
|
484
|
-
}
|
|
485
|
-
return;
|
|
486
|
-
default:
|
|
487
|
-
// Unexpected CI status
|
|
488
|
-
this.log.debug(`seq ${seq}: CI status is ${mrStatus.ciStatus}, skipping`);
|
|
489
|
-
actions.push({
|
|
490
|
-
action: 'skip',
|
|
491
|
-
entity: `seq:${seq}`,
|
|
492
|
-
result: 'skip',
|
|
493
|
-
message: `CI status unexpected: ${mrStatus.ciStatus}`,
|
|
494
|
-
});
|
|
495
|
-
return;
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
// ─── CI Failure Self-Repair (doc 12 §4) ────────────────────────
|
|
499
|
-
async handleCiFailure(card, actions, _recommendedActions) {
|
|
500
|
-
const seq = card.seq;
|
|
501
|
-
const branchName = this.buildBranchName(card);
|
|
502
|
-
const maxAttempts = this.ctx.config.AUTOFIX_ATTEMPTS;
|
|
503
|
-
// Read autofix attempts from card meta
|
|
504
|
-
let meta;
|
|
505
|
-
try {
|
|
506
|
-
meta = await this.taskBackend.metaRead(seq);
|
|
507
|
-
}
|
|
508
|
-
catch {
|
|
509
|
-
meta = {};
|
|
510
|
-
}
|
|
511
|
-
const autofixAttempts = typeof meta.autofixAttempts === 'number' ? meta.autofixAttempts : 0;
|
|
512
|
-
if (autofixAttempts < maxAttempts) {
|
|
513
|
-
// Try self-repair: prefer lease/worktree evidence, then reuse or rebuild a worker slot.
|
|
514
|
-
const state = this.runtimeStore.readState();
|
|
515
|
-
const runtime = this.runtimeStore.getTask(seq, state);
|
|
516
|
-
const slotName = runtime.slotName ||
|
|
517
|
-
this.runtimeStore.findAvailableSlot(state);
|
|
518
|
-
const slotState = slotName ? state.workers[slotName] || null : null;
|
|
519
|
-
const session = slotState?.tmuxSession || null;
|
|
520
|
-
const worktree = runtime.lease?.worktree || runtime.evidence?.worktree || slotState?.worktree || '';
|
|
521
|
-
const isPrintMode = slotState?.mode === 'print';
|
|
522
|
-
const isAcpMode = !!slotState &&
|
|
523
|
-
(slotState.transport === 'acp' ||
|
|
524
|
-
slotState.transport === 'pty' ||
|
|
525
|
-
slotState.mode === 'acp' ||
|
|
526
|
-
slotState.mode === 'pty');
|
|
527
|
-
if (slotName && (session || (isAcpMode && this.agentRuntime && worktree))) {
|
|
528
|
-
try {
|
|
529
|
-
const fixPrompt = `CI pipeline has failed. Please review the CI logs, fix the issues, commit, and push. This is autofix attempt ${autofixAttempts + 1} of ${maxAttempts}.`;
|
|
530
|
-
if (isAcpMode && this.agentRuntime) {
|
|
531
|
-
await this.resumeAcpWorker(slotName, seq, worktree, branchName, fixPrompt, 'active', 'closeout-autofix-resume');
|
|
532
|
-
}
|
|
533
|
-
else if (isPrintMode) {
|
|
534
|
-
// Print mode: spawn new process with --resume (process already exited)
|
|
535
|
-
const resumeResult = await this.workerProvider.sendFix(session, fixPrompt, slotState?.sessionId || undefined);
|
|
536
|
-
// Update state with new process info
|
|
537
|
-
if (resumeResult && typeof resumeResult === 'object' && 'pid' in resumeResult) {
|
|
538
|
-
this.runtimeStore.updateState('closeout-autofix-resume', (freshState) => {
|
|
539
|
-
if (freshState.workers[slotName]) {
|
|
540
|
-
freshState.workers[slotName].pid = resumeResult.pid;
|
|
541
|
-
freshState.workers[slotName].outputFile = resumeResult.outputFile;
|
|
542
|
-
if (resumeResult.sessionId) {
|
|
543
|
-
freshState.workers[slotName].sessionId = resumeResult.sessionId;
|
|
544
|
-
}
|
|
545
|
-
freshState.workers[slotName].exitCode = null;
|
|
546
|
-
}
|
|
547
|
-
});
|
|
548
|
-
}
|
|
549
|
-
}
|
|
550
|
-
else {
|
|
551
|
-
// Interactive mode: send text to live tmux session
|
|
552
|
-
const inspection = await this.workerProvider.inspect(session);
|
|
553
|
-
if (!inspection.alive) {
|
|
554
|
-
this.log.warn(`seq ${seq}: Worker session dead, cannot autofix`);
|
|
555
|
-
// Fall through to NEEDS-FIX below
|
|
556
|
-
throw new Error('Worker session dead');
|
|
557
|
-
}
|
|
558
|
-
await this.workerProvider.sendFix(session, fixPrompt);
|
|
559
|
-
}
|
|
560
|
-
// Increment counter
|
|
561
|
-
await this.taskBackend.metaWrite(seq, {
|
|
562
|
-
...meta,
|
|
563
|
-
autofixAttempts: autofixAttempts + 1,
|
|
564
|
-
});
|
|
565
|
-
this.log.info(`seq ${seq}: CI failed, sent fix prompt (attempt ${autofixAttempts + 1}/${maxAttempts})`);
|
|
566
|
-
actions.push({
|
|
567
|
-
action: 'autofix',
|
|
568
|
-
entity: `seq:${seq}`,
|
|
569
|
-
result: 'ok',
|
|
570
|
-
message: `Sent fix prompt (attempt ${autofixAttempts + 1}/${maxAttempts})`,
|
|
571
|
-
});
|
|
572
|
-
this.logEvent('closeout-autofix', seq, 'ok', {
|
|
573
|
-
attempt: autofixAttempts + 1,
|
|
574
|
-
max: maxAttempts,
|
|
575
|
-
});
|
|
576
|
-
return;
|
|
577
|
-
}
|
|
578
|
-
catch (err) {
|
|
579
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
580
|
-
this.log.warn(`seq ${seq}: Failed to send fix prompt: ${msg}`);
|
|
581
|
-
}
|
|
582
|
-
}
|
|
583
|
-
// Worker session not found or dead — fall through to NEEDS-FIX
|
|
584
|
-
this.log.warn(`seq ${seq}: CI failed, no live worker session for autofix`);
|
|
585
|
-
}
|
|
586
|
-
else {
|
|
587
|
-
this.log.warn(`seq ${seq}: CI failed, autofix attempts exhausted (${autofixAttempts}/${maxAttempts})`);
|
|
588
|
-
}
|
|
589
|
-
// Exhausted or no worker → mark NEEDS-FIX
|
|
590
|
-
await this.markNeedsFix(seq, `CI failed after ${autofixAttempts} autofix attempt(s)`);
|
|
591
|
-
actions.push({
|
|
592
|
-
action: 'mark-needs-fix',
|
|
593
|
-
entity: `seq:${seq}`,
|
|
594
|
-
result: 'ok',
|
|
595
|
-
message: `CI failed, autofix exhausted (${autofixAttempts}/${maxAttempts})`,
|
|
596
|
-
});
|
|
597
|
-
this.logEvent('closeout-ci-fail', seq, 'ok', { autofixAttempts });
|
|
598
|
-
}
|
|
599
|
-
// ─── Merge Attempt ─────────────────────────────────────────────
|
|
600
|
-
async attemptMerge(card, iid, actions) {
|
|
601
|
-
const seq = card.seq;
|
|
602
|
-
this.log.info(`seq ${seq}: Attempting merge (iid=${iid})`);
|
|
603
|
-
try {
|
|
604
|
-
const mergeResult = await this.repoBackend.mergeMr(iid);
|
|
605
|
-
if (mergeResult.merged) {
|
|
606
|
-
this.log.ok(`seq ${seq}: MR merged successfully`);
|
|
607
|
-
await this.releaseAndDone(card, actions);
|
|
608
|
-
}
|
|
609
|
-
else {
|
|
610
|
-
// Merge failed
|
|
611
|
-
this.log.warn(`seq ${seq}: Merge failed: ${mergeResult.error || 'unknown reason'}`);
|
|
612
|
-
await this.markNeedsFix(seq, `Merge failed: ${mergeResult.error || 'unknown'}`);
|
|
613
|
-
actions.push({
|
|
614
|
-
action: 'mark-needs-fix',
|
|
615
|
-
entity: `seq:${seq}`,
|
|
616
|
-
result: 'ok',
|
|
617
|
-
message: `Merge failed: ${mergeResult.error || 'unknown'}`,
|
|
618
|
-
});
|
|
619
|
-
this.logEvent('closeout-merge-fail', seq, 'ok', { error: mergeResult.error });
|
|
620
|
-
}
|
|
621
|
-
}
|
|
622
|
-
catch (err) {
|
|
623
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
624
|
-
this.log.error(`seq ${seq}: Merge threw: ${msg}`);
|
|
625
|
-
await this.markNeedsFix(seq, `Merge error: ${msg}`);
|
|
626
|
-
actions.push({
|
|
627
|
-
action: 'mark-needs-fix',
|
|
628
|
-
entity: `seq:${seq}`,
|
|
629
|
-
result: 'ok',
|
|
630
|
-
message: `Merge error: ${msg}`,
|
|
631
|
-
});
|
|
632
|
-
}
|
|
633
|
-
}
|
|
634
393
|
// ─── Resource Release (01 §10.3.3) ─────────────────────────────
|
|
635
394
|
/**
|
|
636
395
|
* Release resources after successful merge. Each step failure MUST NOT
|
|
@@ -754,123 +513,6 @@ export class CloseoutEngine {
|
|
|
754
513
|
});
|
|
755
514
|
this.logEvent('closeout', seq, actionResult, errors.length > 0 ? { errors } : undefined);
|
|
756
515
|
}
|
|
757
|
-
// ─── Conflict Resolution (L1 rebase → L2 worker) ──────────────
|
|
758
|
-
/**
|
|
759
|
-
* Attempt to resolve merge conflict automatically.
|
|
760
|
-
* L1: auto rebase + force push
|
|
761
|
-
* L2: send conflict to original worker to resolve
|
|
762
|
-
* Returns true if resolution was initiated (wait for next tick to verify).
|
|
763
|
-
*/
|
|
764
|
-
async resolveConflict(card, actions) {
|
|
765
|
-
const seq = card.seq;
|
|
766
|
-
const branchName = this.buildBranchName(card);
|
|
767
|
-
const state = this.runtimeStore.readState();
|
|
768
|
-
const runtime = this.runtimeStore.getTask(seq, state);
|
|
769
|
-
const baseBranch = this.ctx.mergeBranch;
|
|
770
|
-
// Find worktree for this card
|
|
771
|
-
const worktree = runtime.lease?.worktree || runtime.evidence?.worktree || runtime.slot?.worktree;
|
|
772
|
-
if (!worktree) {
|
|
773
|
-
this.log.warn(`seq ${seq}: No worktree found for conflict resolution`);
|
|
774
|
-
return false;
|
|
775
|
-
}
|
|
776
|
-
// ── L1: Auto rebase ──────────────────────────────────────────
|
|
777
|
-
this.log.info(`seq ${seq}: L1 — attempting auto rebase onto ${baseBranch}`);
|
|
778
|
-
try {
|
|
779
|
-
const rebaseResult = await this.repoBackend.rebase(worktree, baseBranch);
|
|
780
|
-
if (rebaseResult.success) {
|
|
781
|
-
// Rebase succeeded — force push
|
|
782
|
-
await this.repoBackend.push(worktree, branchName, true);
|
|
783
|
-
this.log.ok(`seq ${seq}: L1 rebase succeeded, pushed with --force-with-lease`);
|
|
784
|
-
await this.notifySafe(`seq:${seq} conflict auto-resolved via rebase`, 'success');
|
|
785
|
-
actions.push({
|
|
786
|
-
action: 'conflict-rebase',
|
|
787
|
-
entity: `seq:${seq}`,
|
|
788
|
-
result: 'ok',
|
|
789
|
-
message: 'Auto rebase succeeded, waiting for CI re-check',
|
|
790
|
-
});
|
|
791
|
-
this.logEvent('conflict-rebase', seq, 'ok');
|
|
792
|
-
return true;
|
|
793
|
-
}
|
|
794
|
-
// Rebase failed — real conflicts
|
|
795
|
-
this.log.warn(`seq ${seq}: L1 rebase failed, conflicts in: ${(rebaseResult.conflictFiles || []).join(', ')}`);
|
|
796
|
-
await this.notifySafe(`seq:${seq} auto-rebase failed — conflict files: ${(rebaseResult.conflictFiles || []).join(', ')}`, 'warning');
|
|
797
|
-
}
|
|
798
|
-
catch (err) {
|
|
799
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
800
|
-
this.log.warn(`seq ${seq}: L1 rebase threw: ${msg}`);
|
|
801
|
-
}
|
|
802
|
-
// ── L2: Send to original worker ──────────────────────────────
|
|
803
|
-
const slotName = runtime.slotName || this.runtimeStore.findAvailableSlot(state);
|
|
804
|
-
if (!slotName)
|
|
805
|
-
return false;
|
|
806
|
-
const slotState = state.workers[slotName];
|
|
807
|
-
const session = slotState?.tmuxSession || null;
|
|
808
|
-
const isPrintMode = slotState?.mode === 'print';
|
|
809
|
-
const isAcpMode = !!slotState &&
|
|
810
|
-
(slotState.transport === 'acp' ||
|
|
811
|
-
slotState.transport === 'pty' ||
|
|
812
|
-
slotState.mode === 'acp' ||
|
|
813
|
-
slotState.mode === 'pty');
|
|
814
|
-
try {
|
|
815
|
-
if (isAcpMode && this.agentRuntime) {
|
|
816
|
-
await this.resumeAcpWorker(slotName, seq, worktree, branchName, [
|
|
817
|
-
`There is a merge conflict on branch ${branchName} against ${baseBranch}.`,
|
|
818
|
-
`Working directory: ${worktree}`,
|
|
819
|
-
'Please resolve the conflict, continue the rebase/merge, and push the fixed branch.',
|
|
820
|
-
].join('\n'), 'resolving', 'closeout-conflict-resume');
|
|
821
|
-
}
|
|
822
|
-
else if (isPrintMode) {
|
|
823
|
-
if (!session) {
|
|
824
|
-
this.log.warn(`seq ${seq}: No worker session for L2 conflict resolution`);
|
|
825
|
-
return false;
|
|
826
|
-
}
|
|
827
|
-
// Print mode: spawn new process with --resume
|
|
828
|
-
this.log.info(`seq ${seq}: L2 — spawning conflict resolution via --resume`);
|
|
829
|
-
const resumeResult = await this.workerProvider.resolveConflict(session, worktree, branchName, slotState?.sessionId || undefined);
|
|
830
|
-
// Update state with new process info
|
|
831
|
-
if (resumeResult && typeof resumeResult === 'object' && 'pid' in resumeResult) {
|
|
832
|
-
this.runtimeStore.updateState('closeout-conflict-resume', (freshState) => {
|
|
833
|
-
if (freshState.workers[slotName]) {
|
|
834
|
-
freshState.workers[slotName].pid = resumeResult.pid;
|
|
835
|
-
freshState.workers[slotName].outputFile = resumeResult.outputFile;
|
|
836
|
-
if (resumeResult.sessionId) {
|
|
837
|
-
freshState.workers[slotName].sessionId = resumeResult.sessionId;
|
|
838
|
-
}
|
|
839
|
-
freshState.workers[slotName].exitCode = null;
|
|
840
|
-
}
|
|
841
|
-
});
|
|
842
|
-
}
|
|
843
|
-
}
|
|
844
|
-
else {
|
|
845
|
-
if (!session) {
|
|
846
|
-
this.log.warn(`seq ${seq}: No live worker session for interactive L2 conflict resolution`);
|
|
847
|
-
return false;
|
|
848
|
-
}
|
|
849
|
-
// Interactive mode: send to live tmux session
|
|
850
|
-
const inspection = await this.workerProvider.inspect(session);
|
|
851
|
-
if (!inspection.alive) {
|
|
852
|
-
this.log.warn(`seq ${seq}: Worker session dead, cannot do L2 resolution`);
|
|
853
|
-
return false;
|
|
854
|
-
}
|
|
855
|
-
this.log.info(`seq ${seq}: L2 — sending conflict resolution to worker ${session}`);
|
|
856
|
-
await this.workerProvider.resolveConflict(session, worktree, branchName);
|
|
857
|
-
}
|
|
858
|
-
await this.notifySafe(`seq:${seq} sent conflict resolution instructions to worker`, 'info');
|
|
859
|
-
actions.push({
|
|
860
|
-
action: 'conflict-worker',
|
|
861
|
-
entity: `seq:${seq}`,
|
|
862
|
-
result: 'ok',
|
|
863
|
-
message: 'Sent conflict resolution to worker, waiting for fix',
|
|
864
|
-
});
|
|
865
|
-
this.logEvent('conflict-worker', seq, 'ok');
|
|
866
|
-
return true;
|
|
867
|
-
}
|
|
868
|
-
catch (err) {
|
|
869
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
870
|
-
this.log.error(`seq ${seq}: L2 conflict resolution failed: ${msg}`);
|
|
871
|
-
return false;
|
|
872
|
-
}
|
|
873
|
-
}
|
|
874
516
|
// ─── Worktree Cleanup ──────────────────────────────────────────
|
|
875
517
|
/**
|
|
876
518
|
* Process the worktreeCleanup queue: remove worktree directories and
|