steroids-cli 0.10.35 → 0.10.37

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 (95) hide show
  1. package/dist/commands/loop-phases.d.ts +3 -2
  2. package/dist/commands/loop-phases.d.ts.map +1 -1
  3. package/dist/commands/loop-phases.js +146 -50
  4. package/dist/commands/loop-phases.js.map +1 -1
  5. package/dist/commands/loop.d.ts.map +1 -1
  6. package/dist/commands/loop.js +21 -3
  7. package/dist/commands/loop.js.map +1 -1
  8. package/dist/commands/workspaces.d.ts.map +1 -1
  9. package/dist/commands/workspaces.js +71 -1
  10. package/dist/commands/workspaces.js.map +1 -1
  11. package/dist/database/queries.d.ts +15 -1
  12. package/dist/database/queries.d.ts.map +1 -1
  13. package/dist/database/queries.js +43 -0
  14. package/dist/database/queries.js.map +1 -1
  15. package/dist/database/schema.d.ts +2 -2
  16. package/dist/database/schema.d.ts.map +1 -1
  17. package/dist/database/schema.js +4 -0
  18. package/dist/database/schema.js.map +1 -1
  19. package/dist/orchestrator/coordinator.d.ts.map +1 -1
  20. package/dist/orchestrator/coordinator.js +2 -1
  21. package/dist/orchestrator/coordinator.js.map +1 -1
  22. package/dist/parallel/clone.d.ts.map +1 -1
  23. package/dist/parallel/clone.js +34 -0
  24. package/dist/parallel/clone.js.map +1 -1
  25. package/dist/prompts/coder.d.ts.map +1 -1
  26. package/dist/prompts/coder.js +3 -2
  27. package/dist/prompts/coder.js.map +1 -1
  28. package/dist/prompts/instruction-files.d.ts +44 -0
  29. package/dist/prompts/instruction-files.d.ts.map +1 -0
  30. package/dist/prompts/instruction-files.js +104 -0
  31. package/dist/prompts/instruction-files.js.map +1 -0
  32. package/dist/prompts/prompt-helpers.d.ts +4 -1
  33. package/dist/prompts/prompt-helpers.d.ts.map +1 -1
  34. package/dist/prompts/prompt-helpers.js +6 -11
  35. package/dist/prompts/prompt-helpers.js.map +1 -1
  36. package/dist/prompts/reviewer.d.ts.map +1 -1
  37. package/dist/prompts/reviewer.js +3 -1
  38. package/dist/prompts/reviewer.js.map +1 -1
  39. package/dist/providers/claude.d.ts.map +1 -1
  40. package/dist/providers/claude.js +5 -4
  41. package/dist/providers/claude.js.map +1 -1
  42. package/dist/providers/codex.d.ts +6 -0
  43. package/dist/providers/codex.d.ts.map +1 -1
  44. package/dist/providers/codex.js +40 -14
  45. package/dist/providers/codex.js.map +1 -1
  46. package/dist/runners/global-db-connection.d.ts.map +1 -1
  47. package/dist/runners/global-db-connection.js +6 -0
  48. package/dist/runners/global-db-connection.js.map +1 -1
  49. package/dist/runners/global-db-schema.d.ts +3 -1
  50. package/dist/runners/global-db-schema.d.ts.map +1 -1
  51. package/dist/runners/global-db-schema.js +39 -2
  52. package/dist/runners/global-db-schema.js.map +1 -1
  53. package/dist/runners/global-db-sessions.d.ts.map +1 -1
  54. package/dist/runners/global-db-sessions.js +24 -1
  55. package/dist/runners/global-db-sessions.js.map +1 -1
  56. package/dist/runners/orchestrator-loop.d.ts.map +1 -1
  57. package/dist/runners/orchestrator-loop.js +114 -6
  58. package/dist/runners/orchestrator-loop.js.map +1 -1
  59. package/dist/runners/wakeup-sanitise.d.ts.map +1 -1
  60. package/dist/runners/wakeup-sanitise.js +7 -0
  61. package/dist/runners/wakeup-sanitise.js.map +1 -1
  62. package/dist/runners/wakeup.d.ts.map +1 -1
  63. package/dist/runners/wakeup.js +14 -0
  64. package/dist/runners/wakeup.js.map +1 -1
  65. package/dist/workspace/git-helpers.d.ts +54 -0
  66. package/dist/workspace/git-helpers.d.ts.map +1 -0
  67. package/dist/workspace/git-helpers.js +136 -0
  68. package/dist/workspace/git-helpers.js.map +1 -0
  69. package/dist/workspace/git-lifecycle.d.ts +53 -0
  70. package/dist/workspace/git-lifecycle.d.ts.map +1 -0
  71. package/dist/workspace/git-lifecycle.js +287 -0
  72. package/dist/workspace/git-lifecycle.js.map +1 -0
  73. package/dist/workspace/merge-lock.d.ts +25 -0
  74. package/dist/workspace/merge-lock.d.ts.map +1 -0
  75. package/dist/workspace/merge-lock.js +93 -0
  76. package/dist/workspace/merge-lock.js.map +1 -0
  77. package/dist/workspace/merge-pipeline.d.ts +21 -0
  78. package/dist/workspace/merge-pipeline.d.ts.map +1 -0
  79. package/dist/workspace/merge-pipeline.js +55 -0
  80. package/dist/workspace/merge-pipeline.js.map +1 -0
  81. package/dist/workspace/pool.d.ts +59 -0
  82. package/dist/workspace/pool.d.ts.map +1 -0
  83. package/dist/workspace/pool.js +247 -0
  84. package/dist/workspace/pool.js.map +1 -0
  85. package/dist/workspace/reconcile.d.ts +20 -0
  86. package/dist/workspace/reconcile.d.ts.map +1 -0
  87. package/dist/workspace/reconcile.js +50 -0
  88. package/dist/workspace/reconcile.js.map +1 -0
  89. package/dist/workspace/types.d.ts +27 -0
  90. package/dist/workspace/types.d.ts.map +1 -0
  91. package/dist/workspace/types.js +6 -0
  92. package/dist/workspace/types.js.map +1 -0
  93. package/migrations/020_add_workspace_fields.sql +10 -0
  94. package/migrations/manifest.json +9 -1
  95. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { getTask } from '../database/queries.js';
