steroids-cli 0.8.32 → 0.8.34

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 (109) hide show
  1. package/dist/commands/loop-phases.d.ts +6 -2
  2. package/dist/commands/loop-phases.d.ts.map +1 -1
  3. package/dist/commands/loop-phases.js +42 -2
  4. package/dist/commands/loop-phases.js.map +1 -1
  5. package/dist/commands/merge.d.ts.map +1 -1
  6. package/dist/commands/merge.js +13 -1
  7. package/dist/commands/merge.js.map +1 -1
  8. package/dist/commands/runners-parallel.d.ts +1 -0
  9. package/dist/commands/runners-parallel.d.ts.map +1 -1
  10. package/dist/commands/runners-parallel.js +93 -6
  11. package/dist/commands/runners-parallel.js.map +1 -1
  12. package/dist/commands/workspaces.d.ts.map +1 -1
  13. package/dist/commands/workspaces.js +38 -4
  14. package/dist/commands/workspaces.js.map +1 -1
  15. package/dist/config/loader.d.ts +9 -0
  16. package/dist/config/loader.d.ts.map +1 -1
  17. package/dist/config/loader.js +9 -0
  18. package/dist/config/loader.js.map +1 -1
  19. package/dist/config/schema.d.ts.map +1 -1
  20. package/dist/config/schema.js +45 -0
  21. package/dist/config/schema.js.map +1 -1
  22. package/dist/database/queries.d.ts.map +1 -1
  23. package/dist/database/queries.js +15 -1
  24. package/dist/database/queries.js.map +1 -1
  25. package/dist/database/schema.d.ts +2 -2
  26. package/dist/database/schema.d.ts.map +1 -1
  27. package/dist/database/schema.js +9 -0
  28. package/dist/database/schema.js.map +1 -1
  29. package/dist/orchestrator/coder.js +1 -1
  30. package/dist/orchestrator/coder.js.map +1 -1
  31. package/dist/orchestrator/coordinator.d.ts.map +1 -1
  32. package/dist/orchestrator/coordinator.js +5 -3
  33. package/dist/orchestrator/coordinator.js.map +1 -1
  34. package/dist/orchestrator/fallback-handler.d.ts +2 -1
  35. package/dist/orchestrator/fallback-handler.d.ts.map +1 -1
  36. package/dist/orchestrator/fallback-handler.js +36 -20
  37. package/dist/orchestrator/fallback-handler.js.map +1 -1
  38. package/dist/orchestrator/post-reviewer.d.ts.map +1 -1
  39. package/dist/orchestrator/post-reviewer.js +18 -23
  40. package/dist/orchestrator/post-reviewer.js.map +1 -1
  41. package/dist/orchestrator/reviewer.d.ts +1 -1
  42. package/dist/orchestrator/reviewer.d.ts.map +1 -1
  43. package/dist/orchestrator/reviewer.js +19 -16
  44. package/dist/orchestrator/reviewer.js.map +1 -1
  45. package/dist/parallel/clone.d.ts +13 -0
  46. package/dist/parallel/clone.d.ts.map +1 -1
  47. package/dist/parallel/clone.js +40 -0
  48. package/dist/parallel/clone.js.map +1 -1
  49. package/dist/parallel/merge-conflict-attempts.d.ts +8 -0
  50. package/dist/parallel/merge-conflict-attempts.d.ts.map +1 -0
  51. package/dist/parallel/merge-conflict-attempts.js +68 -0
  52. package/dist/parallel/merge-conflict-attempts.js.map +1 -0
  53. package/dist/parallel/merge-conflict-invoke.d.ts +2 -0
  54. package/dist/parallel/merge-conflict-invoke.d.ts.map +1 -0
  55. package/dist/parallel/merge-conflict-invoke.js +41 -0
  56. package/dist/parallel/merge-conflict-invoke.js.map +1 -0
  57. package/dist/parallel/merge-conflict-prompts.d.ts +23 -0
  58. package/dist/parallel/merge-conflict-prompts.d.ts.map +1 -0
  59. package/dist/parallel/merge-conflict-prompts.js +40 -0
  60. package/dist/parallel/merge-conflict-prompts.js.map +1 -0
  61. package/dist/parallel/merge-conflict-task.d.ts +3 -0
  62. package/dist/parallel/merge-conflict-task.d.ts.map +1 -0
  63. package/dist/parallel/merge-conflict-task.js +59 -0
  64. package/dist/parallel/merge-conflict-task.js.map +1 -0
  65. package/dist/parallel/merge-conflict.d.ts +7 -7
  66. package/dist/parallel/merge-conflict.d.ts.map +1 -1
  67. package/dist/parallel/merge-conflict.js +91 -135
  68. package/dist/parallel/merge-conflict.js.map +1 -1
  69. package/dist/parallel/merge-errors.d.ts +2 -0
  70. package/dist/parallel/merge-errors.d.ts.map +1 -1
  71. package/dist/parallel/merge-errors.js +2 -0
  72. package/dist/parallel/merge-errors.js.map +1 -1
  73. package/dist/parallel/merge-git.d.ts.map +1 -1
  74. package/dist/parallel/merge-git.js +4 -1
  75. package/dist/parallel/merge-git.js.map +1 -1
  76. package/dist/parallel/merge-lock.d.ts +4 -2
  77. package/dist/parallel/merge-lock.d.ts.map +1 -1
  78. package/dist/parallel/merge-lock.js +51 -18
  79. package/dist/parallel/merge-lock.js.map +1 -1
  80. package/dist/parallel/merge-progress.d.ts +3 -1
  81. package/dist/parallel/merge-progress.d.ts.map +1 -1
  82. package/dist/parallel/merge-progress.js +9 -4
  83. package/dist/parallel/merge-progress.js.map +1 -1
  84. package/dist/parallel/merge.d.ts +4 -0
  85. package/dist/parallel/merge.d.ts.map +1 -1
  86. package/dist/parallel/merge.js +222 -17
  87. package/dist/parallel/merge.js.map +1 -1
  88. package/dist/prompts/prompt-helpers.d.ts +1 -1
  89. package/dist/prompts/prompt-helpers.d.ts.map +1 -1
  90. package/dist/prompts/prompt-helpers.js +10 -7
  91. package/dist/prompts/prompt-helpers.js.map +1 -1
  92. package/dist/prompts/reviewer.d.ts.map +1 -1
  93. package/dist/prompts/reviewer.js +48 -21
  94. package/dist/prompts/reviewer.js.map +1 -1
  95. package/dist/runners/global-db.d.ts +32 -0
  96. package/dist/runners/global-db.d.ts.map +1 -1
  97. package/dist/runners/global-db.js +403 -2
  98. package/dist/runners/global-db.js.map +1 -1
  99. package/dist/runners/orchestrator-loop.d.ts.map +1 -1
  100. package/dist/runners/orchestrator-loop.js +50 -3
  101. package/dist/runners/orchestrator-loop.js.map +1 -1
  102. package/dist/runners/wakeup.d.ts +1 -0
  103. package/dist/runners/wakeup.d.ts.map +1 -1
  104. package/dist/runners/wakeup.js +363 -29
  105. package/dist/runners/wakeup.js.map +1 -1
  106. package/migrations/012_add_merge_lock_epoch.sql +15 -0
  107. package/migrations/013_add_merge_progress_applied_commit_sha.sql +15 -0
  108. package/migrations/manifest.json +17 -1
  109. package/package.json +1 -1
