baxian 1.2.55 → 1.2.57
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/dist/agent/manager.d.ts +43 -29
- package/dist/agent/manager.d.ts.map +1 -1
- package/dist/agent/manager.js +873 -386
- package/dist/agent/manager.js.map +1 -1
- package/dist/agent/net-exec.d.ts +1 -0
- package/dist/agent/net-exec.d.ts.map +1 -1
- package/dist/agent/net-exec.js +6 -0
- package/dist/agent/net-exec.js.map +1 -1
- package/dist/agent/prompt.d.ts.map +1 -1
- package/dist/agent/prompt.js +2 -1
- package/dist/agent/prompt.js.map +1 -1
- package/dist/agent/repo-store.d.ts +15 -1
- package/dist/agent/repo-store.d.ts.map +1 -1
- package/dist/agent/repo-store.js +207 -22
- package/dist/agent/repo-store.js.map +1 -1
- package/dist/agent/review-transport.d.ts +5 -1
- package/dist/agent/review-transport.d.ts.map +1 -1
- package/dist/agent/review-transport.js +140 -18
- package/dist/agent/review-transport.js.map +1 -1
- package/dist/agent/tmux.d.ts +21 -2
- package/dist/agent/tmux.d.ts.map +1 -1
- package/dist/agent/tmux.js +200 -16
- package/dist/agent/tmux.js.map +1 -1
- package/dist/api/config.d.ts.map +1 -1
- package/dist/api/config.js +45 -8
- package/dist/api/config.js.map +1 -1
- package/dist/api/projects.d.ts.map +1 -1
- package/dist/api/projects.js +31 -26
- package/dist/api/projects.js.map +1 -1
- package/dist/api/tasks.js +2 -2
- package/dist/api/tasks.js.map +1 -1
- package/dist/config/validator.js +23 -11
- package/dist/config/validator.js.map +1 -1
- package/dist/event/handlers.d.ts.map +1 -1
- package/dist/event/handlers.js +36 -26
- package/dist/event/handlers.js.map +1 -1
- package/dist/event/server-handlers.d.ts.map +1 -1
- package/dist/event/server-handlers.js +46 -26
- package/dist/event/server-handlers.js.map +1 -1
- package/dist/lifecycle/restart-sentinel.d.ts.map +1 -1
- package/dist/lifecycle/restart-sentinel.js +10 -3
- package/dist/lifecycle/restart-sentinel.js.map +1 -1
- package/dist/shared/constants.d.ts +3 -1
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +8 -0
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/types.d.ts +21 -5
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/types.js +8 -0
- package/dist/shared/types.js.map +1 -1
- package/dist/skills/baxian-research/SKILL.md +28 -0
- package/dist/skills/baxian-server-feedback/SKILL.md +3 -3
- package/dist/state/error-record-store.d.ts.map +1 -1
- package/dist/state/error-record-store.js +12 -3
- package/dist/state/error-record-store.js.map +1 -1
- package/dist/state/process-lock.d.ts.map +1 -1
- package/dist/state/process-lock.js +11 -2
- package/dist/state/process-lock.js.map +1 -1
- package/dist/state/review-store.d.ts +4 -4
- package/dist/state/review-store.d.ts.map +1 -1
- package/dist/state/review-store.js +57 -6
- package/dist/state/review-store.js.map +1 -1
- package/dist/state/task-store.d.ts.map +1 -1
- package/dist/state/task-store.js +115 -20
- package/dist/state/task-store.js.map +1 -1
- package/dist/web/assets/index-3Ypk8Gfo.js +13 -0
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
- package/dist/web/assets/index-BmnSiyut.js +0 -13
package/dist/event/handlers.js
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { createSignalToken } from '../agent/phase-signal.js';
|
|
2
|
-
import { BRANCH_PREFIX, TASK_TERMINAL_STATUS_SET, isValidBranchName } from '../shared/index.js';
|
|
2
|
+
import { BRANCH_PREFIX, TASK_TERMINAL_STATUS_SET, isSpecStagePhase, isValidBranchName, } from '../shared/index.js';
|
|
3
3
|
import { DispatchTerminalError, EnsureSessionError } from '../agent/manager.js';
|
|
4
4
|
const HEAD_SHA_RE = /^[0-9a-f]{40}$/i;
|
|
5
5
|
function validHeadSha(value) {
|
|
6
6
|
return typeof value === 'string' && HEAD_SHA_RE.test(value) ? value : undefined;
|
|
7
7
|
}
|
|
8
8
|
async function reArmDevelopWatcher(manager, task, agentId, opts = {}) {
|
|
9
|
-
const kinds = task.phase === '
|
|
9
|
+
const kinds = task.phase === 'research'
|
|
10
|
+
? ['spec-done']
|
|
11
|
+
: task.phase === 'code'
|
|
12
|
+
? ['pr-created']
|
|
13
|
+
: ['spec-done', 'pr-created'];
|
|
10
14
|
await manager.setupPhaseSignal(task.id, agentId, kinds, { skipSnapshot: opts.skipSnapshot ?? true });
|
|
11
15
|
}
|
|
12
16
|
async function emitIntervention(bus, projectId, agentId, taskId, data) {
|
|
@@ -340,8 +344,8 @@ async function handlePrCodePush(bus, manager, event) {
|
|
|
340
344
|
|| previousStatus === 'approved' || previousStatus === 'merge-ready'
|
|
341
345
|
? 'recheck'
|
|
342
346
|
: 'review';
|
|
343
|
-
const
|
|
344
|
-
if (!
|
|
347
|
+
const qaId = transitioned.qaAgentId;
|
|
348
|
+
if (!qaId) {
|
|
345
349
|
if (!devAlreadyWaiting && !(await manager.markAgentWaiting(agentId, transitioned.id))) {
|
|
346
350
|
await emitIntervention(bus, transitioned.projectId, transitioned.agentId, transitioned.id, {
|
|
347
351
|
phase: 'dev-wait-gate-failed-no-qa',
|
|
@@ -349,6 +353,16 @@ async function handlePrCodePush(bus, manager, event) {
|
|
|
349
353
|
}
|
|
350
354
|
return;
|
|
351
355
|
}
|
|
356
|
+
const qa = manager.getAgentConfig(qaId);
|
|
357
|
+
if (!qa || qa.role !== 'qa') {
|
|
358
|
+
if (!devAlreadyWaiting)
|
|
359
|
+
await manager.markAgentWaiting(agentId, transitioned.id).catch(() => false);
|
|
360
|
+
await emitIntervention(bus, transitioned.projectId, transitioned.agentId, transitioned.id, {
|
|
361
|
+
phase: 'qa-config-missing',
|
|
362
|
+
qaAgentId: qaId,
|
|
363
|
+
});
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
352
366
|
const acquired = await manager.acquireAgentForTask(qa.id, transitioned.id, qaPhase);
|
|
353
367
|
if (!acquired) {
|
|
354
368
|
await emitIntervention(bus, transitioned.projectId, transitioned.agentId, transitioned.id, {
|
|
@@ -358,7 +372,6 @@ async function handlePrCodePush(bus, manager, event) {
|
|
|
358
372
|
});
|
|
359
373
|
return;
|
|
360
374
|
}
|
|
361
|
-
await manager.updateTask(transitioned.id, { qaAgentId: qa.id });
|
|
362
375
|
const { token: dispatchToken, armed } = await manager.rotateAndSetupPhaseSignal(transitioned.id, qa.id, ['pr-approved', 'pr-changes-requested']);
|
|
363
376
|
if (!armed) {
|
|
364
377
|
console.warn(`[EventHandler] pr.updated verdict watcher failed to arm for task=${transitioned.id} (${qaPhase}); rolling back recheck dispatch`);
|
|
@@ -374,9 +387,6 @@ async function handlePrCodePush(bus, manager, event) {
|
|
|
374
387
|
return;
|
|
375
388
|
}
|
|
376
389
|
}
|
|
377
|
-
else {
|
|
378
|
-
await manager.updateTask(transitioned.id, { qaAgentId: undefined });
|
|
379
|
-
}
|
|
380
390
|
await manager.releaseAgentForTask(qa.id, transitioned.id, 'idle').catch(err => {
|
|
381
391
|
console.error(`[EventHandler] pr.updated releaseAgentForTask(QA=${qa.id}) after arm-failure rollback failed:`, err);
|
|
382
392
|
return false;
|
|
@@ -425,7 +435,6 @@ async function handlePrCodePush(bus, manager, event) {
|
|
|
425
435
|
}
|
|
426
436
|
}
|
|
427
437
|
else {
|
|
428
|
-
await manager.updateTask(transitioned.id, { qaAgentId: undefined });
|
|
429
438
|
await manager.releaseAgentForTask(qa.id, transitioned.id, 'idle')
|
|
430
439
|
.catch(err => {
|
|
431
440
|
console.error(`[EventHandler] pr.updated releaseAgentForTask(QA=${qa.id}) after start-not-true failed:`, err);
|
|
@@ -639,20 +648,12 @@ async function handleMaxRounds(bus, manager, task, prPatch, reviewedRound) {
|
|
|
639
648
|
if (transitioned.qaAgentId) {
|
|
640
649
|
const qaState = await manager.getAgentState(transitioned.qaAgentId);
|
|
641
650
|
if (qaState?.taskId === transitioned.id) {
|
|
642
|
-
|
|
651
|
+
await manager
|
|
643
652
|
.releaseAgentForTask(transitioned.qaAgentId, transitioned.id, 'idle', { allowAwaitingHuman: true })
|
|
644
653
|
.catch(err => {
|
|
645
654
|
console.error(`[EventHandler] max_rounds releaseAgentForTask(QA=${transitioned.qaAgentId}) failed:`, err);
|
|
646
655
|
return false;
|
|
647
656
|
});
|
|
648
|
-
if (qaReleased) {
|
|
649
|
-
await manager.updateTask(transitioned.id, { qaAgentId: undefined })
|
|
650
|
-
.catch(err => console.error(`[EventHandler] max_rounds clear qaAgentId(${transitioned.id}) failed:`, err));
|
|
651
|
-
}
|
|
652
|
-
}
|
|
653
|
-
else {
|
|
654
|
-
await manager.updateTask(transitioned.id, { qaAgentId: undefined })
|
|
655
|
-
.catch(err => console.error(`[EventHandler] max_rounds clear stale qaAgentId(${transitioned.id}) failed:`, err));
|
|
656
657
|
}
|
|
657
658
|
}
|
|
658
659
|
try {
|
|
@@ -677,7 +678,7 @@ export function registerEventHandlers(bus, manager) {
|
|
|
677
678
|
const taskAtEntry = await manager.getTask(event.taskId);
|
|
678
679
|
if (taskAtEntry?.reviewMode === 'server')
|
|
679
680
|
return;
|
|
680
|
-
if (taskAtEntry
|
|
681
|
+
if (taskAtEntry && isSpecStagePhase(taskAtEntry.phase)) {
|
|
681
682
|
console.warn(`[EventHandler] pr.created ignored for task ${event.taskId}: task in spec phase`);
|
|
682
683
|
return;
|
|
683
684
|
}
|
|
@@ -782,8 +783,8 @@ export function registerEventHandlers(bus, manager) {
|
|
|
782
783
|
`${taskBeforeTransition?.branch} → ${reconciledBranch}`);
|
|
783
784
|
}
|
|
784
785
|
const expectedRound = transitioned.reviewRound;
|
|
785
|
-
const
|
|
786
|
-
if (!
|
|
786
|
+
const qaId = transitioned.qaAgentId;
|
|
787
|
+
if (!qaId) {
|
|
787
788
|
const ok = await manager.markAgentWaiting(event.agentId, transitioned.id);
|
|
788
789
|
if (!ok) {
|
|
789
790
|
await emitIntervention(bus, transitioned.projectId, transitioned.agentId, transitioned.id, {
|
|
@@ -792,6 +793,15 @@ export function registerEventHandlers(bus, manager) {
|
|
|
792
793
|
}
|
|
793
794
|
return;
|
|
794
795
|
}
|
|
796
|
+
const qa = manager.getAgentConfig(qaId);
|
|
797
|
+
if (!qa || qa.role !== 'qa') {
|
|
798
|
+
await manager.markAgentWaiting(event.agentId, transitioned.id).catch(() => false);
|
|
799
|
+
await emitIntervention(bus, transitioned.projectId, transitioned.agentId, transitioned.id, {
|
|
800
|
+
phase: 'qa-config-missing',
|
|
801
|
+
qaAgentId: qaId,
|
|
802
|
+
});
|
|
803
|
+
return;
|
|
804
|
+
}
|
|
795
805
|
const acquired = await manager.acquireAgentForTask(qa.id, transitioned.id, 'review');
|
|
796
806
|
if (!acquired) {
|
|
797
807
|
await emitIntervention(bus, transitioned.projectId, transitioned.agentId, transitioned.id, {
|
|
@@ -800,7 +810,6 @@ export function registerEventHandlers(bus, manager) {
|
|
|
800
810
|
});
|
|
801
811
|
return;
|
|
802
812
|
}
|
|
803
|
-
await manager.updateTask(transitioned.id, { qaAgentId: qa.id });
|
|
804
813
|
const { token: dispatchToken, armed } = await manager.rotateAndSetupPhaseSignal(transitioned.id, qa.id, ['pr-approved', 'pr-changes-requested']);
|
|
805
814
|
if (!armed) {
|
|
806
815
|
console.warn(`[EventHandler] pr.created verdict watcher failed to arm for task=${transitioned.id}; rolling back review dispatch`);
|
|
@@ -842,7 +851,6 @@ export function registerEventHandlers(bus, manager) {
|
|
|
842
851
|
else if (dispatchErr instanceof EnsureSessionError && dispatchErr.partial.handled) {
|
|
843
852
|
}
|
|
844
853
|
else {
|
|
845
|
-
await manager.updateTask(transitioned.id, { qaAgentId: undefined });
|
|
846
854
|
await manager.releaseAgentForTask(qa.id, transitioned.id, 'idle')
|
|
847
855
|
.catch(err => {
|
|
848
856
|
console.error(`[EventHandler] pr.created releaseAgentForTask(QA=${qa.id}) after start-not-true failed:`, err);
|
|
@@ -872,7 +880,7 @@ export function registerEventHandlers(bus, manager) {
|
|
|
872
880
|
if (taskAtEntry?.reviewMode === 'server')
|
|
873
881
|
return;
|
|
874
882
|
const eventKind = event.data.kind;
|
|
875
|
-
if (
|
|
883
|
+
if (taskAtEntry && isSpecStagePhase(taskAtEntry.phase)) {
|
|
876
884
|
console.warn(`[EventHandler] pr.updated (kind=${eventKind ?? 'push'}) ignored for task ${event.taskId}: task in spec phase`);
|
|
877
885
|
return;
|
|
878
886
|
}
|
|
@@ -895,6 +903,8 @@ export function registerEventHandlers(bus, manager) {
|
|
|
895
903
|
const taskBefore = await manager.getTask(event.taskId);
|
|
896
904
|
if (!taskBefore)
|
|
897
905
|
return;
|
|
906
|
+
if (isSpecStagePhase(taskBefore.phase))
|
|
907
|
+
return;
|
|
898
908
|
const mergedOwnBxBranch = event.data.branch === BRANCH_PREFIX + event.taskId;
|
|
899
909
|
if (!mergedOwnBxBranch && typeof eventPrNumber === 'number' && taskBefore.prNumber !== eventPrNumber)
|
|
900
910
|
return;
|
|
@@ -958,7 +968,7 @@ export function registerEventHandlers(bus, manager) {
|
|
|
958
968
|
}
|
|
959
969
|
}
|
|
960
970
|
}
|
|
961
|
-
if (task.phase
|
|
971
|
+
if (isSpecStagePhase(task.phase)) {
|
|
962
972
|
console.warn(`[EventHandler] review.submitted (action=${action}) ignored for task ${task.id}: task in spec phase`);
|
|
963
973
|
return;
|
|
964
974
|
}
|
|
@@ -1032,7 +1042,7 @@ export function registerEventHandlers(bus, manager) {
|
|
|
1032
1042
|
if (!event.taskId || !event.agentId)
|
|
1033
1043
|
return;
|
|
1034
1044
|
const task = await manager.getTask(event.taskId);
|
|
1035
|
-
if (!task || task.reviewMode === 'server' || task.status !== 'fixing' || task.phase
|
|
1045
|
+
if (!task || task.reviewMode === 'server' || task.status !== 'fixing' || isSpecStagePhase(task.phase))
|
|
1036
1046
|
return;
|
|
1037
1047
|
const { projectId, agentId } = task;
|
|
1038
1048
|
const stayFixing = async (data) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/event/handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/event/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-handlers.d.ts","sourceRoot":"","sources":["../../src/event/server-handlers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server-handlers.d.ts","sourceRoot":"","sources":["../../src/event/server-handlers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAqKxD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAy2BtF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isSpecStagePhase } from '../shared/index.js';
|
|
1
2
|
import { ReviewExchangeError } from '../agent/review-transport.js';
|
|
2
3
|
const LEGACY_DIFF_LARGE_THRESHOLD = 2000;
|
|
3
4
|
const FILE_HEADER_RE = /^diff --git a\/(.+?) b\//;
|
|
@@ -127,7 +128,7 @@ async function gate(bus, manager, event, expect) {
|
|
|
127
128
|
}
|
|
128
129
|
const token = event.data?.token;
|
|
129
130
|
const phaseOk = expect.phase === 'any'
|
|
130
|
-
|| (expect.phase === 'spec' ? task.phase
|
|
131
|
+
|| (expect.phase === 'spec' ? task.phase !== 'code' : !isSpecStagePhase(task.phase));
|
|
131
132
|
if (task.status !== expect.status || !phaseOk || !token || token !== task.signalToken) {
|
|
132
133
|
await emitIntervention(bus, task, {
|
|
133
134
|
phase: `${event.type}-stale`,
|
|
@@ -146,7 +147,7 @@ export function registerServerEventHandlers(bus, manager) {
|
|
|
146
147
|
}
|
|
147
148
|
const reviewStore = configured;
|
|
148
149
|
const transport = () => manager.getReviewTransport();
|
|
149
|
-
async function
|
|
150
|
+
async function releaseAtCap(task, agentId, field, opts = {}) {
|
|
150
151
|
const released = await manager.releaseAgentForTask(agentId, task.id, 'idle', opts)
|
|
151
152
|
.catch(() => false);
|
|
152
153
|
if (!released) {
|
|
@@ -160,8 +161,10 @@ export function registerServerEventHandlers(bus, manager) {
|
|
|
160
161
|
return;
|
|
161
162
|
}
|
|
162
163
|
}
|
|
163
|
-
|
|
164
|
-
|
|
164
|
+
if (field === 'agentId') {
|
|
165
|
+
await manager.updateTask(task.id, { agentId: '' })
|
|
166
|
+
.catch(err => console.error(`[ServerHandler] max_rounds clear agentId(${task.id}) failed:`, err));
|
|
167
|
+
}
|
|
165
168
|
}
|
|
166
169
|
async function putVerdictRound(task, agentId, kind, data) {
|
|
167
170
|
try {
|
|
@@ -184,8 +187,18 @@ export function registerServerEventHandlers(bus, manager) {
|
|
|
184
187
|
await manager.holdAgentForUnarmedSignal(task.id, agentId, kind);
|
|
185
188
|
}
|
|
186
189
|
function resolveActiveQa(task) {
|
|
187
|
-
|
|
188
|
-
|
|
190
|
+
if (!task.qaAgentId)
|
|
191
|
+
return undefined;
|
|
192
|
+
const recorded = manager.getAgentConfig(task.qaAgentId);
|
|
193
|
+
return recorded?.role === 'qa' ? recorded : undefined;
|
|
194
|
+
}
|
|
195
|
+
async function pauseForUnavailableQa(task, entryKind, phase) {
|
|
196
|
+
if (!task.qaAgentId || resolveActiveQa(task))
|
|
197
|
+
return false;
|
|
198
|
+
await emitIntervention(bus, task, { phase, qaAgentId: task.qaAgentId });
|
|
199
|
+
if (task.agentId)
|
|
200
|
+
await rearmOrHold(task, task.agentId, entryKind);
|
|
201
|
+
return true;
|
|
189
202
|
}
|
|
190
203
|
async function autoApproveCode(task, entryKind = 'code-done') {
|
|
191
204
|
const afterDone = manager.resolveAfterDone(task);
|
|
@@ -224,7 +237,8 @@ export function registerServerEventHandlers(bus, manager) {
|
|
|
224
237
|
await manager.dispatchServerAfterDone(task.id, afterDone);
|
|
225
238
|
}
|
|
226
239
|
function specApprovalIsHuman(task) {
|
|
227
|
-
return
|
|
240
|
+
return task.researchAgentId !== undefined
|
|
241
|
+
|| manager.getProjectConfig(task.projectId)?.specApproval === 'human';
|
|
228
242
|
}
|
|
229
243
|
async function advanceApprovedSpec(task, failurePhase) {
|
|
230
244
|
try {
|
|
@@ -277,7 +291,7 @@ export function registerServerEventHandlers(bus, manager) {
|
|
|
277
291
|
return false;
|
|
278
292
|
const paused = capResult.task;
|
|
279
293
|
if (paused.qaAgentId)
|
|
280
|
-
await
|
|
294
|
+
await releaseAtCap(paused, paused.qaAgentId, 'qaAgentId');
|
|
281
295
|
await bus.emit({
|
|
282
296
|
id: '',
|
|
283
297
|
type: 'review.max_rounds',
|
|
@@ -410,7 +424,9 @@ export function registerServerEventHandlers(bus, manager) {
|
|
|
410
424
|
if (!gated)
|
|
411
425
|
return;
|
|
412
426
|
const { task } = gated;
|
|
413
|
-
if (
|
|
427
|
+
if (await pauseForUnavailableQa(task, 'code-done', 'server-code-qa-unavailable'))
|
|
428
|
+
return;
|
|
429
|
+
if (!task.qaAgentId) {
|
|
414
430
|
await autoApproveCode(task);
|
|
415
431
|
return;
|
|
416
432
|
}
|
|
@@ -542,7 +558,7 @@ export function registerServerEventHandlers(bus, manager) {
|
|
|
542
558
|
return;
|
|
543
559
|
const paused = capResult.task;
|
|
544
560
|
if (paused.qaAgentId) {
|
|
545
|
-
await
|
|
561
|
+
await releaseAtCap(paused, paused.qaAgentId, 'qaAgentId', { allowAwaitingHuman: true });
|
|
546
562
|
}
|
|
547
563
|
await bus.emit({
|
|
548
564
|
id: '',
|
|
@@ -558,8 +574,10 @@ export function registerServerEventHandlers(bus, manager) {
|
|
|
558
574
|
await manager.dispatchServerFixToDev(task.id, JSON.stringify(findings));
|
|
559
575
|
}
|
|
560
576
|
async function recheckCodeOrAutoApprove(task, priorFindingsJson, priorResponseJson) {
|
|
561
|
-
|
|
562
|
-
|
|
577
|
+
if (await pauseForUnavailableQa(task, 'code-fixed', 'server-code-qa-unavailable-after-fix')) {
|
|
578
|
+
return false;
|
|
579
|
+
}
|
|
580
|
+
if (!task.qaAgentId) {
|
|
563
581
|
await autoApproveCode(task, 'code-fixed');
|
|
564
582
|
return true;
|
|
565
583
|
}
|
|
@@ -699,16 +717,10 @@ export function registerServerEventHandlers(bus, manager) {
|
|
|
699
717
|
await emitIntervention(bus, task, { phase: 'server-code-published-transition-failed' });
|
|
700
718
|
});
|
|
701
719
|
bus.on('server.spec.ready', async (event) => {
|
|
702
|
-
const gated = await gate(bus, manager, event, { status: 'in_progress', phase: '
|
|
720
|
+
const gated = await gate(bus, manager, event, { status: 'in_progress', phase: 'spec', requireServerMode: false });
|
|
703
721
|
if (!gated)
|
|
704
722
|
return;
|
|
705
|
-
|
|
706
|
-
if (!resolveActiveQa(task) && !specApprovalIsHuman(task)) {
|
|
707
|
-
await autoApproveSpec(task);
|
|
708
|
-
return;
|
|
709
|
-
}
|
|
710
|
-
// 无 QA 但需人类审核:仍走 dispatchSpecReview 存 spec 内容,再由其停驻
|
|
711
|
-
await dispatchSpecReview(task);
|
|
723
|
+
await dispatchSpecReview(gated.task);
|
|
712
724
|
});
|
|
713
725
|
async function dispatchSpecReview(task, prior) {
|
|
714
726
|
const dev = manager.getAgentConfig(task.agentId);
|
|
@@ -728,9 +740,9 @@ export function registerServerEventHandlers(bus, manager) {
|
|
|
728
740
|
return false;
|
|
729
741
|
const paused = capResult.task;
|
|
730
742
|
if (paused.qaAgentId)
|
|
731
|
-
await
|
|
743
|
+
await releaseAtCap(paused, paused.qaAgentId, 'qaAgentId');
|
|
732
744
|
if (paused.agentId)
|
|
733
|
-
await
|
|
745
|
+
await releaseAtCap(paused, paused.agentId, 'agentId');
|
|
734
746
|
return false;
|
|
735
747
|
}
|
|
736
748
|
await manager.refreshWorkdirCacheFor(task.agentId);
|
|
@@ -748,10 +760,13 @@ export function registerServerEventHandlers(bus, manager) {
|
|
|
748
760
|
return false;
|
|
749
761
|
}
|
|
750
762
|
try {
|
|
763
|
+
if (!content.documents)
|
|
764
|
+
throw new Error('spec transport returned no documents');
|
|
751
765
|
await reviewStore.putRound(task.id, 'spec', {
|
|
752
766
|
round: nextRound,
|
|
753
767
|
phase: 'spec',
|
|
754
768
|
content: content.content,
|
|
769
|
+
documents: content.documents,
|
|
755
770
|
startedAt: new Date().toISOString(),
|
|
756
771
|
});
|
|
757
772
|
}
|
|
@@ -765,13 +780,18 @@ export function registerServerEventHandlers(bus, manager) {
|
|
|
765
780
|
return false;
|
|
766
781
|
}
|
|
767
782
|
if (!resolveActiveQa(task)) {
|
|
768
|
-
if (
|
|
783
|
+
if (task.qaAgentId) {
|
|
784
|
+
await emitIntervention(bus, task, {
|
|
785
|
+
phase: 'server-spec-qa-unavailable',
|
|
786
|
+
qaAgentId: task.qaAgentId,
|
|
787
|
+
});
|
|
788
|
+
}
|
|
789
|
+
if (specApprovalIsHuman(task) || task.qaAgentId) {
|
|
769
790
|
const parked = await manager.parkTaskAtSpecReady(task.id, { specReviewRound: nextRound });
|
|
770
791
|
if (!parked)
|
|
771
792
|
await emitIntervention(bus, task, { phase: 'server-spec-park-transition-failed' });
|
|
772
793
|
return !!parked;
|
|
773
794
|
}
|
|
774
|
-
// 循环中途配置被关闭:退回无 QA 的自动通过
|
|
775
795
|
return autoApproveSpec(task);
|
|
776
796
|
}
|
|
777
797
|
const dispatched = await manager.dispatchServerReviewToQa(task.id, {
|
|
@@ -855,9 +875,9 @@ export function registerServerEventHandlers(bus, manager) {
|
|
|
855
875
|
return;
|
|
856
876
|
const paused = capResult.task;
|
|
857
877
|
if (paused.qaAgentId)
|
|
858
|
-
await
|
|
878
|
+
await releaseAtCap(paused, paused.qaAgentId, 'qaAgentId');
|
|
859
879
|
if (paused.agentId)
|
|
860
|
-
await
|
|
880
|
+
await releaseAtCap(paused, paused.agentId, 'agentId');
|
|
861
881
|
return;
|
|
862
882
|
}
|
|
863
883
|
await manager.dispatchServerFixToDev(task.id, JSON.stringify(effective));
|