2
2
  import type { openDatabase } from '../database/connection.js';
3
3
  import { type CoordinatorResult } from '../orchestrator/coordinator.js';
4
+ import type { PoolSlotContext } from '../workspace/types.js';
4
5
  export { type CoordinatorResult };
5
6
  interface LeaseFenceContext {
6
7
  parallelSessionId?: string;
@@ -14,6 +15,6 @@ export interface CreditExhaustionResult {
14
15
  message: string;
15
16
  retryAfterMs?: number;
16
17
  }
17
- export declare function runCoderPhase(db: ReturnType<typeof openDatabase>['db'], task: ReturnType<typeof getTask>, projectPath: string, action: 'start' | 'resume', jsonMode?: boolean, coordinatorCache?: Map<string, CoordinatorResult>, coordinatorThresholds?: number[], leaseFence?: LeaseFenceContext, branchName?: string): Promise<void>;
18
- export declare function runReviewerPhase(db: ReturnType<typeof openDatabase>['db'], task: ReturnType<typeof getTask>, projectPath: string, jsonMode?: boolean, coordinatorResult?: CoordinatorResult, branchName?: string, leaseFence?: LeaseFenceContext): Promise<void>;
18
+ export declare function runCoderPhase(db: ReturnType<typeof openDatabase>['db'], task: ReturnType<typeof getTask>, projectPath: string, action: 'start' | 'resume', jsonMode?: boolean, coordinatorCache?: Map<string, CoordinatorResult>, coordinatorThresholds?: number[], leaseFence?: LeaseFenceContext, branchName?: string, poolSlotContext?: PoolSlotContext): Promise<CreditExhaustionResult | void>;
19
+ export declare function runReviewerPhase(db: ReturnType<typeof openDatabase>['db'], task: ReturnType<typeof getTask>, projectPath: string, jsonMode?: boolean, coordinatorResult?: CoordinatorResult, branchName?: string, leaseFence?: LeaseFenceContext, poolSlotContext?: PoolSlotContext): Promise<CreditExhaustionResult | void>;
19
20
  //# sourceMappingURL=loop-phases.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loop-phases.d.ts","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,OAAO,EAeR,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAU9D,OAAO,EAA8C,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AA0BpH,OAAO,EAAE,KAAK,iBAAiB,EAAE,CAAC;AAElC,UAAU,iBAAiB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA4ED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,yBAAyB,GAAG,YAAY,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAqRD,wBAAsB,aAAa,CACjC,EAAE,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,EACzC,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,GAAG,QAAQ,EAC1B,QAAQ,UAAQ,EAChB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACjD,qBAAqB,CAAC,EAAE,MAAM,EAAE,EAChC,UAAU,CAAC,EAAE,iBAAiB,EAC9B,UAAU,SAAS,GAClB,OAAO,CAAC,IAAI,CAAC,CAmlBf;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,EACzC,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,QAAQ,UAAQ,EAChB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,UAAU,GAAE,MAAe,EAC3B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA0ff"}
1
+ {"version":3,"file":"loop-phases.d.ts","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,OAAO,EAeR,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAU9D,OAAO,EAA8C,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAyBpH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAU7D,OAAO,EAAE,KAAK,iBAAiB,EAAE,CAAC;AAElC,UAAU,iBAAiB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA4ED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,yBAAyB,GAAG,YAAY,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAqRD,wBAAsB,aAAa,CACjC,EAAE,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,EACzC,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,GAAG,QAAQ,EAC1B,QAAQ,UAAQ,EAChB,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACjD,qBAAqB,CAAC,EAAE,MAAM,EAAE,EAChC,UAAU,CAAC,EAAE,iBAAiB,EAC9B,UAAU,SAAS,EACnB,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAopBxC;AAED,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,EACzC,IAAI,EAAE,UAAU,CAAC,OAAO,OAAO,CAAC,EAChC,WAAW,EAAE,MAAM,EACnB,QAAQ,UAAQ,EAChB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,UAAU,GAAE,MAAe,EAC3B,UAAU,CAAC,EAAE,iBAAiB,EAC9B,eAAe,CAAC,EAAE,eAAe,GAChC,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CA+hBxC"}
@@ -19,6 +19,9 @@ const invoke_js_1 = require("../orchestrator/invoke.js");
19
19
  const fallback_handler_js_1 = require("../orchestrator/fallback-handler.js");
20
20
  const loader_js_1 = require("../config/loader.js");
21
21
  const registry_js_1 = require("../providers/registry.js");
22
+ const git_lifecycle_js_1 = require("../workspace/git-lifecycle.js");
23
+ const pool_js_1 = require("../workspace/pool.js");
24
+ const merge_pipeline_js_1 = require("../workspace/merge-pipeline.js");
22
25
  const WORKSTREAM_LEASE_TTL_SECONDS = 120;
23
26
  const LEASE_HEARTBEAT_INTERVAL_MS = 30_000;
24
27
  function refreshParallelWorkstreamLease(projectPath, leaseFence) {
@@ -266,7 +269,7 @@ function resolveCoderSubmittedCommitSha(projectPath, coderOutput, options = {})
266
269
  }
267
270
  return (0, status_js_1.getCurrentCommitSha)(projectPath) || undefined;
268
271
  }
