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.
Files changed (69) hide show
  1. package/dist/agent/manager.d.ts +43 -29
  2. package/dist/agent/manager.d.ts.map +1 -1
  3. package/dist/agent/manager.js +873 -386
  4. package/dist/agent/manager.js.map +1 -1
  5. package/dist/agent/net-exec.d.ts +1 -0
  6. package/dist/agent/net-exec.d.ts.map +1 -1
  7. package/dist/agent/net-exec.js +6 -0
  8. package/dist/agent/net-exec.js.map +1 -1
  9. package/dist/agent/prompt.d.ts.map +1 -1
  10. package/dist/agent/prompt.js +2 -1
  11. package/dist/agent/prompt.js.map +1 -1
  12. package/dist/agent/repo-store.d.ts +15 -1
  13. package/dist/agent/repo-store.d.ts.map +1 -1
  14. package/dist/agent/repo-store.js +207 -22
  15. package/dist/agent/repo-store.js.map +1 -1
  16. package/dist/agent/review-transport.d.ts +5 -1
  17. package/dist/agent/review-transport.d.ts.map +1 -1
  18. package/dist/agent/review-transport.js +140 -18
  19. package/dist/agent/review-transport.js.map +1 -1
  20. package/dist/agent/tmux.d.ts +21 -2
  21. package/dist/agent/tmux.d.ts.map +1 -1
  22. package/dist/agent/tmux.js +200 -16
  23. package/dist/agent/tmux.js.map +1 -1
  24. package/dist/api/config.d.ts.map +1 -1
  25. package/dist/api/config.js +45 -8
  26. package/dist/api/config.js.map +1 -1
  27. package/dist/api/projects.d.ts.map +1 -1
  28. package/dist/api/projects.js +31 -26
  29. package/dist/api/projects.js.map +1 -1
  30. package/dist/api/tasks.js +2 -2
  31. package/dist/api/tasks.js.map +1 -1
  32. package/dist/config/validator.js +23 -11
  33. package/dist/config/validator.js.map +1 -1
  34. package/dist/event/handlers.d.ts.map +1 -1
  35. package/dist/event/handlers.js +36 -26
  36. package/dist/event/handlers.js.map +1 -1
  37. package/dist/event/server-handlers.d.ts.map +1 -1
  38. package/dist/event/server-handlers.js +46 -26
  39. package/dist/event/server-handlers.js.map +1 -1
  40. package/dist/lifecycle/restart-sentinel.d.ts.map +1 -1
  41. package/dist/lifecycle/restart-sentinel.js +10 -3
  42. package/dist/lifecycle/restart-sentinel.js.map +1 -1
  43. package/dist/shared/constants.d.ts +3 -1
  44. package/dist/shared/constants.d.ts.map +1 -1
  45. package/dist/shared/constants.js +8 -0
  46. package/dist/shared/constants.js.map +1 -1
  47. package/dist/shared/types.d.ts +21 -5
  48. package/dist/shared/types.d.ts.map +1 -1
  49. package/dist/shared/types.js +8 -0
  50. package/dist/shared/types.js.map +1 -1
  51. package/dist/skills/baxian-research/SKILL.md +28 -0
  52. package/dist/skills/baxian-server-feedback/SKILL.md +3 -3
  53. package/dist/state/error-record-store.d.ts.map +1 -1
  54. package/dist/state/error-record-store.js +12 -3
  55. package/dist/state/error-record-store.js.map +1 -1
  56. package/dist/state/process-lock.d.ts.map +1 -1
  57. package/dist/state/process-lock.js +11 -2
  58. package/dist/state/process-lock.js.map +1 -1
  59. package/dist/state/review-store.d.ts +4 -4
  60. package/dist/state/review-store.d.ts.map +1 -1
  61. package/dist/state/review-store.js +57 -6
  62. package/dist/state/review-store.js.map +1 -1
  63. package/dist/state/task-store.d.ts.map +1 -1
  64. package/dist/state/task-store.js +115 -20
  65. package/dist/state/task-store.js.map +1 -1
  66. package/dist/web/assets/index-3Ypk8Gfo.js +13 -0
  67. package/dist/web/index.html +1 -1
  68. package/package.json +1 -1
  69. package/dist/web/assets/index-BmnSiyut.js +0 -13
@@ -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 === 'code' ? ['pr-created'] : ['spec-done', 'pr-created'];
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 qa = manager.findQaPartner(agentId);
344
- if (!qa) {
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
- const qaReleased = await manager
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?.phase === 'spec') {
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 qa = manager.findQaPartner(event.agentId);
786
- if (!qa) {
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 (eventKind !== 'pr-merge-ready' && taskAtEntry?.phase === 'spec') {
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 === 'spec') {
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 === 'spec')
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":"AAQA,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,CAs1BtF"}
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 === 'spec' : task.phase !== 'spec');
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 releaseAndClearAtCap(task, agentId, field, opts = {}) {
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
- await manager.updateTask(task.id, { [field]: undefined })
164
- .catch(err => console.error(`[ServerHandler] max_rounds clear ${field}(${task.id}) failed:`, err));
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
- const recorded = task.qaAgentId ? manager.getAgentConfig(task.qaAgentId) : undefined;
188
- return recorded ?? manager.findQaPartner(task.agentId);
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 manager.getProjectConfig(task.projectId)?.specApproval === 'human';
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 releaseAndClearAtCap(paused, paused.qaAgentId, 'qaAgentId');
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 (!resolveActiveQa(task)) {
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 releaseAndClearAtCap(paused, paused.qaAgentId, 'qaAgentId', { allowAwaitingHuman: true });
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
- // 无 QA(含循环中途配置被关闭):修复提交后自动通过回 ready,人机循环闭合,不派 QA 复审
562
- if (!resolveActiveQa(task)) {
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: 'any', requireServerMode: false });
720
+ const gated = await gate(bus, manager, event, { status: 'in_progress', phase: 'spec', requireServerMode: false });
703
721
  if (!gated)
704
722
  return;
705
- const { task } = gated;
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 releaseAndClearAtCap(paused, paused.qaAgentId, 'qaAgentId');
743
+ await releaseAtCap(paused, paused.qaAgentId, 'qaAgentId');
732
744
  if (paused.agentId)
733
- await releaseAndClearAtCap(paused, paused.agentId, 'agentId');
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 (specApprovalIsHuman(task)) {
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 releaseAndClearAtCap(paused, paused.qaAgentId, 'qaAgentId');
878
+ await releaseAtCap(paused, paused.qaAgentId, 'qaAgentId');
859
879
  if (paused.agentId)
860
- await releaseAndClearAtCap(paused, paused.agentId, 'agentId');
880
+ await releaseAtCap(paused, paused.agentId, 'agentId');
861
881
  return;
862
882
  }
863
883
  await manager.dispatchServerFixToDev(task.id, JSON.stringify(effective));