@@ -63,7 +63,7 @@ ${lines.join('\n')}
63
63
  */
64
64
  /**
65
65
  * Format coordinator guidance for the reviewer
66
- * Makes coordinator decisions visible and enforceable by the reviewer
66
+ * Makes coordinator decisions visible as advisory context for the reviewer
67
67
  */
68
68
  function formatCoordinatorGuidance(guidance, decision) {
69
69
  if (!guidance)
@@ -87,11 +87,14 @@ A coordinator has reviewed the rejection history for this task and made the foll
87
87
 
88
88
  ${guidance}
89
89
 
90
- **You MUST consider this when making your decision:**
91
- - If the coordinator decided **override_reviewer**: do NOT re-raise the issues the coordinator flagged as out of scope or unachievable. Those demands have been ruled invalid.
92
- - If the coordinator decided **narrow_scope**: evaluate the coder's work against the NARROWED scope described above, not the original full scope.
93
- - If the coordinator decided **guide_coder**: the coder was given specific direction - check whether they followed it.
94
- - You may still reject for NEW issues not addressed by the coordinator, but do not contradict the coordinator's ruling.
90
+ **Use this as advisory context, not an approval gate:**
91
+ - If the coordinator decided **override_reviewer**: treat it as a scope hint, but still verify correctness, security, and spec compliance in the actual diff.
92
+ - If the coordinator decided **narrow_scope**: prioritize the narrowed scope for disputed points, but still review for any blocking defects.
93
+ - If the coordinator decided **guide_coder**: check whether the coder followed the guidance, then continue full independent review.
94
+ - You may reject for any blocking issue, including new or previously missed issues.
95
+ - Never auto-approve because coordinator guidance was followed.
96
+ - If coordinator guidance conflicts with clear spec/security/correctness requirements, follow those requirements and explain the conflict.
97
+ - If you disagree with coordinator scope advice, explicitly state why in your rejection notes so the next coordinator pass can converge.
95
98
 
96
99
  `;
97
100
  }
@@ -224,49 +227,73 @@ ${getTestCoverageInstructions(config, modifiedFiles)}
224
227
 
225
228
  ## Your Decision
226
229
 
227
- You MUST output ONE of these decision statements clearly:
230
+ Your first non-empty line MUST be an explicit decision token in this exact format:
231
+ - \`DECISION: APPROVE\`
232
+ - \`DECISION: REJECT\`
233
+ - \`DECISION: DISPUTE\`
234
+ - \`DECISION: SKIP\`
235
+
236
+ After the decision token, include the matching details below.
228
237
 
229
238
  ### APPROVE (implementation is correct)
230
239
  If the code correctly implements the specification:
231
- **Output:** "APPROVE - Implementation meets all requirements"
240
+ **Output:**
241
+ \`\`\`
242
+ DECISION: APPROVE
243
+ APPROVE - Implementation meets all requirements
244
+ \`\`\`
232
245
 
233
246
  ### APPROVE WITH NOTE (minor issues, not blocking)
234
247
  If you have minor concerns but the implementation is acceptable:
235
- **Output:** "APPROVE - <your feedback here>"
248
+ **Output:**
249
+ \`\`\`
250
+ DECISION: APPROVE
251
+ APPROVE - <your feedback here>
252
+ \`\`\`
236
253
 
237
254
  ### SKIP (external setup required)
238
255
  If the coder requested a SKIP and it's legitimate:
239
256
  1. **Verify** the spec section says SKIP, MANUAL, or requires external action
240
257
  2. **Verify** the skip notes explain WHAT human action is needed
241
258
  3. If valid:
242
- **Output:** "SKIP - Verified: spec says SKIP. Human must [action]. Approved to unblock pipeline."
259
+ **Output:**
260
+ \`\`\`
261
+ DECISION: SKIP
262
+ SKIP - Verified: spec says SKIP. Human must [action]. Approved to unblock pipeline.
263
+ \`\`\`
243
264
 
244
265
  ### REJECT (needs changes)
245
266
  If there are issues that must be fixed:
246
- **Output:** "REJECT" followed by specific feedback
267
+ **Output:** \`DECISION: REJECT\` followed by specific feedback
247
268
 
248
269
  **CRITICAL: Format rejection feedback with checkboxes for EACH actionable item:**
249
270
 
250
271
  \`\`\`
251
- - [ ] Fix type error in src/foo.ts:42 - change \`string\` to \`number\`
252
- - [ ] Add missing null check in src/bar.ts:15 before accessing \`.data\`
253
- - [ ] Add unit test for the new \`processItem()\` function
254
- - [ ] Remove unused import on line 3
272
+ - [ ] [NEW] Fix type error in src/foo.ts:42 - change \`string\` to \`number\`
273
+ - [ ] [UNRESOLVED] src/bar.ts:15 still dereferences \`.data\` without null check (same issue from prior review; verified in current diff)
274
+ - [ ] [NEW] Add unit test for the new \`processItem()\` function
275
+ - [ ] [NEW] Remove unused import on line 3
255
276
  \`\`\`
256
277
 
257
278
  **Why checkboxes?** The coder will use these to verify they've addressed EVERY issue before resubmitting. Each checkbox = one specific action.
258
279
 
259
280
  **Rules for rejection notes:**
260
281
  1. One checkbox per actionable item (not paragraphs of prose)
261
- 2. Include file:line references where applicable
262
- 3. Be specific about WHAT to change, not just WHAT is wrong
263
- 4. Group related items logically
282
+ 2. Start each checkbox with \`[NEW]\` or \`[UNRESOLVED]\`
283
+ 3. For each \`[UNRESOLVED]\` item, include evidence of what remains broken now (file:line or concrete behavior)
284
+ 4. Include file:line references where applicable
285
+ 5. Be specific about WHAT to change, not just WHAT is wrong
286
+ 6. Group related items logically
264
287
 
265
288
  This will be rejection #${task.rejection_count + 1}.
266
289
 
267
290
  ### DISPUTE (fundamental disagreement)
268
291
  Only if there's a genuine specification or architecture conflict:
269
- **Output:** "DISPUTE - <explanation>"
292
+ **Output:**
293
+ \`\`\`
294
+ DECISION: DISPUTE
295
+ DISPUTE - <explanation>
296
+ \`\`\`
270
297
 
271
298
  Use sparingly. Most issues should be resolved via reject/fix cycle.
272
299
 
@@ -279,7 +306,7 @@ Use sparingly. Most issues should be resolved via reject/fix cycle.
279
306
  1. **NEVER modify code yourself** - only review it
280
307
  2. **Be specific in rejection notes** - vague feedback wastes cycles
281
308
  3. **Approve if it works** - don't reject for style preferences
282
- 4. **You MUST clearly state your decision** (APPROVE/REJECT/DISPUTE/SKIP)
309
+ 4. **You MUST include an explicit decision token** (\`DECISION: APPROVE|REJECT|DISPUTE|SKIP\`)
283
310
  5. **Verify coder's claims** - if coder says work exists in a commit, CHECK IT before rejecting
284
311
  6. **Empty diff ≠ no work** - work may exist in earlier commits the coder referenced
285
312
  7. **SKIP requests are valid** - if spec says SKIP/manual, approve the skip to unblock the pipeline
@@ -304,7 +331,7 @@ Simply include these as notes in your decision output. They will be logged for h
304
331
 
305
332
  ## Review Now
306
333
 
307
- Examine the diff above, then clearly state your decision (APPROVE/REJECT/DISPUTE/SKIP) with any notes.
334
+ Examine the diff above, then output your explicit decision token first, followed by any notes.
308
335
  The orchestrator will parse your decision and update task status accordingly.
309
336
  `;
310
337
  }
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/prompts/reviewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../src/prompts/reviewer.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,24 @@ export interface GlobalDatabaseConnection {
7
7
  db: Database.Database;
8
8
  close: () => void;
9
9
  }