269
- async function runCoderPhase(db, task, projectPath, action, jsonMode = false, coordinatorCache, coordinatorThresholds, leaseFence, branchName = 'main') {
272
+ async function runCoderPhase(db, task, projectPath, action, jsonMode = false, coordinatorCache, coordinatorThresholds, leaseFence, branchName = 'main', poolSlotContext) {
270
273
  if (!task)
271
274
  return;
272
275
  if (!refreshParallelWorkstreamLease(projectPath, leaseFence)) {
@@ -275,6 +278,28 @@ async function runCoderPhase(db, task, projectPath, action, jsonMode = false, co
275
278
  }
276
279
  return;
277
280
  }
281
+ // ── Pool slot: prepare workspace for task ──
282
+ let poolStartingSha;
283
+ let effectiveProjectPath = projectPath;
284
+ if (poolSlotContext) {
285
+ const prepResult = (0, git_lifecycle_js_1.prepareForTask)(poolSlotContext.globalDb, poolSlotContext.slot, task.id, projectPath);
286
+ if (!prepResult.ok) {
287
+ if (!jsonMode) {
288
+ console.log(`\n✗ Workspace preparation failed: ${prepResult.reason}`);
289
+ }
290
+ if (prepResult.blocked) {
291
+ const { setTaskBlocked } = await import('../database/queries.js');
292
+ setTaskBlocked(db, task.id, 'blocked_error', prepResult.reason);
293
+ }
294
+ (0, pool_js_1.releaseSlot)(poolSlotContext.globalDb, poolSlotContext.slot.id);
295
+ return;
296
+ }
297
+ poolStartingSha = prepResult.startingSha;
298
+ effectiveProjectPath = poolSlotContext.slot.slot_path;
299
+ if (!jsonMode) {
300
+ console.log(`\n✓ Workspace prepared (branch: ${prepResult.taskBranch}, base: ${prepResult.baseBranch})`);
301
+ }
302
+ }
278
303
  let coordinatorGuidance;
279
304
  const thresholds = coordinatorThresholds || [2, 5, 9];
280
305
  const persistedMustImplement = (0, queries_js_1.getLatestMustImplementGuidance)(db, task.id);
@@ -318,7 +343,7 @@ async function runCoderPhase(db, task, projectPath, action, jsonMode = false, co
318
343
  }));
319
344
  }
320
345
  coordExtra.submissionNotes = (0, queries_js_1.getLatestSubmissionNotes)(db, task.id);
