steroids-cli 0.17.0 → 0.18.0

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 (117) hide show
  1. package/README.md +8 -0
  2. package/dist/commands/loop-phases-coder-decision.d.ts.map +1 -1
  3. package/dist/commands/loop-phases-coder-decision.js +2 -1
  4. package/dist/commands/loop-phases-coder-decision.js.map +1 -1
  5. package/dist/commands/loop-phases-helpers.d.ts.map +1 -1
  6. package/dist/commands/loop-phases-helpers.js.map +1 -1
  7. package/dist/commands/loop-phases-reviewer.d.ts.map +1 -1
  8. package/dist/commands/loop-phases-reviewer.js +18 -39
  9. package/dist/commands/loop-phases-reviewer.js.map +1 -1
  10. package/dist/commands/monitor-respond.d.ts.map +1 -1
  11. package/dist/commands/monitor-respond.js +15 -2
  12. package/dist/commands/monitor-respond.js.map +1 -1
  13. package/dist/commands/monitor.d.ts +1 -1
  14. package/dist/commands/monitor.d.ts.map +1 -1
  15. package/dist/commands/monitor.js +41 -6
  16. package/dist/commands/monitor.js.map +1 -1
  17. package/dist/commands/reviewer-preflight.d.ts.map +1 -1
  18. package/dist/commands/reviewer-preflight.js +8 -64
  19. package/dist/commands/reviewer-preflight.js.map +1 -1
  20. package/dist/commands/sections-delete.d.ts.map +1 -1
  21. package/dist/commands/sections-delete.js +16 -1
  22. package/dist/commands/sections-delete.js.map +1 -1
  23. package/dist/commands/task-runtime-cleanup.d.ts +13 -0
  24. package/dist/commands/task-runtime-cleanup.d.ts.map +1 -0
  25. package/dist/commands/task-runtime-cleanup.js +134 -0
  26. package/dist/commands/task-runtime-cleanup.js.map +1 -0
  27. package/dist/commands/tasks-reset.d.ts.map +1 -1
  28. package/dist/commands/tasks-reset.js +20 -52
  29. package/dist/commands/tasks-reset.js.map +1 -1
  30. package/dist/commands/tasks.d.ts.map +1 -1
  31. package/dist/commands/tasks.js +10 -68
  32. package/dist/commands/tasks.js.map +1 -1
  33. package/dist/database/queries.d.ts.map +1 -1
  34. package/dist/database/queries.js +3 -0
  35. package/dist/database/queries.js.map +1 -1
  36. package/dist/git/section-pr.d.ts +4 -3
  37. package/dist/git/section-pr.d.ts.map +1 -1
  38. package/dist/git/section-pr.js +8 -15
  39. package/dist/git/section-pr.js.map +1 -1
  40. package/dist/intake/reviewer-approval.d.ts +5 -1
  41. package/dist/intake/reviewer-approval.d.ts.map +1 -1
  42. package/dist/intake/reviewer-approval.js +90 -15
  43. package/dist/intake/reviewer-approval.js.map +1 -1
  44. package/dist/monitor/investigator-agent.d.ts +2 -1
  45. package/dist/monitor/investigator-agent.d.ts.map +1 -1
  46. package/dist/monitor/investigator-agent.js +26 -6
  47. package/dist/monitor/investigator-agent.js.map +1 -1
  48. package/dist/monitor/investigator-prompt.d.ts +2 -1
  49. package/dist/monitor/investigator-prompt.d.ts.map +1 -1
  50. package/dist/monitor/investigator-prompt.js +110 -69
  51. package/dist/monitor/investigator-prompt.js.map +1 -1
  52. package/dist/monitor/loop.d.ts.map +1 -1
  53. package/dist/monitor/loop.js +63 -7
  54. package/dist/monitor/loop.js.map +1 -1
  55. package/dist/monitor/response-mode.d.ts +38 -0
  56. package/dist/monitor/response-mode.d.ts.map +1 -0
  57. package/dist/monitor/response-mode.js +189 -0
  58. package/dist/monitor/response-mode.js.map +1 -0
  59. package/dist/orchestrator/approval-effects-replay.d.ts +17 -0
  60. package/dist/orchestrator/approval-effects-replay.d.ts.map +1 -0
  61. package/dist/orchestrator/approval-effects-replay.js +55 -0
  62. package/dist/orchestrator/approval-effects-replay.js.map +1 -0
  63. package/dist/orchestrator/automated-approval-effects.d.ts +26 -0
  64. package/dist/orchestrator/automated-approval-effects.d.ts.map +1 -0
  65. package/dist/orchestrator/automated-approval-effects.js +294 -0
  66. package/dist/orchestrator/automated-approval-effects.js.map +1 -0
  67. package/dist/orchestrator/merge-queue-completion.d.ts +12 -0
  68. package/dist/orchestrator/merge-queue-completion.d.ts.map +1 -0
  69. package/dist/orchestrator/merge-queue-completion.js +33 -0
  70. package/dist/orchestrator/merge-queue-completion.js.map +1 -0
  71. package/dist/orchestrator/merge-queue.d.ts +8 -1
  72. package/dist/orchestrator/merge-queue.d.ts.map +1 -1
  73. package/dist/orchestrator/merge-queue.js +48 -13
  74. package/dist/orchestrator/merge-queue.js.map +1 -1
  75. package/dist/orchestrator/reviewer-approval-outcome.d.ts +26 -0
  76. package/dist/orchestrator/reviewer-approval-outcome.d.ts.map +1 -0
  77. package/dist/orchestrator/reviewer-approval-outcome.js +52 -0
  78. package/dist/orchestrator/reviewer-approval-outcome.js.map +1 -0
  79. package/dist/orchestrator/reviewer-policy.d.ts +12 -0
  80. package/dist/orchestrator/reviewer-policy.d.ts.map +1 -0
  81. package/dist/orchestrator/reviewer-policy.js +53 -0
  82. package/dist/orchestrator/reviewer-policy.js.map +1 -0
  83. package/dist/orchestrator/reviewer.d.ts +4 -19
  84. package/dist/orchestrator/reviewer.d.ts.map +1 -1
  85. package/dist/orchestrator/reviewer.js +14 -63
  86. package/dist/orchestrator/reviewer.js.map +1 -1
  87. package/dist/orchestrator/section-completion.d.ts +9 -0
  88. package/dist/orchestrator/section-completion.d.ts.map +1 -0
  89. package/dist/orchestrator/section-completion.js +22 -0
  90. package/dist/orchestrator/section-completion.js.map +1 -0
  91. package/dist/orchestrator/submission-context.d.ts +30 -0
  92. package/dist/orchestrator/submission-context.d.ts.map +1 -0
  93. package/dist/orchestrator/submission-context.js +124 -0
  94. package/dist/orchestrator/submission-context.js.map +1 -0
  95. package/dist/runners/global-db-connection.d.ts.map +1 -1
  96. package/dist/runners/global-db-connection.js +21 -0
  97. package/dist/runners/global-db-connection.js.map +1 -1
  98. package/dist/runners/global-db-schema-migrations-v21.d.ts +3 -2
  99. package/dist/runners/global-db-schema-migrations-v21.d.ts.map +1 -1
  100. package/dist/runners/global-db-schema-migrations-v21.js +8 -3
  101. package/dist/runners/global-db-schema-migrations-v21.js.map +1 -1
  102. package/dist/runners/global-db-schema.d.ts +2 -1
  103. package/dist/runners/global-db-schema.d.ts.map +1 -1
  104. package/dist/runners/global-db-schema.js +6 -1
  105. package/dist/runners/global-db-schema.js.map +1 -1
  106. package/dist/runners/wakeup-project.d.ts.map +1 -1
  107. package/dist/runners/wakeup-project.js +9 -1
  108. package/dist/runners/wakeup-project.js.map +1 -1
  109. package/dist/runners/wakeup-sanitise-recovery.d.ts +1 -1
  110. package/dist/runners/wakeup-sanitise-recovery.d.ts.map +1 -1
  111. package/dist/runners/wakeup-sanitise-recovery.js +26 -15
  112. package/dist/runners/wakeup-sanitise-recovery.js.map +1 -1
  113. package/dist/runners/wakeup-sanitise.d.ts +1 -1
  114. package/dist/runners/wakeup-sanitise.d.ts.map +1 -1
  115. package/dist/runners/wakeup-sanitise.js +5 -5
  116. package/dist/runners/wakeup-sanitise.js.map +1 -1
  117. package/package.json +28 -2
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deriveApprovedOutcome = deriveApprovedOutcome;
4
+ exports.applyApprovedOutcome = applyApprovedOutcome;
5
+ const queries_js_1 = require("../database/queries.js");
6
+ const automated_approval_effects_js_1 = require("./automated-approval-effects.js");
7
+ function deriveApprovedOutcome(submissionContext, approvalSafety) {
8
+ if (submissionContext.isNoOp) {
9
+ return { kind: 'complete', commitSha: approvalSafety.approvalSha };
10
+ }
11
+ return { kind: 'queue_merge', approvedSha: approvalSafety.approvalSha };
12
+ }
13
+ async function applyApprovedOutcome(db, task, outcome, options) {
14
+ if (outcome.kind === 'complete') {
15
+ await (0, automated_approval_effects_js_1.completeTaskWithApprovalEffects)(db, task, {
16
+ actor: options.actor,
17
+ notes: options.notes,
18
+ commitSha: outcome.commitSha,
19
+ config: options.config,
20
+ projectPath: options.projectPath,
21
+ intakeProjectPath: options.intakeProjectPath,
22
+ hooksEnabled: options.hooksEnabled,
23
+ verbose: options.verbose,
24
+ replayInput: options.replayInput,
25
+ });
26
+ return;
27
+ }
28
+ const currentTask = (0, queries_js_1.getTask)(db, task.id);
29
+ if (!currentTask) {
30
+ throw new Error(`Task not found: ${task.id}`);
31
+ }
32
+ const replayInput = options.replayInput ??
33
+ (0, automated_approval_effects_js_1.buildApprovalEffectsReplayInput)(task, options.intakeProjectPath ?? options.projectPath);
34
+ db.transaction(() => {
35
+ db.prepare(`UPDATE tasks
36
+ SET status = 'merge_pending',
37
+ merge_phase = 'queued',
38
+ approved_sha = ?,
39
+ updated_at = datetime('now')
40
+ WHERE id = ?`).run(outcome.approvedSha, task.id);
41
+ (0, queries_js_1.addAuditEntry)(db, task.id, currentTask.status, 'merge_pending', options.actor, {
42
+ actorType: 'orchestrator',
43
+ notes: options.notes,
44
+ commitSha: outcome.approvedSha,
45
+ metadata: {
46
+ approved_sha: outcome.approvedSha,
47
+ approval_effects_replay: replayInput,
48
+ },
49
+ });
50
+ })();
51
+ }
52
+ //# sourceMappingURL=reviewer-approval-outcome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewer-approval-outcome.js","sourceRoot":"","sources":["../../src/orchestrator/reviewer-approval-outcome.ts"],"names":[],"mappings":";;AAcA,sDASC;AAED,oDA2DC;AAlFD,uDAA2E;AAC3E,mFAGyC;AAQzC,SAAgB,qBAAqB,CACnC,iBAAoC,EACpC,cAA2D;IAE3D,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC;IACrE,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC;AAC1E,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,EAAqB,EACrB,IAA+D,EAC/D,OAAwB,EACxB,OASC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,MAAM,IAAA,+DAA+B,EAAC,EAAE,EAAE,IAAI,EAAE;YAC9C,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,oBAAO,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,WAAW,GACf,OAAO,CAAC,WAAW;QACnB,IAAA,+DAA+B,EAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAE1F,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;QAClB,EAAE,CAAC,OAAO,CACR;;;;;oBAKc,CACf,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAEpC,IAAA,0BAAa,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE;YAC7E,SAAS,EAAE,cAAc;YACzB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,WAAW;YAC9B,QAAQ,EAAE;gBACR,YAAY,EAAE,OAAO,CAAC,WAAW;gBACjC,uBAAuB,EAAE,WAAW;aACrC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;AACP,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { ReviewerConfig, SteroidsConfig } from '../config/loader.js';
2
+ import type { ReviewerResult } from './reviewer.js';
3
+ export type FinalDecision = 'approve' | 'reject' | 'dispute' | 'skip' | 'unclear';
4
+ export type MultiReviewRoute = 'direct' | 'local_reject_merge' | 'arbitrate';
5
+ export declare function resolveDecision(results: ReviewerResult[]): {
6
+ decision: FinalDecision;
7
+ needsMerge: boolean;
8
+ route: MultiReviewRoute;
9
+ };
10
+ export declare function getReviewerConfigs(config: SteroidsConfig): ReviewerConfig[];
11
+ export declare function isMultiReviewEnabled(config: SteroidsConfig): boolean;
12
+ //# sourceMappingURL=reviewer-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewer-policy.d.ts","sourceRoot":"","sources":["../../src/orchestrator/reviewer-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAElF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,oBAAoB,GAAG,WAAW,CAAC;AAE7E,wBAAgB,eAAe,CAC7B,OAAO,EAAE,cAAc,EAAE,GACxB;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,CAsC3E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,EAAE,CAQ3E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEpE"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveDecision = resolveDecision;
4
+ exports.getReviewerConfigs = getReviewerConfigs;
5
+ exports.isMultiReviewEnabled = isMultiReviewEnabled;
6
+ function resolveDecision(results) {
7
+ if (results.length === 0) {
8
+ return { decision: 'unclear', needsMerge: false, route: 'direct' };
9
+ }
10
+ const decisions = results.map((result) => result.decision);
11
+ const defined = decisions.filter((decision) => decision !== undefined);
12
+ const hasReject = defined.includes('reject');
13
+ const hasDispute = defined.includes('dispute');
14
+ const hasApprove = defined.includes('approve');
15
+ const hasSkip = defined.includes('skip');
16
+ const hasUndefined = decisions.some((decision) => decision === undefined);
17
+ if (!hasUndefined && defined.length > 0 && defined.every((decision) => decision === 'approve')) {
18
+ return { decision: 'approve', needsMerge: false, route: 'direct' };
19
+ }
20
+ if (!hasUndefined && defined.length > 0 && defined.every((decision) => decision === 'skip')) {
21
+ return { decision: 'skip', needsMerge: false, route: 'direct' };
22
+ }
23
+ if (!hasUndefined && defined.length > 0 && defined.every((decision) => decision === 'dispute')) {
24
+ return { decision: 'dispute', needsMerge: false, route: 'direct' };
25
+ }
26
+ if (!hasUndefined && !hasDispute && hasReject && defined.every((decision) => decision === 'reject')) {
27
+ return {
28
+ decision: 'reject',
29
+ needsMerge: defined.length > 1,
30
+ route: defined.length > 1 ? 'local_reject_merge' : 'direct',
31
+ };
32
+ }
33
+ if (!hasUndefined && !hasReject && !hasDispute && hasApprove && hasSkip) {
34
+ return { decision: 'unclear', needsMerge: false, route: 'arbitrate' };
35
+ }
36
+ if (hasReject || hasDispute || hasUndefined) {
37
+ return { decision: 'unclear', needsMerge: false, route: 'arbitrate' };
38
+ }
39
+ return { decision: 'unclear', needsMerge: false, route: 'direct' };
40
+ }
41
+ function getReviewerConfigs(config) {
42
+ if (config.ai?.reviewers && config.ai.reviewers.length > 0) {
43
+ return config.ai.reviewers;
44
+ }
45
+ if (config.ai?.reviewer) {
46
+ return [config.ai.reviewer];
47
+ }
48
+ return [];
49
+ }
50
+ function isMultiReviewEnabled(config) {
51
+ return !!(config.ai?.reviewers && config.ai.reviewers.length > 1);
52
+ }
53
+ //# sourceMappingURL=reviewer-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewer-policy.js","sourceRoot":"","sources":["../../src/orchestrator/reviewer-policy.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@
3
3
  * Uses AI provider system for flexible LLM support
