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
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator-loop.js","sourceRoot":"","sources":["../../src/runners/orchestrator-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator-loop.js","sourceRoot":"","sources":["../../src/runners/orchestrator-loop.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export interface WakeupResult {
16
16
  recoveredActions?: number;
17
17
  skippedRecoveryDueToSafetyLimit?: boolean;
18
18
  deletedInvocationLogs?: number;
19
+ sanitisedActions?: number;
19
20
  }
20
21
  /**
21
22
  * Check if there's an active runner for a specific project
@@ -1 +1 @@
1
- {"version":3,"file":"wakeup.d.ts","sourceRoot":"","sources":["../../src/runners/wakeup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AA8BD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAiBtE;AAED,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAe/E;AA2DD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAUjD;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAsNjF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IACjD,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAyCD"}
1
+ {"version":3,"file":"wakeup.d.ts","sourceRoot":"","sources":["../../src/runners/wakeup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAeH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAiDD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAiBtE;AAED,wBAAgB,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAgB/E;AAudD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAUjD;AAED,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAsQjF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IACjD,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAyCD"}
@@ -19,6 +19,9 @@ const connection_js_1 = require("../database/connection.js");
19
19
  const loader_js_1 = require("../config/loader.js");
20
20
  const stuck_task_recovery_js_1 = require("../health/stuck-task-recovery.js");
21
21
  const invocation_logs_js_1 = require("../cleanup/invocation-logs.js");
22
+ const node_fs_2 = require("node:fs");
23
+ const DEFAULT_SANITISE_INTERVAL_MINUTES = 5;
24
+ const DEFAULT_SANITISE_INVOCATION_TIMEOUT_SEC = 1800;
22
25
  /**
23
26
  * Check if a project has pending work
24
27
  */