321
- const modified = (0, status_js_1.getModifiedFiles)(projectPath);
346
+ const modified = (0, status_js_1.getModifiedFiles)(effectiveProjectPath);
322
347
  if (modified.length > 0) {
323
348
  coordExtra.gitDiffSummary = modified.join('\n');
324
349
  }
@@ -368,9 +393,9 @@ async function runCoderPhase(db, task, projectPath, action, jsonMode = false, co
368
393
  if (!jsonMode) {
369
394
  console.log('\n>>> Invoking CODER...\n');
370
395
  }
371
- const initialSha = (0, status_js_1.getCurrentCommitSha)(projectPath) || '';
396
+ const initialSha = poolStartingSha || (0, status_js_1.getCurrentCommitSha)(effectiveProjectPath) || '';
372
397
  const coderConfig = (0, loader_js_1.loadConfig)(projectPath).ai?.coder;
373
- const coderInvocation = await invokeWithLeaseHeartbeat(projectPath, leaseFence, () => (0, coder_js_1.invokeCoder)(task, projectPath, action, coordinatorGuidance, leaseFence?.runnerId));
398
+ const coderInvocation = await invokeWithLeaseHeartbeat(projectPath, leaseFence, () => (0, coder_js_1.invokeCoder)(task, effectiveProjectPath, action, coordinatorGuidance, leaseFence?.runnerId));
374
399
  if (coderInvocation.superseded || !coderInvocation.result) {
375
400
  if (!jsonMode) {
376
401
  console.log('\n↺ Lease ownership changed during coder invocation; skipping post-processing in this runner.');
@@ -381,6 +406,18 @@ async function runCoderPhase(db, task, projectPath, action, jsonMode = false, co
381
406
  if (coderResult.timedOut || !coderResult.success) {
382
407
  const providerName = coderConfig?.provider ?? (0, loader_js_1.loadConfig)(projectPath).ai?.coder?.provider ?? 'unknown';
383
408
  const modelName = coderConfig?.model ?? (0, loader_js_1.loadConfig)(projectPath).ai?.coder?.model ?? 'unknown';
409
+ // Check for credit/rate_limit exhaustion before counting as a provider failure
410
+ const registry = await (0, registry_js_1.getProviderRegistry)();
411
+ const prov = registry.tryGet(providerName);
412
+ if (prov) {
413
+ const classified = prov.classifyResult(coderResult);
414
+ if (classified?.type === 'credit_exhaustion') {
415
+ return { action: 'pause_credit_exhaustion', provider: providerName, model: modelName, role: 'coder', message: classified.message };
416
+ }
417
+ if (classified?.type === 'rate_limit') {
418
+ return { action: 'rate_limit', provider: providerName, model: modelName, role: 'coder', message: classified.message, retryAfterMs: classified.retryAfterMs };
419
+ }
420
+ }
384
421
  const output = (coderResult.stderr || coderResult.stdout || '').trim();
385
422
  const failed = await handleProviderInvocationFailure(db, task.id, {
386
423
  role: 'coder',
@@ -395,11 +432,29 @@ async function runCoderPhase(db, task, projectPath, action, jsonMode = false, co
395
432
  return;
396
433
  }
397
434
  (0, queries_js_1.clearTaskFailureCount)(db, task.id);
435
+ // ── Pool slot: post-coder verification gate ──
436
+ if (poolSlotContext && poolStartingSha) {
437
+ const gateResult = (0, git_lifecycle_js_1.postCoderGate)(effectiveProjectPath, poolStartingSha, task.title);
438
+ if (!gateResult.ok) {
439
+ if (!jsonMode) {
440
+ console.log(`\n⟳ Post-coder gate: ${gateResult.reason}. Returning to coder.`);
441
+ }
442
+ (0, queries_js_1.addAuditEntry)(db, task.id, task.status, task.status, 'orchestrator', {
443
+ actorType: 'orchestrator',
444
+ notes: `[retry] Post-coder gate: ${gateResult.reason}`,
445
+ });
446
+ return;
447
+ }
448
+ if (gateResult.autoCommitted && !jsonMode) {
449
+ console.log('\n✓ Post-coder gate: auto-committed uncommitted work');
450
+ }
451
+ (0, pool_js_1.updateSlotStatus)(poolSlotContext.globalDb, poolSlotContext.slot.id, 'awaiting_review');
452
+ }
398
453
  // STEP 2: Gather git state
399
- const commits = (0, status_js_1.getRecentCommits)(projectPath, 5, initialSha);
400
- const files_changed = (0, status_js_1.getChangedFiles)(projectPath);
401
- const has_uncommitted = (0, status_js_1.hasUncommittedChanges)(projectPath);
402
- const diff_summary = (0, status_js_1.getDiffSummary)(projectPath);
454
+ const commits = (0, status_js_1.getRecentCommits)(effectiveProjectPath, 5, initialSha);
455
+ const files_changed = (0, status_js_1.getChangedFiles)(effectiveProjectPath);
456
+ const has_uncommitted = (0, status_js_1.hasUncommittedChanges)(effectiveProjectPath);
457
+ const diff_summary = (0, status_js_1.getDiffSummary)(effectiveProjectPath);
403
458
  const hasRelevantChanges = has_uncommitted || commits.length > 0 || files_changed.length > 0;
404
459
  const gitState = {
405
460
  commits,
@@ -621,7 +676,7 @@ Only use WONT_FIX if you provide exceptional technical evidence and the orchestr
621
676
  switch (decision.action) {
622
677
  case 'submit':
623
678
  {
624
- const submissionCommitSha = resolveCoderSubmittedCommitSha(projectPath, coderResult.stdout, {
679
+ const submissionCommitSha = resolveCoderSubmittedCommitSha(effectiveProjectPath, coderResult.stdout, {
625
680
  requireExplicitToken: requiresExplicitSubmissionCommit,
626
681
  });
627
682
  if (!submissionCommitSha && requiresExplicitSubmissionCommit) {
@@ -634,7 +689,7 @@ Only use WONT_FIX if you provide exceptional technical evidence and the orchestr
634
689
  }
635
690
  break;
636
691
  }
637
- if (!submissionCommitSha || !(0, status_js_1.isCommitReachable)(projectPath, submissionCommitSha)) {
692
+ if (!submissionCommitSha || !(0, status_js_1.isCommitReachable)(effectiveProjectPath, submissionCommitSha)) {
638
693
  (0, queries_js_1.updateTaskStatus)(db, task.id, 'failed', 'orchestrator', 'Task failed: cannot submit to review without a valid commit hash');
639
694
  if (!jsonMode) {
640
695
  console.log('\n✗ Task failed (submission commit missing or not in workspace)');
@@ -659,7 +714,7 @@ Only use WONT_FIX if you provide exceptional technical evidence and the orchestr
659
714
  break;
660
715
  case 'stage_commit_submit':
661
716
  if (!has_uncommitted) {
662
- const submissionCommitSha = resolveCoderSubmittedCommitSha(projectPath, coderResult.stdout, {
717
+ const submissionCommitSha = resolveCoderSubmittedCommitSha(effectiveProjectPath, coderResult.stdout, {
663
718
  requireExplicitToken: requiresExplicitSubmissionCommit,
664
719
  });
665
720
  if (!submissionCommitSha && requiresExplicitSubmissionCommit) {
@@ -672,7 +727,7 @@ Only use WONT_FIX if you provide exceptional technical evidence and the orchestr
672
727
  }
673
728
  break;
674
729
  }
675
- if (!submissionCommitSha || !(0, status_js_1.isCommitReachable)(projectPath, submissionCommitSha)) {
730
+ if (!submissionCommitSha || !(0, status_js_1.isCommitReachable)(effectiveProjectPath, submissionCommitSha)) {
676
731
  (0, queries_js_1.updateTaskStatus)(db, task.id, 'failed', 'orchestrator', 'Task failed: cannot submit to review without a valid commit hash');
677
732
  if (!jsonMode) {
678
733
  console.log('\n✗ Task failed (submission commit missing or not in workspace)');
@@ -703,14 +758,14 @@ Only use WONT_FIX if you provide exceptional technical evidence and the orchestr
703
758
  }
704
759
  // Stage all changes
705
760
  try {
706
- (0, node_child_process_1.execSync)('git add -A', { cwd: projectPath, stdio: 'pipe' });
761
+ (0, node_child_process_1.execSync)('git add -A', { cwd: effectiveProjectPath, stdio: 'pipe' });
707
762
  const message = decision.commit_message || 'feat: implement task specification';
708
763
  (0, node_child_process_1.execSync)(`git commit -m "${message.replace(/"/g, '\\"')}"`, {
709
- cwd: projectPath,
764
+ cwd: effectiveProjectPath,
710
765
  stdio: 'pipe'
711
766
  });
712
- const submissionCommitSha = (0, status_js_1.getCurrentCommitSha)(projectPath) || undefined;
713
- if (!submissionCommitSha || !(0, status_js_1.isCommitReachable)(projectPath, submissionCommitSha)) {
767
+ const submissionCommitSha = (0, status_js_1.getCurrentCommitSha)(effectiveProjectPath) || undefined;
768
+ if (!submissionCommitSha || !(0, status_js_1.isCommitReachable)(effectiveProjectPath, submissionCommitSha)) {
714
769
  (0, queries_js_1.updateTaskStatus)(db, task.id, 'failed', 'orchestrator', 'Task failed: auto-committed but commit hash is not in current workspace');
715
770
  if (!jsonMode) {
716
771
  console.log('\n✗ Task failed (auto-commit hash not in workspace)');
@@ -754,7 +809,7 @@ Only use WONT_FIX if you provide exceptional technical evidence and the orchestr
754
809
  break;
755
810
  }
756
811
  }
757
- async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordinatorResult, branchName = 'main', leaseFence) {
812
+ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordinatorResult, branchName = 'main', leaseFence, poolSlotContext) {
758
813
  if (!task)
759
814
  return;
760
815
  if (!refreshParallelWorkstreamLease(projectPath, leaseFence)) {
@@ -763,7 +818,12 @@ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordin
763
818
  }
764
819
  return;
765
820
  }
766
- const submissionResolution = (0, submission_resolution_js_1.resolveSubmissionCommitWithRecovery)(projectPath, (0, queries_js_1.getSubmissionCommitShas)(db, task.id));
821
+ // ── Pool slot: set effective path for reviewer ──
822
+ const effectiveProjectPath = poolSlotContext ? poolSlotContext.slot.slot_path : projectPath;
823
+ if (poolSlotContext) {
824
+ (0, pool_js_1.updateSlotStatus)(poolSlotContext.globalDb, poolSlotContext.slot.id, 'review_active');
825
+ }
826
+ const submissionResolution = (0, submission_resolution_js_1.resolveSubmissionCommitWithRecovery)(effectiveProjectPath, (0, queries_js_1.getSubmissionCommitShas)(db, task.id));
767
827
  if (submissionResolution.status !== 'resolved') {
768
828
  const attemptsText = submissionResolution.attempts.join(' | ') || 'none';
769
829
  (0, queries_js_1.updateTaskStatus)(db, task.id, 'in_progress', 'orchestrator', `[commit_recovery] Missing reachable submission hash (${submissionResolution.reason}; attempts: ${attemptsText}). ` +
@@ -788,7 +848,7 @@ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordin
788
848
  console.log(`Coordinator guidance included (decision: ${coordinatorResult.decision})`);
789
849
  }
790
850
  }
791
- const reviewerInvocation = await invokeWithLeaseHeartbeat(projectPath, leaseFence, () => (0, reviewer_js_1.invokeReviewers)(task, projectPath, reviewerConfigs, coordinatorResult?.guidance, coordinatorResult?.decision, leaseFence?.runnerId));
851
+ const reviewerInvocation = await invokeWithLeaseHeartbeat(projectPath, leaseFence, () => (0, reviewer_js_1.invokeReviewers)(task, effectiveProjectPath, reviewerConfigs, coordinatorResult?.guidance, coordinatorResult?.decision, leaseFence?.runnerId));
792
852
  if (reviewerInvocation.superseded || !reviewerInvocation.result) {
793
853
  if (!jsonMode) {
794
854
  console.log('\n↺ Lease ownership changed during reviewer invocation; skipping post-processing in this runner.');
@@ -832,7 +892,7 @@ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordin
832
892
  console.log(`Coordinator guidance included (decision: ${coordinatorResult.decision})`);
833
893
  }
834
894
  }
835
- const reviewerInvocation = await invokeWithLeaseHeartbeat(projectPath, leaseFence, () => (0, reviewer_js_1.invokeReviewer)(task, projectPath, coordinatorResult?.guidance, coordinatorResult?.decision, undefined, leaseFence?.runnerId));
895
+ const reviewerInvocation = await invokeWithLeaseHeartbeat(projectPath, leaseFence, () => (0, reviewer_js_1.invokeReviewer)(task, effectiveProjectPath, coordinatorResult?.guidance, coordinatorResult?.decision, undefined, leaseFence?.runnerId));
836
896
  if (reviewerInvocation.superseded || !reviewerInvocation.result) {
837
897
  if (!jsonMode) {
838
898
  console.log('\n↺ Lease ownership changed during reviewer invocation; skipping post-processing in this runner.');
@@ -847,25 +907,28 @@ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordin
847
907
  const modelName = reviewerResult.model ??
848
908
  phaseConfig.ai?.reviewer?.model ??
849
909
  'unknown';
850
- const output = (reviewerResult.stderr || reviewerResult.stdout || '').trim();
851
- const failed = await handleProviderInvocationFailure(db, task.id, {
852
- role: 'reviewer',
853
- provider: providerName,
854
- model: modelName,
855
- exitCode: reviewerResult.exitCode ?? 1,
856
- output,
857
- }, jsonMode);
858
- if (failed.shouldStopTask) {
859
- return;
910
+ // Check for credit/rate_limit exhaustion before provider failure handling
911
+ const registry = await (0, registry_js_1.getProviderRegistry)();
912
+ const prov = registry.tryGet(providerName);
913
+ if (prov) {
914
+ const classified = prov.classifyResult(reviewerResult);
915
+ if (classified?.type === 'credit_exhaustion') {
916
+ return { action: 'pause_credit_exhaustion', provider: providerName, model: modelName, role: 'reviewer', message: classified.message };
917
+ }
918
+ if (classified?.type === 'rate_limit') {
919
+ return { action: 'rate_limit', provider: providerName, model: modelName, role: 'reviewer', message: classified.message, retryAfterMs: classified.retryAfterMs };
920
+ }
860
921
  }
861
- return;
922
+ // Non-credit/rate-limit reviewer failure: fall through to orchestrator
923
+ }
924
+ else {
925
+ (0, queries_js_1.clearTaskFailureCount)(db, task.id);
862
926
  }
863
- (0, queries_js_1.clearTaskFailureCount)(db, task.id);
864
927
  }
865
928
  // STEP 2: Gather git context
866
- const commit_sha = (0, status_js_1.getCurrentCommitSha)(projectPath) || '';
867
- const files_changed = (0, status_js_1.getModifiedFiles)(projectPath);
868
- const diffStats = (0, status_js_1.getDiffStats)(projectPath);
929
+ const commit_sha = (0, status_js_1.getCurrentCommitSha)(effectiveProjectPath) || '';
930
+ const files_changed = (0, status_js_1.getModifiedFiles)(effectiveProjectPath);
931
+ const diffStats = (0, status_js_1.getDiffStats)(effectiveProjectPath);
869
932
  const gitContext = {
870
933
  commit_sha,
871
934
  files_changed,
@@ -1132,23 +1195,56 @@ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordin
1132
1195
  const commitSha = submissionCommitSha;
1133
1196
  switch (decision.decision) {
1134
1197
  case 'approve':
1135
- (0, queries_js_1.approveTask)(db, task.id, 'orchestrator', decision.notes, commitSha);
1136
- if (!jsonMode) {
1137
- console.log(`\n✓ Task APPROVED (confidence: ${decision.confidence})`);
1138
- console.log('Pushing to git...');
1139
- }
1140
- if (!refreshParallelWorkstreamLease(projectPath, leaseFence)) {
1198
+ if (poolSlotContext) {
1199
+ // ── Pool slot: post-review gate + merge pipeline ──
1200
+ (0, git_lifecycle_js_1.postReviewGate)(effectiveProjectPath);
1201
+ // Refresh slot from DB before merge
1202
+ const freshSlot = (0, pool_js_1.getSlot)(poolSlotContext.globalDb, poolSlotContext.slot.id);
1203
+ if (!freshSlot) {
1204
+ if (!jsonMode)
1205
+ console.log('\n✗ Pool slot disappeared during review');
1206
+ return;
1207
+ }
1208
+ const mergeResult = (0, git_lifecycle_js_1.mergeToBase)(poolSlotContext.globalDb, freshSlot, task.id);
1209
+ if (!mergeResult.ok) {
1210
+ const failureResult = (0, merge_pipeline_js_1.handleMergeFailure)(db, poolSlotContext, task.id, mergeResult);
1211
+ if (!jsonMode) {
1212
+ if (failureResult.taskBlocked) {
1213
+ console.log(`\n✗ Task BLOCKED (${failureResult.blockStatus}): ${failureResult.reason}`);
1214
+ }
1215
+ else {
1216
+ console.log(`\n⟳ Merge failed, returning to pending: ${failureResult.reason}`);
1217
+ }
1218
+ }
1219
+ return;
1220
+ }
1221
+ // Merge succeeded — approve the task
1222
+ (0, queries_js_1.approveTask)(db, task.id, 'orchestrator', decision.notes, mergeResult.mergedSha || commitSha);
1223
+ (0, pool_js_1.releaseSlot)(poolSlotContext.globalDb, poolSlotContext.slot.id);
1141
1224
  if (!jsonMode) {
1142
- console.log('\n Lease ownership lost before review push; skipping push in this runner.');
1225
+ console.log(`\n Task APPROVED and merged (sha: ${mergeResult.mergedSha})`);
1143
1226
  }
1144
- return;
1145
1227
  }
1146
- const pushResult = (0, push_js_1.pushToRemote)(projectPath, 'origin', branchName);
1147
- if (!jsonMode && pushResult.success) {
1148
- console.log(`Pushed successfully (${pushResult.commitHash})`);
1149
- }
1150
- else if (!jsonMode) {
1151
- console.warn('Push failed. Will stack and retry on next completion.');
1228
+ else {
1229
+ // Legacy path: direct push
1230
+ (0, queries_js_1.approveTask)(db, task.id, 'orchestrator', decision.notes, commitSha);
1231
+ if (!jsonMode) {
1232
+ console.log(`\n✓ Task APPROVED (confidence: ${decision.confidence})`);
1233
+ console.log('Pushing to git...');
1234
+ }
1235
+ if (!refreshParallelWorkstreamLease(projectPath, leaseFence)) {
1236
+ if (!jsonMode) {
1237
+ console.log('\n↺ Lease ownership lost before review push; skipping push in this runner.');
1238
+ }
1239
+ return;
1240
+ }
1241
+ const pushResult = (0, push_js_1.pushToRemote)(effectiveProjectPath, 'origin', branchName);
1242
+ if (!jsonMode && pushResult.success) {
1243
+ console.log(`Pushed successfully (${pushResult.commitHash})`);
1244
+ }
1245
+ else if (!jsonMode) {
1246
+ console.warn('Push failed. Will stack and retry on next completion.');
1247
+ }
1152
1248
  }
1153
1249
  break;
1154
1250
  case 'reject':
@@ -1170,7 +1266,7 @@ async function runReviewerPhase(db, task, projectPath, jsonMode = false, coordin
1170
1266
  }
1171
1267
  return;
1172
1268
  }
1173
- const disputePush = (0, push_js_1.pushToRemote)(projectPath, 'origin', branchName);
1269
+ const disputePush = (0, push_js_1.pushToRemote)(effectiveProjectPath, 'origin', branchName);
1174
1270
  if (!jsonMode && disputePush.success) {
1175
1271
  console.log(`Pushed disputed work (${disputePush.commitHash})`);
1176
1272
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loop-phases.js","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-phases.js","sourceRoot":"","sources":["../../src/commands/loop-phases.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/commands/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA4EnD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmVnF"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/commands/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA6EnD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoWnF"}
@@ -14,6 +14,7 @@ const task_selector_js_1 = require("../orchestrator/task-selector.js");
14
14
  const wakeup_js_1 = require("../runners/wakeup.js");
15
15
  const projects_js_1 = require("../runners/projects.js");
16
16
  const loop_phases_js_1 = require("./loop-phases.js");
17
+ const credit_pause_js_1 = require("../runners/credit-pause.js");
17
18
  const help_js_1 = require("../cli/help.js");
18
19
  const output_js_1 = require("../cli/output.js");
19
20
  const errors_js_1 = require("../cli/errors.js");
@@ -343,19 +344,36 @@ async function loopCommand(args, flags) {
343
344
  action,
344
345
  status: task.status,
345
346
  });
347
+ let creditResult = undefined;
346
348
  if (action === 'start') {
347
349
  // Starting a new task
348
350
  (0, task_selector_js_1.markTaskInProgress)(db, task.id);
349
- await (0, loop_phases_js_1.runCoderPhase)(db, task, projectPath, 'start', flags.json, coordinatorCache, COORDINATOR_THRESHOLDS);
351
+ creditResult = await (0, loop_phases_js_1.runCoderPhase)(db, task, projectPath, 'start', flags.json, coordinatorCache, COORDINATOR_THRESHOLDS);
350
352
  }
351
353
  else if (action === 'resume') {
352
354
  // Resuming in-progress task
353
- await (0, loop_phases_js_1.runCoderPhase)(db, task, projectPath, 'resume', flags.json, coordinatorCache, COORDINATOR_THRESHOLDS);
355
+ creditResult = await (0, loop_phases_js_1.runCoderPhase)(db, task, projectPath, 'resume', flags.json, coordinatorCache, COORDINATOR_THRESHOLDS);
354
356
  }
355
357
  else if (action === 'review') {
356
358
  // Task ready for review - pass coordinator guidance if available
357
359
  const cachedCoord = coordinatorCache.get(task.id);
358
- await (0, loop_phases_js_1.runReviewerPhase)(db, task, projectPath, flags.json, cachedCoord);
360
+ creditResult = await (0, loop_phases_js_1.runReviewerPhase)(db, task, projectPath, flags.json, cachedCoord);
361
+ }
362
+ if (creditResult) {
363
+ const pauseResult = await (0, credit_pause_js_1.handleCreditExhaustion)({
364
+ ...creditResult,
365
+ runnerId: 'foreground',
366
+ db,
367
+ projectPath,
368
+ shouldStop: () => false,
369
+ onceMode: Boolean(values.once),
370
+ });
371
+ if (pauseResult.resolution === 'immediate_fail') {
372
+ process.exit(1);
373
+ }
374
+ if (!pauseResult.resolved)
375
+ break;
376
+ continue;
359
377
  }
360
378
  // Check if we should continue
361
379
  if (values.once) {