4
4
  */
5
5
  import type { Task } from '../database/queries.js';
6
- import { type ReviewerConfig, type SteroidsConfig } from '../config/loader.js';
6
+ import { type ReviewerConfig } from '../config/loader.js';
7
7
  import { type BaseRunnerResult } from './base-runner.js';
8
+ import { getReviewerConfigs, isMultiReviewEnabled, resolveDecision, type FinalDecision, type MultiReviewRoute } from './reviewer-policy.js';
8
9
  export interface ReviewerResult extends BaseRunnerResult {
9
10
  decision?: 'approve' | 'reject' | 'dispute' | 'skip';
10
11
  notes?: string;
@@ -13,24 +14,8 @@ export interface ReviewerResult extends BaseRunnerResult {
13
14
  /** True when coder submitted with [NO_OP_SUBMISSION] marker (no new commits, pre-existing work). */
14
15
  isNoOp?: boolean;
15
16
  }
16
- export type FinalDecision = 'approve' | 'reject' | 'dispute' | 'skip' | 'unclear';
17
- export type MultiReviewRoute = 'direct' | 'local_reject_merge' | 'arbitrate';
18
- /**
19
- * Deterministic policy engine for multi-reviewer decisions
20
- */
21
- export declare function resolveDecision(results: ReviewerResult[]): {
22
- decision: FinalDecision;
23
- needsMerge: boolean;
24
- route: MultiReviewRoute;
25
- };
26
- /**
27
- * Helper to get reviewer configurations, handling both singular and plural config
28
- */
29
- export declare function getReviewerConfigs(config: SteroidsConfig): ReviewerConfig[];
30
- /**
31
- * Check if multi-review is enabled
32
- */
33
- export declare function isMultiReviewEnabled(config: SteroidsConfig): boolean;
17
+ export { getReviewerConfigs, isMultiReviewEnabled, resolveDecision };
18
+ export type { FinalDecision, MultiReviewRoute };
34
19
  /**
35
20
  * Invoke multiple reviewers in parallel
36
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../src/orchestrator/reviewer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAmBnD,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK3F,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGrE,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oGAAoG;IACpG,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAElF,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,oBAAoB,GAAG,WAAW,CAAC;AAE7E;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,cAAc,EAAE,GACxB;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,CAmC3E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,EAAE,CAQ3E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAEpE;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,cAAc,EAAE,EACjC,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,MAAM,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,EAAE,CAAC,CAyB3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AAoTD,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,MAAM,EAC5B,cAAc,CAAC,EAAE,cAAc,EAC/B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAGzB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,IAAI,EAAE,EACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAG9B"}
1
+ {"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../src/orchestrator/reviewer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAiBnD,OAAO,EAAc,KAAK,cAAc,EAAuB,MAAM,qBAAqB,CAAC;AAK3F,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACtD,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oGAAoG;IACpG,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,EAAE,CAAC;AACrE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;AAEhD;;GAEG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,cAAc,EAAE,EACjC,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,MAAM,EAC5B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,EAAE,CAAC,CAyB3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,SAAS,EAAE,MAAM,CAAC;CACnB;AAwTD,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,MAAM,EAC5B,cAAc,CAAC,EAAE,cAAc,EAC/B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAGzB;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,IAAI,EAAE,EACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,mBAAmB,CAAC,CAG9B"}
@@ -4,9 +4,7 @@
4
4
  * Uses AI provider system for flexible LLM support
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.resolveDecision = resolveDecision;
8
- exports.getReviewerConfigs = getReviewerConfigs;
9
- exports.isMultiReviewEnabled = isMultiReviewEnabled;
7
+ exports.resolveDecision = exports.isMultiReviewEnabled = exports.getReviewerConfigs = void 0;
10
8
  exports.invokeReviewers = invokeReviewers;
11
9
  exports.invokeReviewer = invokeReviewer;
12
10
  exports.invokeReviewerBatch = invokeReviewerBatch;
@@ -21,62 +19,11 @@ const submission_resolution_js_1 = require("../git/submission-resolution.js");
21
19
  const history_manager_js_1 = require("./history-manager.js");
22
20
  const base_runner_js_1 = require("./base-runner.js");
23
21
  const reviewer_decision_parser_js_1 = require("./reviewer-decision-parser.js");
24
- /**
25
- * Deterministic policy engine for multi-reviewer decisions
26
- */
27
- function resolveDecision(results) {
28
- if (results.length === 0)
29
- return { decision: 'unclear', needsMerge: false, route: 'direct' };
30
- const decisions = results.map(r => r.decision);
31
- const defined = decisions.filter((d) => d !== undefined);
32
- const hasReject = defined.includes('reject');
33
- const hasDispute = defined.includes('dispute');
34
- const hasApprove = defined.includes('approve');
35
- const hasSkip = defined.includes('skip');
36
- const hasUndefined = decisions.some(d => d === undefined);
37
- if (!hasUndefined && defined.length > 0 && defined.every(d => d === 'approve')) {
38
- return { decision: 'approve', needsMerge: false, route: 'direct' };
39
- }
40
- if (!hasUndefined && defined.length > 0 && defined.every(d => d === 'skip')) {
41
- return { decision: 'skip', needsMerge: false, route: 'direct' };
42
- }
43
- if (!hasUndefined && defined.length > 0 && defined.every(d => d === 'dispute')) {
44
- return { decision: 'dispute', needsMerge: false, route: 'direct' };
45
- }
46
- if (!hasUndefined && !hasDispute && hasReject && defined.every(d => d === 'reject')) {
47
- const rejectCount = defined.length;
48
- return {
49
- decision: 'reject',
50
- needsMerge: rejectCount > 1,
51
- route: rejectCount > 1 ? 'local_reject_merge' : 'direct',
52
- };
53
- }
54
- if (!hasUndefined && !hasReject && !hasDispute && hasApprove && hasSkip) {
55
- return { decision: 'unclear', needsMerge: false, route: 'arbitrate' };
56
- }
57
- if (hasReject || hasDispute || hasUndefined) {
58
- return { decision: 'unclear', needsMerge: false, route: 'arbitrate' };
59
- }
60
- return { decision: 'unclear', needsMerge: false, route: 'direct' };
61
- }
62
- /**
63
- * Helper to get reviewer configurations, handling both singular and plural config
64
- */
65
- function getReviewerConfigs(config) {
66
- if (config.ai?.reviewers && config.ai.reviewers.length > 0) {
67
- return config.ai.reviewers;
68
- }
69
- if (config.ai?.reviewer) {
70
- return [config.ai.reviewer];
71
- }
72
- return [];
73
- }
74
- /**
75
- * Check if multi-review is enabled
76
- */
77
- function isMultiReviewEnabled(config) {
78
- return !!(config.ai?.reviewers && config.ai.reviewers.length > 1);
79
- }
22
+ const reviewer_policy_js_1 = require("./reviewer-policy.js");
23
+ Object.defineProperty(exports, "getReviewerConfigs", { enumerable: true, get: function () { return reviewer_policy_js_1.getReviewerConfigs; } });
24
+ Object.defineProperty(exports, "isMultiReviewEnabled", { enumerable: true, get: function () { return reviewer_policy_js_1.isMultiReviewEnabled; } });
25
+ Object.defineProperty(exports, "resolveDecision", { enumerable: true, get: function () { return reviewer_policy_js_1.resolveDecision; } });
26
+ const submission_context_js_1 = require("./submission-context.js");
80
27
  /**
81
28
  * Invoke multiple reviewers in parallel
82
29
  */
@@ -121,6 +68,7 @@ class ReviewerRunner extends base_runner_js_1.BaseRunner {
121
68
  let submissionCommitHashes = [];
122
69
  let unresolvedSubmissionCommits = [];
123
70
  let userFeedbackItems = [];
71
+ let isNoOp = false;
124
72
  try {
125
73
  (0, connection_js_1.withDatabase)(projectPath, (db) => {
126
74
  if (task.section_id) {
@@ -140,11 +88,13 @@ class ReviewerRunner extends base_runner_js_1.BaseRunner {
140
88
  userFeedbackItems = feedbackRows.map(f => f.feedback);
141
89
  console.log(`Found ${feedbackRows.length} user feedback item(s) for reviewer`);
142
90
  }
143
- submissionNotes = (0, queries_js_1.getLatestSubmissionNotes)(db, task.id);
91
+ const submissionContext = (0, submission_context_js_1.loadSubmissionContext)(db, projectPath, task.id);
92
+ submissionNotes = submissionContext.latestReviewNotes;
93
+ isNoOp = submissionContext.isNoOp;
144
94
  if (submissionNotes) {
145
95
  console.log(`Coder included notes with submission`);
146
96
  }
147
- const submissionHistory = (0, submission_resolution_js_1.resolveSubmissionCommitHistoryWithRecovery)(projectPath, (0, queries_js_1.getSubmissionCommitShas)(db, task.id));
97
+ const submissionHistory = (0, submission_resolution_js_1.resolveSubmissionCommitHistoryWithRecovery)(projectPath, submissionContext.approvalCandidateShas);
148
98
  if (!submissionHistory.latestReachableSha) {
149
99
  const attemptsText = submissionHistory.attempts.join(' | ') || 'none';
150
100
  throw new Error(`No reachable submission commit hash found for task ${task.id} (${submissionHistory.reason ?? 'not_reachable'}; attempts: ${attemptsText})`);
@@ -254,7 +204,7 @@ class ReviewerRunner extends base_runner_js_1.BaseRunner {
254
204
  notes: decision === 'reject' ? 'See reviewer output for details' : undefined,
255
205
  provider: providerName,
256
206
  model: modelName,
257
- isNoOp: Boolean(submissionNotes?.startsWith('[NO_OP_SUBMISSION]')),
207
+ isNoOp,
258
208
  };
259
209
  }
260
210
  finally {
@@ -276,7 +226,8 @@ class ReviewerRunner extends base_runner_js_1.BaseRunner {
276
226
  (0, connection_js_1.withDatabase)(projectPath, (db) => {
277
227
  const unresolved = [];
278
228
  taskCommits = tasks.map(task => {
279
- const submissionResolution = (0, submission_resolution_js_1.resolveSubmissionCommitWithRecovery)(projectPath, (0, queries_js_1.getSubmissionCommitShas)(db, task.id));
229
+ const submissionContext = (0, submission_context_js_1.loadSubmissionContext)(db, projectPath, task.id);
230
+ const submissionResolution = (0, submission_resolution_js_1.resolveSubmissionCommitWithRecovery)(projectPath, submissionContext.approvalCandidateShas);
280
231
  if (submissionResolution.status !== 'resolved') {
281
232
  const attemptsText = submissionResolution.attempts.join(' | ') || 'none';
282
233
  unresolved.push(`${task.id} (${submissionResolution.reason}; attempts: ${attemptsText})`);
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/orchestrator/reviewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/orchestrator/reviewer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Task } from '../database/queries.js';
2
+ export interface SectionCompletionState {
3
+ totalCount: number;
4
+ activeCount: number;
5
+ completedCount: number;
6
+ done: boolean;
7
+ }
8
+ export declare function getSectionCompletionState(tasks: Array<Pick<Task, 'status'>>): SectionCompletionState;
9
+ //# sourceMappingURL=section-completion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-completion.d.ts","sourceRoot":"","sources":["../../src/orchestrator/section-completion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,OAAO,CAAC;CACf;AAUD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,GACjC,sBAAsB,CAWxB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSectionCompletionState = getSectionCompletionState;
4
+ const ACTIVE_SECTION_TASK_STATUSES = new Set([
5
+ 'pending',
6
+ 'in_progress',
7
+ 'review',
8
+ 'merge_pending',
9
+ 'partial',
10
+ ]);
11
+ function getSectionCompletionState(tasks) {
12
+ const totalCount = tasks.length;
13
+ const activeCount = tasks.filter((task) => ACTIVE_SECTION_TASK_STATUSES.has(task.status)).length;
14
+ const completedCount = tasks.filter((task) => task.status === 'completed').length;
15
+ return {
16
+ totalCount,
17
+ activeCount,
18
+ completedCount,
19
+ done: totalCount > 0 && activeCount === 0 && completedCount > 0,
20
+ };
21
+ }
22
+ //# sourceMappingURL=section-completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-completion.js","sourceRoot":"","sources":["../../src/orchestrator/section-completion.ts"],"names":[],"mappings":";;AAiBA,8DAaC;AArBD,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAiB;IAC3D,SAAS;IACT,aAAa;IACb,QAAQ;IACR,eAAe;IACf,SAAS;CACV,CAAC,CAAC;AAEH,SAAgB,yBAAyB,CACvC,KAAkC;IAElC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACjG,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IAElF,OAAO;QACL,UAAU;QACV,WAAW;QACX,cAAc;QACd,IAAI,EAAE,UAAU,GAAG,CAAC,IAAI,WAAW,KAAK,CAAC,IAAI,cAAc,GAAG,CAAC;KAChE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type Database from 'better-sqlite3';
2
+ import type { Task } from '../database/queries.js';
3
+ export interface SubmissionContext {
4
+ latestReviewAuditId: number | null;
5
+ latestReviewNotes: string | null;
6
+ latestReviewCommitSha: string | null;
7
+ approvalCandidateShas: string[];
8
+ latestExpectedSha: string | null;
9
+ isNoOp: boolean;
10
+ durableRefTrusted: boolean;
11
+ }
12
+ export type ApprovalSafetyResult = {
13
+ ok: true;
14
+ approvalSha: string;
15
+ } | {
16
+ ok: false;
17
+ reason: 'missing_latest_submission' | 'all_submissions_unreachable' | 'latest_missing_with_older_reachable';
18
+ attempts: string[];
19
+ };
20
+ export declare function loadSubmissionContext(db: Database.Database, projectPath: string, taskId: string): SubmissionContext;
21
+ export declare function resolveApprovalSafety(projectPath: string, submissionContext: SubmissionContext): ApprovalSafetyResult;
22
+ export declare function handleUnsafeApprovalSubmission(db: Database.Database, task: Pick<Task, 'id' | 'status'>, failure: Extract<ApprovalSafetyResult, {
23
+ ok: false;
24
+ }>, options?: {
25
+ jsonMode?: boolean;
26
+ }): {
27
+ ok: false;
28
+ };
29
+ export declare function noteDurableRefMismatch(db: Database.Database, task: Pick<Task, 'id' | 'status'>, projectPath: string): void;
30
+ //# sourceMappingURL=submission-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission-context.d.ts","sourceRoot":"","sources":["../../src/orchestrator/submission-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAmBnD,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACjC;IACE,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EACF,2BAA2B,GAC3B,6BAA6B,GAC7B,qCAAqC,CAAC;IAC1C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAyCN,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,iBAAiB,CA4BnB;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,iBAAiB,GACnC,oBAAoB,CA2BtB;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAAC,EACjC,OAAO,EAAE,OAAO,CAAC,oBAAoB,EAAE;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC,EACrD,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CA8Bf;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAAC,EACjC,WAAW,EAAE,MAAM,GAClB,IAAI,CAoBN"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadSubmissionContext = loadSubmissionContext;
4
+ exports.resolveApprovalSafety = resolveApprovalSafety;
5
+ exports.handleUnsafeApprovalSubmission = handleUnsafeApprovalSubmission;
6
+ exports.noteDurableRefMismatch = noteDurableRefMismatch;
7
+ const queries_js_1 = require("../database/queries.js");
8
+ const submission_durability_js_1 = require("../git/submission-durability.js");
9
+ const submission_resolution_js_1 = require("../git/submission-resolution.js");
10
+ const commit_recovery_js_1 = require("../commands/commit-recovery.js");
11
+ const loop_phases_helpers_js_1 = require("../commands/loop-phases-helpers.js");
12
+ function loadLatestReviewRow(db, taskId) {
13
+ const row = db
14
+ .prepare(`WITH latest_attempt AS (
15
+ SELECT COALESCE(MAX(id), 0) AS boundary_id
16
+ FROM audit
17
+ WHERE task_id = ?
18
+ AND from_status = 'pending'
19
+ AND to_status = 'in_progress'
20
+ )
21
+ SELECT a.id, a.notes, a.commit_sha, a.metadata
22
+ FROM audit a
23
+ JOIN latest_attempt la
24
+ WHERE a.task_id = ?
25
+ AND a.to_status = 'review'
26
+ AND a.id > la.boundary_id
27
+ ORDER BY a.created_at DESC, a.id DESC
28
+ LIMIT 1`)
29
+ .get(taskId, taskId);
30
+ return row ?? null;
31
+ }
32
+ function parseLatestReviewMetadata(raw) {
33
+ if (!raw) {
34
+ return null;
35
+ }
36
+ try {
37
+ return JSON.parse(raw);
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ }
43
+ function loadSubmissionContext(db, projectPath, taskId) {
44
+ const latestReviewRow = loadLatestReviewRow(db, taskId);
45
+ const latestReviewMetadata = parseLatestReviewMetadata(latestReviewRow?.metadata ?? null);
46
+ const submissionCandidates = (0, queries_js_1.getSubmissionCommitShas)(db, taskId);
47
+ const durableRefState = (0, submission_durability_js_1.readDurableSubmissionRef)(projectPath, taskId);
48
+ const latestReviewCommitSha = latestReviewRow?.commit_sha ?? null;
49
+ const durableRefTrusted = Boolean(latestReviewMetadata?.durable_ref) &&
50
+ Boolean(durableRefState?.sha) &&
51
+ Boolean(latestReviewCommitSha) &&
52
+ durableRefState.sha === latestReviewCommitSha &&
53
+ (!latestReviewMetadata?.durable_ref_sha || latestReviewMetadata.durable_ref_sha === durableRefState.sha);
54
+ const approvalCandidateShas = durableRefTrusted && durableRefState?.sha
55
+ ? [durableRefState.sha, ...submissionCandidates.filter((sha) => sha !== durableRefState.sha)]
56
+ : submissionCandidates;
57
+ const latestReviewNotes = latestReviewRow?.notes ?? null;
58
+ return {
59
+ latestReviewAuditId: latestReviewRow?.id ?? null,
60
+ latestReviewNotes,
61
+ latestReviewCommitSha,
62
+ approvalCandidateShas,
63
+ latestExpectedSha: approvalCandidateShas[0] ?? null,
64
+ isNoOp: (latestReviewNotes ?? '').startsWith('[NO_OP_SUBMISSION]'),
65
+ durableRefTrusted,
66
+ };
67
+ }
68
+ function resolveApprovalSafety(projectPath, submissionContext) {
69
+ const latestExpectedSha = submissionContext.latestExpectedSha;
70
+ if (!latestExpectedSha) {
71
+ return { ok: false, reason: 'missing_latest_submission', attempts: [] };
72
+ }
73
+ const resolution = (0, submission_resolution_js_1.resolveSubmissionCommitWithRecovery)(projectPath, submissionContext.approvalCandidateShas);
74
+ if (resolution.status !== 'resolved') {
75
+ return {
76
+ ok: false,
77
+ reason: 'all_submissions_unreachable',
78
+ attempts: resolution.attempts,
79
+ };
80
+ }
81
+ if (resolution.sha !== latestExpectedSha) {
82
+ return {
83
+ ok: false,
84
+ reason: 'latest_missing_with_older_reachable',
85
+ attempts: resolution.attempts,
86
+ };
87
+ }
88
+ return { ok: true, approvalSha: resolution.sha };
89
+ }
90
+ function handleUnsafeApprovalSubmission(db, task, failure, options = {}) {
91
+ const recoveryAttempts = (0, loop_phases_helpers_js_1.countCommitRecoveryAttempts)(db, task.id) + 1;
92
+ const attemptsText = failure.attempts.join(' | ') || 'none';
93
+ if (recoveryAttempts >= commit_recovery_js_1.COMMIT_RECOVERY_MAX_ATTEMPTS) {
94
+ (0, queries_js_1.updateTaskStatus)(db, task.id, 'disputed', 'orchestrator', `[commit_recovery] Escalating after ${recoveryAttempts} attempts (${failure.reason}; attempts: ${attemptsText}).`);
95
+ if (!options.jsonMode) {
96
+ console.log('\n✗ Commit recovery cap reached; task escalated to disputed.');
97
+ }
98
+ return { ok: false };
99
+ }
100
+ (0, queries_js_1.updateTaskStatus)(db, task.id, 'in_progress', 'orchestrator', `[commit_recovery] ${failure.reason} (attempts: ${attemptsText}). ` +
101
+ 'Treating task as resubmission. Coder must output exact line: SUBMISSION_COMMIT: <sha> for the commit that implements the task.');
102
+ if (!options.jsonMode) {
103
+ console.log('\n⟳ Reviewer preflight blocked due to unhealthy submission chain; returning to coder.');
104
+ }
105
+ return { ok: false };
106
+ }
107
+ function noteDurableRefMismatch(db, task, projectPath) {
108
+ const latestReviewRow = loadLatestReviewRow(db, task.id);
109
+ const latestReviewMetadata = parseLatestReviewMetadata(latestReviewRow?.metadata ?? null);
110
+ const latestReviewCommitSha = latestReviewRow?.commit_sha ?? null;
111
+ const durableRefState = (0, submission_durability_js_1.readDurableSubmissionRef)(projectPath, task.id);
112
+ if (!latestReviewMetadata?.durable_ref ||
113
+ !durableRefState?.sha ||
114
+ !latestReviewCommitSha ||
115
+ (durableRefState.sha === latestReviewCommitSha &&
116
+ (!latestReviewMetadata.durable_ref_sha || latestReviewMetadata.durable_ref_sha === durableRefState.sha))) {
117
+ return;
118
+ }
119
+ (0, queries_js_1.addAuditEntry)(db, task.id, task.status, task.status, 'orchestrator', {
120
+ actorType: 'orchestrator',
121
+ notes: `[integrity] Durable ref mismatch: ref=${durableRefState.sha}, latest_audit=${latestReviewCommitSha}. Falling back to submission history.`,
122
+ });
123
+ }
124
+ //# sourceMappingURL=submission-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission-context.js","sourceRoot":"","sources":["../../src/orchestrator/submission-context.ts"],"names":[],"mappings":";;AAgFA,sDAgCC;AAED,sDA8BC;AAED,wEAmCC;AAED,wDAwBC;AA7MD,uDAAkG;AAClG,8EAA2E;AAC3E,8EAAsF;AACtF,uEAA8E;AAC9E,+EAAiF;AAmCjF,SAAS,mBAAmB,CAC1B,EAAqB,EACrB,MAAc;IAEd,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CACN;;;;;;;;;;;;;;eAcS,CACV;SACA,GAAG,CAAC,MAAM,EAAE,MAAM,CAAgC,CAAC;IAEtD,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAkB;IACnD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CACnC,EAAqB,EACrB,WAAmB,EACnB,MAAc;IAEd,MAAM,eAAe,GAAG,mBAAmB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,eAAe,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC;IAC1F,MAAM,oBAAoB,GAAG,IAAA,oCAAuB,EAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,eAAe,GAAG,IAAA,mDAAwB,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,qBAAqB,GAAG,eAAe,EAAE,UAAU,IAAI,IAAI,CAAC;IAClE,MAAM,iBAAiB,GACrB,OAAO,CAAC,oBAAoB,EAAE,WAAW,CAAC;QAC1C,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;QAC7B,OAAO,CAAC,qBAAqB,CAAC;QAC9B,eAAgB,CAAC,GAAG,KAAK,qBAAqB;QAC9C,CAAC,CAAC,oBAAoB,EAAE,eAAe,IAAI,oBAAoB,CAAC,eAAe,KAAK,eAAgB,CAAC,GAAG,CAAC,CAAC;IAE5G,MAAM,qBAAqB,GACzB,iBAAiB,IAAI,eAAe,EAAE,GAAG;QACvC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,CAAC,CAAC;QAC7F,CAAC,CAAC,oBAAoB,CAAC;IAC3B,MAAM,iBAAiB,GAAG,eAAe,EAAE,KAAK,IAAI,IAAI,CAAC;IAEzD,OAAO;QACL,mBAAmB,EAAE,eAAe,EAAE,EAAE,IAAI,IAAI;QAChD,iBAAiB;QACjB,qBAAqB;QACrB,qBAAqB;QACrB,iBAAiB,EAAE,qBAAqB,CAAC,CAAC,CAAC,IAAI,IAAI;QACnD,MAAM,EAAE,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAClE,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CACnC,WAAmB,EACnB,iBAAoC;IAEpC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;IAC9D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1E,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,8DAAmC,EACpD,WAAW,EACX,iBAAiB,CAAC,qBAAqB,CACxC,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,6BAA6B;YACrC,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,GAAG,KAAK,iBAAiB,EAAE,CAAC;QACzC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,qCAAqC;YAC7C,QAAQ,EAAE,UAAU,CAAC,QAAQ;SAC9B,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC;AACnD,CAAC;AAED,SAAgB,8BAA8B,CAC5C,EAAqB,EACrB,IAAiC,EACjC,OAAqD,EACrD,UAAkC,EAAE;IAEpC,MAAM,gBAAgB,GAAG,IAAA,oDAA2B,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;IAE5D,IAAI,gBAAgB,IAAI,iDAA4B,EAAE,CAAC;QACrD,IAAA,6BAAgB,EACd,EAAE,EACF,IAAI,CAAC,EAAE,EACP,UAAU,EACV,cAAc,EACd,sCAAsC,gBAAgB,cAAc,OAAO,CAAC,MAAM,eAAe,YAAY,IAAI,CAClH,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,IAAA,6BAAgB,EACd,EAAE,EACF,IAAI,CAAC,EAAE,EACP,aAAa,EACb,cAAc,EACd,qBAAqB,OAAO,CAAC,MAAM,eAAe,YAAY,KAAK;QACjE,gIAAgI,CACnI,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,uFAAuF,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AACvB,CAAC;AAED,SAAgB,sBAAsB,CACpC,EAAqB,EACrB,IAAiC,EACjC,WAAmB;IAEnB,MAAM,eAAe,GAAG,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,eAAe,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC;IAC1F,MAAM,qBAAqB,GAAG,eAAe,EAAE,UAAU,IAAI,IAAI,CAAC;IAClE,MAAM,eAAe,GAAG,IAAA,mDAAwB,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAEvE,IACE,CAAC,oBAAoB,EAAE,WAAW;QAClC,CAAC,eAAe,EAAE,GAAG;QACrB,CAAC,qBAAqB;QACtB,CAAC,eAAe,CAAC,GAAG,KAAK,qBAAqB;YAC5C,CAAC,CAAC,oBAAoB,CAAC,eAAe,IAAI,oBAAoB,CAAC,eAAe,KAAK,eAAe,CAAC,GAAG,CAAC,CAAC,EAC1G,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAA,0BAAa,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE;QACnE,SAAS,EAAE,cAAc;QACzB,KAAK,EAAE,yCAAyC,eAAe,CAAC,GAAG,kBAAkB,qBAAqB,uCAAuC;KAClJ,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"global-db-connection.d.ts","sourceRoot":"","sources":["../../src/runners/global-db-connection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAmCtC,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,wBAAwB,CA6P7D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,CAS3E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,QAAQ,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,KAAK,CAAC,GACrC,CAAC,CAaH"}
1
+ {"version":3,"file":"global-db-connection.d.ts","sourceRoot":"","sources":["../../src/runners/global-db-connection.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAoCtC,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,wBAAwB,CAsR7D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,CAS3E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,QAAQ,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,KAAK,CAAC,GACrC,CAAC,CAaH"}