@@ -68,7 +71,8 @@ function hasActiveParallelSessionForProject(projectPath) {
68
71
  const row = db
69
72
  .prepare(`SELECT 1 FROM parallel_sessions
70
73
  WHERE project_path = ?
71
- AND status IN ('running', 'merging')`)
74
+ AND status NOT IN ('completed', 'failed', 'aborted')
75
+ LIMIT 1`)
72
76
  .get(projectPath);
73
77
  return row !== undefined;
74
78
  }
@@ -76,6 +80,66 @@ function hasActiveParallelSessionForProject(projectPath) {
76
80
  close();
77
81
  }
78
82
  }
83
+ function releaseExpiredWorkstreamLeases(db) {
84
+ const result = db.prepare(`UPDATE workstreams
85
+ SET runner_id = NULL,
86
+ lease_expires_at = NULL
87
+ WHERE status = 'running'
88
+ AND lease_expires_at IS NOT NULL
89
+ AND lease_expires_at <= datetime('now')`).run();
90
+ return result.changes;
91
+ }
92
+ function reconcileParallelSessionRecovery(db, projectPath) {
93
+ const sessions = db
94
+ .prepare(`SELECT id
95
+ FROM parallel_sessions
96
+ WHERE project_path = ?
97
+ AND status NOT IN ('completed', 'failed', 'aborted', 'blocked_validation', 'blocked_recovery')`)
98
+ .all(projectPath);
99
+ let scheduledRetries = 0;
100
+ let blockedWorkstreams = 0;
101
+ for (const session of sessions) {
102
+ let blockedInSession = 0;
103
+ const candidates = db
104
+ .prepare(`SELECT id, recovery_attempts
105
+ FROM workstreams
106
+ WHERE session_id = ?
107
+ AND status = 'running'
108
+ AND (lease_expires_at IS NULL OR lease_expires_at <= datetime('now'))
109
+ AND (next_retry_at IS NULL OR next_retry_at <= datetime('now'))`)
110
+ .all(session.id);
111
+ for (const candidate of candidates) {
112
+ const nextAttempts = (candidate.recovery_attempts ?? 0) + 1;
113
+ if (nextAttempts >= 5) {
114
+ db.prepare(`UPDATE workstreams
115
+ SET status = 'failed',
116
+ recovery_attempts = ?,
117
+ next_retry_at = NULL,
118
+ last_reconcile_action = 'blocked_recovery',
119
+ last_reconciled_at = datetime('now')
120
+ WHERE id = ?`).run(nextAttempts, candidate.id);
121
+ blockedWorkstreams += 1;
122
+ blockedInSession += 1;
123
+ continue;
124
+ }
125
+ const backoffMinutes = Math.min(2 ** nextAttempts, 30);
126
+ db.prepare(`UPDATE workstreams
127
+ SET recovery_attempts = ?,
128
+ next_retry_at = datetime('now', ?),
129
+ last_reconcile_action = 'retry_scheduled',
130
+ last_reconciled_at = datetime('now')
131
+ WHERE id = ?`).run(nextAttempts, `+${backoffMinutes} minutes`, candidate.id);
132
+ scheduledRetries += 1;
133
+ }
134
+ if (blockedInSession > 0) {
135
+ db.prepare(`UPDATE parallel_sessions
136
+ SET status = 'blocked_recovery',
137
+ completed_at = NULL
138
+ WHERE id = ?`).run(session.id);
139
+ }
140
+ }
141
+ return { scheduledRetries, blockedWorkstreams };
142
+ }
79
143
  /**
80
144
  * Kill a process by PID
81
145
  */
@@ -100,6 +164,7 @@ function startRunner(projectPath) {
100
164
  // and only the daemon (not loop directly) writes to that table
101
165
  const args = ['runners', 'start', '--detach', '--project', projectPath];
102
166
  const child = (0, node_child_process_1.spawn)('steroids', args, {
167
+ cwd: projectPath,
103
168
  detached: true,
104
169
  stdio: 'ignore',
105
170
  });
@@ -110,6 +175,237 @@ function startRunner(projectPath) {
110
175
  return null;
111
176
  }
112
177
  }
178
+ function getSanitiseSettings(projectPath) {
179
+ const config = (0, loader_js_1.loadConfig)(projectPath);
180
+ const health = config.health ?? {};
181
+ const enabled = health.sanitiseEnabled ?? true;
182
+ const intervalMinutes = Math.max(1, Number(health.sanitiseIntervalMinutes ?? DEFAULT_SANITISE_INTERVAL_MINUTES));
183
+ const staleInvocationTimeoutSec = Math.max(60, Number(health.sanitiseInvocationTimeoutSec ?? DEFAULT_SANITISE_INVOCATION_TIMEOUT_SEC));
184
+ return { enabled, intervalMinutes, staleInvocationTimeoutSec };
185
+ }
186
+ function getSanitiseSchemaKey(projectPath) {
187
+ return `wakeup_sanitise_last_run::${projectPath}`;
188
+ }
189
+ function shouldRunPeriodicSanitise(db, projectPath, intervalMinutes) {
190
+ const key = getSanitiseSchemaKey(projectPath);
191
+ const row = db
192
+ .prepare('SELECT value FROM _global_schema WHERE key = ?')
193
+ .get(key);
194
+ if (!row?.value) {
195
+ return true;
196
+ }
197
+ const due = db.prepare(`SELECT CASE
198
+ WHEN datetime(?) <= datetime('now', ?)
199
+ THEN 1 ELSE 0
200
+ END AS due`).get(row.value, `-${intervalMinutes} minutes`);
201
+ return (due?.due ?? 0) === 1;
202
+ }
203
+ function markPeriodicSanitiseRun(db, projectPath) {
204
+ db.prepare(`INSERT INTO _global_schema (key, value) VALUES (?, datetime('now'))
205
+ ON CONFLICT(key) DO UPDATE SET value = excluded.value`).run(getSanitiseSchemaKey(projectPath));
206
+ }
207
+ function parseReviewerDecisionFromLog(projectPath, invocationId) {
208
+ const logPath = (0, node_path_1.join)(projectPath, '.steroids', 'invocations', `${invocationId}.log`);
209
+ if (!(0, node_fs_1.existsSync)(logPath)) {
210
+ return null;
211
+ }
212
+ try {
213
+ const raw = (0, node_fs_2.readFileSync)(logPath, 'utf-8');
214
+ if (raw.includes('DECISION: APPROVE')) {
215
+ return 'approve';
216
+ }
217
+ if (raw.includes('DECISION: REJECT')) {
218
+ return 'reject';
219
+ }
220
+ }
221
+ catch {
222
+ return null;
223
+ }
224
+ return null;
225
+ }
226
+ function sanitiseProjectState(globalDb, projectDb, projectPath, dryRun, staleInvocationTimeoutSec) {
227
+ const summary = {
228
+ ran: true,
229
+ reason: 'ok',
230
+ recoveredApprovals: 0,
231
+ recoveredRejects: 0,
232
+ closedStaleInvocations: 0,
233
+ releasedTaskLocks: 0,
234
+ releasedSectionLocks: 0,
235
+ };
236
+ const staleCutoffMs = Date.now() - staleInvocationTimeoutSec * 1000;
237
+ const activeRunnerTaskRows = globalDb
238
+ .prepare(`SELECT current_task_id, parallel_session_id
239
+ FROM runners
240
+ WHERE project_path = ?
241
+ AND status = 'running'
242
+ AND heartbeat_at > datetime('now', '-5 minutes')
243
+ AND (current_task_id IS NOT NULL OR parallel_session_id IS NOT NULL)`)
244
+ .all(projectPath);
245
+ const activeTaskIds = new Set(activeRunnerTaskRows
246
+ .map((row) => row.current_task_id)
247
+ .filter((taskId) => typeof taskId === 'string' && taskId.length > 0));
248
+ const hasActiveParallelRunner = activeRunnerTaskRows.some((row) => typeof row.parallel_session_id === 'string' && row.parallel_session_id.length > 0);
249
+ let hasActiveMergeLock = false;
250
+ try {
251
+ const mergeLockRows = projectDb
252
+ .prepare('SELECT expires_at FROM merge_locks')
253
+ .all();
254
+ const nowMs = Date.now();
255
+ hasActiveMergeLock = mergeLockRows.some((row) => {
256
+ const expiresAtMs = Date.parse(row.expires_at);
257
+ return Number.isFinite(expiresAtMs) && expiresAtMs > nowMs;
258
+ });
259
+ }
260
+ catch {
261
+ hasActiveMergeLock = false;
262
+ }
263
+ const hasActiveParallelContext = hasActiveParallelRunner || hasActiveMergeLock;
264
+ const staleInvocations = projectDb
265
+ .prepare(`SELECT i.id, i.task_id, i.role, i.started_at_ms, t.status AS task_status
266
+ FROM task_invocations i
267
+ LEFT JOIN tasks t ON t.id = i.task_id
268
+ WHERE i.status = 'running'
269
+ AND i.started_at_ms IS NOT NULL
270
+ AND i.started_at_ms <= ?
271
+ ORDER BY i.started_at_ms ASC`)
272
+ .all(staleCutoffMs);
273
+ for (const row of staleInvocations) {
274
+ if (activeTaskIds.has(row.task_id) || hasActiveParallelContext) {
275
+ continue;
276
+ }
277
+ const completedAtMs = Date.now();
278
+ const durationMs = Math.max(0, completedAtMs - row.started_at_ms);
279
+ const reviewerDecision = row.role === 'reviewer'
280
+ ? parseReviewerDecisionFromLog(projectPath, row.id)
281
+ : null;
282
+ if (!dryRun) {
283
+ if (reviewerDecision === 'approve' && row.task_status === 'review') {
284
+ projectDb
285
+ .prepare(`UPDATE task_invocations
286
+ SET status = 'completed',
287
+ success = 1,
288
+ timed_out = 0,
289
+ exit_code = 0,
290
+ completed_at_ms = ?,
291
+ duration_ms = ?,
292
+ error = COALESCE(error, 'Recovered by periodic sanitise (review approve token found).')
293
+ WHERE id = ? AND status = 'running'`)
294
+ .run(completedAtMs, durationMs, row.id);
295
+ projectDb
296
+ .prepare(`UPDATE tasks
297
+ SET status = 'completed',
298
+ updated_at = datetime('now')
299
+ WHERE id = ? AND status = 'review'`)
300
+ .run(row.task_id);
301
+ projectDb
302
+ .prepare(`INSERT INTO audit (task_id, from_status, to_status, actor, actor_type, notes, created_at)
303
+ SELECT ?, 'review', 'completed', 'orchestrator', 'orchestrator',
304
+ 'Recovered by periodic sanitise from reviewer decision log (DECISION: APPROVE).',
305
+ datetime('now')
306
+ WHERE EXISTS (SELECT 1 FROM tasks WHERE id = ? AND status = 'completed')`)
307
+ .run(row.task_id, row.task_id);
308
+ }
309
+ else if (reviewerDecision === 'reject' && row.task_status === 'review') {
310
+ projectDb
311
+ .prepare(`UPDATE task_invocations
312
+ SET status = 'completed',
313
+ success = 1,
314
+ timed_out = 0,
315
+ exit_code = 0,
316
+ completed_at_ms = ?,
317
+ duration_ms = ?,
318
+ error = COALESCE(error, 'Recovered by periodic sanitise (review reject token found).')
319
+ WHERE id = ? AND status = 'running'`)
320
+ .run(completedAtMs, durationMs, row.id);
321
+ projectDb
322
+ .prepare(`UPDATE tasks
323
+ SET status = 'in_progress',
324
+ rejection_count = COALESCE(rejection_count, 0) + 1,
325
+ updated_at = datetime('now')
326
+ WHERE id = ? AND status = 'review'`)
327
+ .run(row.task_id);
328
+ projectDb
329
+ .prepare(`INSERT INTO audit (task_id, from_status, to_status, actor, actor_type, notes, created_at)
330
+ SELECT ?, 'review', 'in_progress', 'orchestrator', 'orchestrator',
331
+ 'Recovered by periodic sanitise from reviewer decision log (DECISION: REJECT).',
332
+ datetime('now')
333
+ WHERE EXISTS (SELECT 1 FROM tasks WHERE id = ? AND status = 'in_progress')`)
334
+ .run(row.task_id, row.task_id);
335
+ }
336
+ else {
337
+ projectDb
338
+ .prepare(`UPDATE task_invocations
339
+ SET status = 'failed',
340
+ success = 0,
341
+ timed_out = 1,
342
+ exit_code = 1,
343
+ completed_at_ms = ?,
344
+ duration_ms = ?,
345
+ error = COALESCE(error, 'Periodic sanitise closed stale running invocation.')
346
+ WHERE id = ? AND status = 'running'`)
347
+ .run(completedAtMs, durationMs, row.id);
348
+ }
349
+ }
350
+ if (reviewerDecision === 'approve' && row.task_status === 'review') {
351
+ summary.recoveredApprovals += 1;
352
+ }
353
+ else if (reviewerDecision === 'reject' && row.task_status === 'review') {
354
+ summary.recoveredRejects += 1;
355
+ }
356
+ else {
357
+ summary.closedStaleInvocations += 1;
358
+ }
359
+ }
360
+ if (!dryRun) {
361
+ const releasedTaskLocks = projectDb
362
+ .prepare(`DELETE FROM task_locks WHERE expires_at <= datetime('now')`)
363
+ .run();
364
+ summary.releasedTaskLocks = releasedTaskLocks.changes;
365
+ const releasedSectionLocks = projectDb
366
+ .prepare(`DELETE FROM section_locks WHERE expires_at <= datetime('now')`)
367
+ .run();
368
+ summary.releasedSectionLocks = releasedSectionLocks.changes;
369
+ }
370
+ return summary;
371
+ }
372
+ function runPeriodicSanitiseForProject(globalDb, projectDb, projectPath, dryRun) {
373
+ const settings = getSanitiseSettings(projectPath);
374
+ if (!settings.enabled) {
375
+ return {
376
+ ran: false,
377
+ reason: 'disabled',
378
+ recoveredApprovals: 0,
379
+ recoveredRejects: 0,
380
+ closedStaleInvocations: 0,
381
+ releasedTaskLocks: 0,
382
+ releasedSectionLocks: 0,
383
+ };
384
+ }
385
+ if (!shouldRunPeriodicSanitise(globalDb, projectPath, settings.intervalMinutes)) {
386
+ return {
387
+ ran: false,
388
+ reason: 'interval_not_due',
389
+ recoveredApprovals: 0,
390
+ recoveredRejects: 0,
391
+ closedStaleInvocations: 0,
392
+ releasedTaskLocks: 0,
393
+ releasedSectionLocks: 0,
394
+ };
395
+ }
396
+ const summary = sanitiseProjectState(globalDb, projectDb, projectPath, dryRun, settings.staleInvocationTimeoutSec);
397
+ if (!dryRun) {
398
+ markPeriodicSanitiseRun(globalDb, projectPath);
399
+ }
400
+ return summary;
401
+ }
402
+ function sanitisedActionCount(summary) {
403
+ return (summary.recoveredApprovals +
404
+ summary.recoveredRejects +
405
+ summary.closedStaleInvocations +
406
+ summary.releasedTaskLocks +
407
+ summary.releasedSectionLocks);
408
+ }
113
409
  /**
114
410
  * Main wake-up function
115
411
  * Called by cron every minute to ensure runners are healthy
@@ -167,6 +463,10 @@ async function wakeup(options = {}) {
167
463
  if (runner.pid) {
168
464
  killProcess(runner.pid);
169
465
  }
466
+ global.db.prepare(`UPDATE workstreams
467
+ SET runner_id = NULL,
468
+ lease_expires_at = datetime('now')
469
+ WHERE runner_id = ?`).run(runner.id);
170
470
  global.db.prepare('DELETE FROM runners WHERE id = ?').run(runner.id);
171
471
  }
172
472
  }
@@ -180,6 +480,15 @@ async function wakeup(options = {}) {
180
480
  catch {
181
481
  // ignore global DB issues; wakeup will still attempt per-project checks
182
482
  }
483
+ try {
484
+ const releasedLeases = releaseExpiredWorkstreamLeases(global.db);
485
+ if (releasedLeases > 0) {
486
+ log(`Released ${releasedLeases} expired workstream lease(s)`);
487
+ }
488
+ }
489
+ catch {
490
+ // ignore lease cleanup issues in wakeup
491
+ }
183
492
  // Step 2: Clean zombie lock if present
184
493
  const lockStatus = (0, lock_js_1.checkLockStatus)();
185
494
  if (lockStatus.isZombie && lockStatus.pid) {
@@ -226,38 +535,19 @@ async function wakeup(options = {}) {
226
535
  catch {
227
536
  // Ignore cleanup errors; wakeup must remain robust.
228
537
  }
229
- // Skip if project already has an active runner
230
- // Check for pending work
231
- const hasWork = await projectHasPendingWork(project.path);
232
- if (!hasWork) {
233
- log(`Skipping ${project.path}: no pending tasks`);
234
- results.push({
235
- action: 'none',
236
- reason: 'No pending tasks',
237
- projectPath: project.path,
238
- deletedInvocationLogs,
239
- });
240
- continue;
241
- }
242
- // Skip projects currently executing a parallel session before attempting recovery/startup.
243
- // This prevents parallel runners from being interfered with by a cron-managed runner.
244
- if (hasActiveParallelSessionForProject(project.path)) {
245
- log(`Skipping ${project.path}: active parallel session in progress`);
246
- results.push({
247
- action: 'none',
248
- reason: 'Parallel session already running',
249
- projectPath: project.path,
250
- deletedInvocationLogs,
251
- });
252
- continue;
253
- }
254
- // Step 4a: Recover stuck tasks (best-effort) before deciding whether to (re)start a runner.
255
- // This is what unblocks orphaned/infinite-hang scenarios without manual intervention.
256
538
  let recoveredActions = 0;
257
539
  let skippedRecoveryDueToSafetyLimit = false;
540
+ let sanitisedActions = 0;
258
541
  try {
259
542
  const { db: projectDb, close: closeProjectDb } = (0, connection_js_1.openDatabase)(project.path);
260
543
  try {
544
+ const sanitiseSummary = runPeriodicSanitiseForProject(global.db, projectDb, project.path, dryRun);
545
+ sanitisedActions = sanitisedActionCount(sanitiseSummary);
546
+ if (sanitisedActions > 0 && !quiet) {
547
+ log(`Sanitised ${sanitisedActions} stale item(s) in ${project.path}`);
548
+ }
549
+ // Step 4a: Recover stuck tasks (best-effort) before deciding whether to (re)start a runner.
550
+ // This is what unblocks orphaned/infinite-hang scenarios without manual intervention.
261
551
  const config = (0, loader_js_1.loadConfig)(project.path);
262
552
  const recovery = await (0, stuck_task_recovery_js_1.recoverStuckTasks)({
263
553
  projectPath: project.path,
@@ -280,7 +570,47 @@ async function wakeup(options = {}) {
280
570
  }
281
571
  }
282
572
  catch {
283
- // If recovery can't run (DB missing/corrupt), we still proceed with runner checks.
573
+ // If sanitise/recovery can't run (DB missing/corrupt), we still proceed with runner checks.
574
+ }
575
+ // Check for pending work after sanitise/recovery
576
+ const hasWork = await projectHasPendingWork(project.path);
577
+ if (!hasWork) {
578
+ const noWorkReason = sanitisedActions > 0
579
+ ? `No pending tasks after sanitise (${sanitisedActions} action(s))`
580
+ : 'No pending tasks';
581
+ log(`Skipping ${project.path}: ${noWorkReason.toLowerCase()}`);
582
+ results.push({
583
+ action: 'none',
584
+ reason: noWorkReason,
585
+ projectPath: project.path,
586
+ recoveredActions,
587
+ skippedRecoveryDueToSafetyLimit,
588
+ deletedInvocationLogs,
589
+ sanitisedActions,
590
+ });
591
+ continue;
592
+ }
593
+ // Skip projects currently executing a parallel session before attempting recovery/startup.
594
+ // This prevents parallel runners from being interfered with by a cron-managed runner.
595
+ if (hasActiveParallelSessionForProject(project.path)) {
596
+ let retrySummary = '';
597
+ if (!dryRun) {
598
+ const recovery = reconcileParallelSessionRecovery(global.db, project.path);
599
+ if (recovery.scheduledRetries > 0) {
600
+ retrySummary += `, scheduled ${recovery.scheduledRetries} recovery retry(s)`;
601
+ }
602
+ if (recovery.blockedWorkstreams > 0) {
603
+ retrySummary += `, blocked ${recovery.blockedWorkstreams} workstream(s)`;
604
+ }
605
+ }
606
+ log(`Skipping ${project.path}: active parallel session in progress${retrySummary}`);
607
+ results.push({
608
+ action: 'none',
609
+ reason: `Parallel session already running${retrySummary}`,
610
+ projectPath: project.path,
611
+ deletedInvocationLogs,
612
+ });
613
+ continue;
284
614
  }
285
615
  // Skip if project already has an active runner (after recovery, which may have killed/removed it).
286
616
  if (hasActiveRunnerForProject(project.path)) {
@@ -294,6 +624,7 @@ async function wakeup(options = {}) {
294
624
  recoveredActions,
295
625
  skippedRecoveryDueToSafetyLimit,
296
626
  deletedInvocationLogs,
627
+ sanitisedActions,
297
628
  });
298
629
  continue;
299
630
  }
@@ -307,6 +638,7 @@ async function wakeup(options = {}) {
307
638
  recoveredActions,
308
639
  skippedRecoveryDueToSafetyLimit,
309
640
  deletedInvocationLogs,
641
+ sanitisedActions,
310
642
  });
311
643
  continue;
312
644
  }
@@ -320,6 +652,7 @@ async function wakeup(options = {}) {
320
652
  recoveredActions,
321
653
  skippedRecoveryDueToSafetyLimit,
322
654
  deletedInvocationLogs,
655
+ sanitisedActions,
323
656
  });
324
657
  }
325
658
  else {
@@ -330,6 +663,7 @@ async function wakeup(options = {}) {
330
663
  recoveredActions,
331
664
  skippedRecoveryDueToSafetyLimit,
332
665
  deletedInvocationLogs,
666
+ sanitisedActions,
333
667
  });
334
668
  }
335
669
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wakeup.js","sourceRoot":"","sources":["../../src/runners/wakeup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wakeup.js","sourceRoot":"","sources":["../../src/runners/wakeup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ -- Add lock epoch fencing to merge locks
2
+
3
+ -- UP
4
+ ALTER TABLE merge_locks ADD COLUMN lock_epoch INTEGER NOT NULL DEFAULT 1;
5
+
6
+ -- Backfill existing rows to deterministic per-row epoch values
7
+ UPDATE merge_locks
8
+ SET lock_epoch = id
9
+ WHERE lock_epoch IS NULL OR lock_epoch = 1;
10
+
11
+ CREATE INDEX IF NOT EXISTS idx_merge_locks_epoch ON merge_locks(session_id, lock_epoch);
12
+
13
+ -- DOWN
14
+ DROP INDEX IF EXISTS idx_merge_locks_epoch;
15
+ -- SQLite does not support DROP COLUMN; column will remain but is harmless.
@@ -0,0 +1,15 @@
1
+ -- Add applied commit SHA tracking for merge progress provenance
2
+
3
+ -- UP
4
+ ALTER TABLE merge_progress ADD COLUMN applied_commit_sha TEXT;
5
+
6
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_merge_progress_unique_position
7
+ ON merge_progress(session_id, workstream_id, position);
8
+
9
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_merge_progress_unique_commit
10
+ ON merge_progress(session_id, workstream_id, commit_sha);
11
+
12
+ -- DOWN
13
+ DROP INDEX IF EXISTS idx_merge_progress_unique_commit;
14
+ DROP INDEX IF EXISTS idx_merge_progress_unique_position;
15
+ -- SQLite does not support DROP COLUMN; column will remain but is harmless.