10
+ export type ParallelSessionStatus = 'running' | 'merging' | 'cleanup_pending' | 'cleanup_draining' | 'blocked_conflict' | 'blocked_recovery' | 'blocked_validation' | 'completed' | 'failed' | 'aborted';
11
+ export interface ParallelSessionRunner {
12
+ id: string;
13
+ pid: number | null;
14
+ }
15
+ export interface ValidationEscalationRecord {
16
+ id: string;
17
+ session_id: string;
18
+ project_path: string;
19
+ workspace_path: string;
20
+ validation_command: string;
21
+ error_message: string;
22
+ stdout_snippet: string | null;
23
+ stderr_snippet: string | null;
24
+ status: 'open' | 'resolved';
25
+ created_at: string;
26
+ resolved_at: string | null;
27
+ }
10
28
  /**
11
29
  * Get the path to the global steroids directory.
12
30
  * Respects STEROIDS_HOME env var for test isolation (Jest's ESM VM context
@@ -30,4 +48,18 @@ export declare function openGlobalDatabase(): GlobalDatabaseConnection;
30
48
  * Get global schema version
31
49
  */
32
50
  export declare function getGlobalSchemaVersion(db: Database.Database): string | null;
51
+ export declare function updateParallelSessionStatus(sessionId: string, status: ParallelSessionStatus, markCompletedAt?: boolean): void;
52
+ export declare function revokeWorkstreamLeasesForSession(sessionId: string): number;
53
+ export declare function listParallelSessionRunners(sessionId: string): ParallelSessionRunner[];
54
+ export declare function removeParallelSessionRunner(runnerId: string): void;
55
+ export declare function recordValidationEscalation(input: {
56
+ sessionId: string;
57
+ projectPath: string;
58
+ workspacePath: string;
59
+ validationCommand: string;
60
+ errorMessage: string;
61
+ stdoutSnippet?: string | null;
62
+ stderrSnippet?: string | null;
63
+ }): ValidationEscalationRecord;
64
+ export declare function resolveValidationEscalationsForSession(sessionId: string): number;
33
65
  //# sourceMappingURL=global-db.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"global-db.d.ts","sourceRoot":"","sources":["../../src/runners/global-db.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAQtC,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAqID;;;;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,CAuH7D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,CAS3E"}
1
+ {"version":3,"file":"global-db.d.ts","sourceRoot":"","sources":["../../src/runners/global-db.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAStC,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,SAAS,GACT,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,GACpB,WAAW,GACX,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AA+ZD;;;;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,CAiM7D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,CAS3E;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,qBAAqB,EAC7B,eAAe,UAAQ,GACtB,IAAI,CAeN;AAED,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAa1E;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,EAAE,CASrF;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOlE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,GAAG,0BAA0B,CAqC7B;AAED,wBAAgB,sCAAsC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAehF"}