steroids-cli 0.8.43 → 0.9.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 (130) hide show
  1. package/dist/commands/ai.js +2 -2
  2. package/dist/commands/ai.js.map +1 -1
  3. package/dist/commands/config.js +80 -4
  4. package/dist/commands/config.js.map +1 -1
  5. package/dist/commands/health-stuck.d.ts.map +1 -1
  6. package/dist/commands/health-stuck.js +8 -2
  7. package/dist/commands/health-stuck.js.map +1 -1
  8. package/dist/commands/init.d.ts.map +1 -1
  9. package/dist/commands/init.js +19 -1
  10. package/dist/commands/init.js.map +1 -1
  11. package/dist/commands/loop-phases.d.ts +3 -3
  12. package/dist/commands/loop-phases.d.ts.map +1 -1
  13. package/dist/commands/loop-phases.js +203 -59
  14. package/dist/commands/loop-phases.js.map +1 -1
  15. package/dist/commands/loop.d.ts.map +1 -1
  16. package/dist/commands/loop.js +12 -1
  17. package/dist/commands/loop.js.map +1 -1
  18. package/dist/commands/tasks.d.ts.map +1 -1
  19. package/dist/commands/tasks.js +69 -2
  20. package/dist/commands/tasks.js.map +1 -1
  21. package/dist/config/ai-setup.d.ts +2 -1
  22. package/dist/config/ai-setup.d.ts.map +1 -1
  23. package/dist/config/ai-setup.js +234 -36
  24. package/dist/config/ai-setup.js.map +1 -1
  25. package/dist/config/loader.d.ts +21 -7
  26. package/dist/config/loader.d.ts.map +1 -1
  27. package/dist/config/loader.js +22 -2
  28. package/dist/config/loader.js.map +1 -1
  29. package/dist/config/schema.d.ts.map +1 -1
  30. package/dist/config/schema.js +41 -3
  31. package/dist/config/schema.js.map +1 -1
  32. package/dist/database/queries.d.ts +37 -0
  33. package/dist/database/queries.d.ts.map +1 -1
  34. package/dist/database/queries.js +94 -2
  35. package/dist/database/queries.js.map +1 -1
  36. package/dist/database/schema.d.ts +2 -2
  37. package/dist/database/schema.d.ts.map +1 -1
  38. package/dist/database/schema.js +21 -0
  39. package/dist/database/schema.js.map +1 -1
  40. package/dist/health/stuck-task-detector.d.ts +2 -0
  41. package/dist/health/stuck-task-detector.d.ts.map +1 -1
  42. package/dist/health/stuck-task-detector.js +39 -18
  43. package/dist/health/stuck-task-detector.js.map +1 -1
  44. package/dist/orchestrator/coder.d.ts.map +1 -1
  45. package/dist/orchestrator/coder.js +23 -6
  46. package/dist/orchestrator/coder.js.map +1 -1
  47. package/dist/orchestrator/coordinator.js +1 -1
  48. package/dist/orchestrator/coordinator.js.map +1 -1
  49. package/dist/orchestrator/invoke.d.ts +5 -1
  50. package/dist/orchestrator/invoke.d.ts.map +1 -1
  51. package/dist/orchestrator/invoke.js +9 -1
  52. package/dist/orchestrator/invoke.js.map +1 -1
  53. package/dist/orchestrator/post-reviewer.d.ts +5 -1
  54. package/dist/orchestrator/post-reviewer.d.ts.map +1 -1
  55. package/dist/orchestrator/post-reviewer.js +100 -1
  56. package/dist/orchestrator/post-reviewer.js.map +1 -1
  57. package/dist/orchestrator/reviewer.d.ts +30 -2
  58. package/dist/orchestrator/reviewer.d.ts.map +1 -1
  59. package/dist/orchestrator/reviewer.js +121 -17
  60. package/dist/orchestrator/reviewer.js.map +1 -1
  61. package/dist/orchestrator/task-selector.d.ts.map +1 -1
  62. package/dist/orchestrator/task-selector.js +5 -1
  63. package/dist/orchestrator/task-selector.js.map +1 -1
  64. package/dist/orchestrator/types.d.ts +27 -0
  65. package/dist/orchestrator/types.d.ts.map +1 -1
  66. package/dist/parallel/merge-conflict-invoke.js +1 -1
  67. package/dist/parallel/merge-conflict-invoke.js.map +1 -1
  68. package/dist/prompts/coder.d.ts +4 -0
  69. package/dist/prompts/coder.d.ts.map +1 -1
  70. package/dist/prompts/coder.js +41 -0
  71. package/dist/prompts/coder.js.map +1 -1
  72. package/dist/prompts/reviewer.d.ts +4 -0
  73. package/dist/prompts/reviewer.d.ts.map +1 -1
  74. package/dist/prompts/reviewer.js +65 -0
  75. package/dist/prompts/reviewer.js.map +1 -1
  76. package/dist/providers/api-models.d.ts +14 -6
  77. package/dist/providers/api-models.d.ts.map +1 -1
  78. package/dist/providers/api-models.js +86 -5
  79. package/dist/providers/api-models.js.map +1 -1
  80. package/dist/providers/claude.d.ts +2 -2
  81. package/dist/providers/claude.d.ts.map +1 -1
  82. package/dist/providers/claude.js +58 -13
  83. package/dist/providers/claude.js.map +1 -1
  84. package/dist/providers/codex.d.ts +5 -1
  85. package/dist/providers/codex.d.ts.map +1 -1
  86. package/dist/providers/codex.js +143 -40
  87. package/dist/providers/codex.js.map +1 -1
  88. package/dist/providers/gemini.d.ts +1 -1
  89. package/dist/providers/gemini.d.ts.map +1 -1
  90. package/dist/providers/gemini.js +53 -9
  91. package/dist/providers/gemini.js.map +1 -1
  92. package/dist/providers/interface.d.ts +62 -1
  93. package/dist/providers/interface.d.ts.map +1 -1
  94. package/dist/providers/interface.js +105 -12
  95. package/dist/providers/interface.js.map +1 -1
  96. package/dist/providers/invocation-logger.d.ts +3 -0
  97. package/dist/providers/invocation-logger.d.ts.map +1 -1
  98. package/dist/providers/invocation-logger.js +22 -8
  99. package/dist/providers/invocation-logger.js.map +1 -1
  100. package/dist/providers/minimax.d.ts +50 -0
  101. package/dist/providers/minimax.d.ts.map +1 -0
  102. package/dist/providers/minimax.js +248 -0
  103. package/dist/providers/minimax.js.map +1 -0
  104. package/dist/providers/mistral.d.ts +7 -1
  105. package/dist/providers/mistral.d.ts.map +1 -1
  106. package/dist/providers/mistral.js +74 -5
  107. package/dist/providers/mistral.js.map +1 -1
  108. package/dist/providers/ollama.d.ts +50 -0
  109. package/dist/providers/ollama.d.ts.map +1 -0
  110. package/dist/providers/ollama.js +259 -0
  111. package/dist/providers/ollama.js.map +1 -0
  112. package/dist/providers/openai.d.ts +1 -1
  113. package/dist/providers/openai.d.ts.map +1 -1
  114. package/dist/providers/openai.js +1 -1
  115. package/dist/providers/openai.js.map +1 -1
  116. package/dist/providers/registry.d.ts +2 -2
  117. package/dist/providers/registry.d.ts.map +1 -1
  118. package/dist/providers/registry.js +28 -14
  119. package/dist/providers/registry.js.map +1 -1
  120. package/dist/runners/credit-pause.d.ts +1 -1
  121. package/dist/runners/credit-pause.d.ts.map +1 -1
  122. package/dist/runners/credit-pause.js +2 -2
  123. package/dist/runners/credit-pause.js.map +1 -1
  124. package/dist/runners/orchestrator-loop.js +2 -2
  125. package/dist/runners/orchestrator-loop.js.map +1 -1
  126. package/migrations/014_add_session_context.sql +17 -0
  127. package/migrations/015_add_follow_up_fields.sql +26 -0
  128. package/migrations/016_add_invocation_activity_timestamp.sql +8 -0
  129. package/migrations/manifest.json +25 -1
  130. package/package.json +1 -1
@@ -40,6 +40,11 @@ exports.getTaskInvocations = getTaskInvocations;
40
40
  exports.getRecentTaskInvocations = getRecentTaskInvocations;
41
41
  exports.getLatestInvocation = getLatestInvocation;
42
42
  exports.getInvocationCount = getInvocationCount;
43
+ exports.findResumableSession = findResumableSession;
44
+ exports.getFollowUpDepth = getFollowUpDepth;
45
+ exports.generateDedupeKey = generateDedupeKey;
46
+ exports.createFollowUpTask = createFollowUpTask;
47
+ exports.promoteTask = promoteTask;
43
48
  exports.recordCreditIncident = recordCreditIncident;
44
49
  exports.getActiveCreditIncidents = getActiveCreditIncidents;
45
50
  exports.resolveCreditIncident = resolveCreditIncident;
@@ -551,6 +556,7 @@ function findNextTask(db, sectionId) {
551
556
  .prepare(`SELECT t.* FROM tasks t
552
557
  LEFT JOIN sections s ON t.section_id = s.id
553
558
  WHERE t.status = 'review' ${sectionFilter} ${skipFilter}
559
+ AND (t.requires_promotion = 0 OR t.is_follow_up = 0)
554
560
  ORDER BY COALESCE(s.position, 999999), t.created_at`)
555
561
  .all(...sectionParams);
556
562
  const filteredReviewTasks = filterTasksWithMetDependencies(db, reviewTasks);
@@ -562,6 +568,7 @@ function findNextTask(db, sectionId) {
562
568
  .prepare(`SELECT t.* FROM tasks t
563
569
  LEFT JOIN sections s ON t.section_id = s.id
564
570
  WHERE t.status = 'in_progress' ${sectionFilter} ${skipFilter}
571
+ AND (t.requires_promotion = 0 OR t.is_follow_up = 0)
565
572
  ORDER BY COALESCE(s.position, 999999), t.created_at`)
566
573
  .all(...sectionParams);
567
574
  const filteredInProgressTasks = filterTasksWithMetDependencies(db, inProgressTasks);
@@ -573,6 +580,7 @@ function findNextTask(db, sectionId) {
573
580
  .prepare(`SELECT t.* FROM tasks t
574
581
  LEFT JOIN sections s ON t.section_id = s.id
575
582
  WHERE t.status = 'pending' ${sectionFilter} ${skipFilter}
583
+ AND (t.requires_promotion = 0 OR t.is_follow_up = 0)
576
584
  ORDER BY COALESCE(s.position, 999999), t.created_at`)
577
585
  .all(...sectionParams);
578
586
  const filteredPendingTasks = filterTasksWithMetDependencies(db, pendingTasks);
@@ -629,8 +637,9 @@ function getTaskCountsByStatus(db) {
629
637
  function createTaskInvocation(db, params) {
630
638
  const result = db.prepare(`INSERT INTO task_invocations (
631
639
  task_id, role, provider, model, prompt, response, error,
632
- exit_code, duration_ms, success, timed_out, rejection_number
633
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(params.taskId, params.role, params.provider, params.model, params.prompt, params.response ?? null, params.error ?? null, params.exitCode, params.durationMs, params.success ? 1 : 0, params.timedOut ? 1 : 0, params.rejectionNumber ?? null);
640
+ exit_code, duration_ms, success, timed_out, rejection_number,
641
+ session_id, resumed_from_session_id, invocation_mode, token_usage_json
642
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(params.taskId, params.role, params.provider, params.model, params.prompt, params.response ?? null, params.error ?? null, params.exitCode, params.durationMs, params.success ? 1 : 0, params.timedOut ? 1 : 0, params.rejectionNumber ?? null, params.sessionId ?? null, params.resumedFromSessionId ?? null, params.invocationMode ?? 'fresh', params.tokenUsage ? JSON.stringify(params.tokenUsage) : null);
634
643
  return result.lastInsertRowid;
635
644
  }
636
645
  /**
@@ -687,6 +696,89 @@ function getInvocationCount(db, taskId) {
687
696
  }
688
697
  return counts;
689
698
  }
699
+ /**
700
+ * Find a resumable session for a task and role
701
+ */
702
+ function findResumableSession(db, taskId, role, provider, model, ttlMinutes = 30) {
703
+ const row = db.prepare(`SELECT session_id, created_at
704
+ FROM task_invocations
705
+ WHERE task_id = ? AND role = ? AND provider = ? AND model = ?
706
+ AND success = 1 AND session_id IS NOT NULL
707
+ ORDER BY created_at DESC LIMIT 1`).get(taskId, role, provider, model);
708
+ if (!row)
709
+ return null;
710
+ // Check TTL
711
+ const createdAt = new Date(row.created_at).getTime();
712
+ const now = Date.now();
713
+ if (now - createdAt > ttlMinutes * 60 * 1000) {
714
+ return null;
715
+ }
716
+ return row.session_id;
717
+ }
718
+ /**
719
+ * Get the chain depth of a follow-up task
720
+ */
721
+ function getFollowUpDepth(db, taskId) {
722
+ let depth = 0;
723
+ let currentId = taskId;
724
+ while (currentId) {
725
+ const row = db.prepare('SELECT reference_task_id, is_follow_up FROM tasks WHERE id = ?').get(currentId);
726
+ if (!row || !row.is_follow_up)
727
+ break;
728
+ currentId = row.reference_task_id;
729
+ depth++;
730
+ if (depth > 10)
731
+ break; // Safety limit
732
+ }
733
+ return depth;
734
+ }
735
+ /**
736
+ * Generate a deduplication key for a follow-up task
737
+ */
738
+ function generateDedupeKey(title, referenceTaskId) {
739
+ const normalized = title
740
+ .toLowerCase()
741
+ .replace(/[^a-z0-9\s]/g, '')
742
+ .split(/\s+/)
743
+ .filter(word => word.length > 3)
744
+ .sort()
745
+ .join('-');
746
+ return `${referenceTaskId}:${normalized}`;
747
+ }
748
+ /**
749
+ * Create a follow-up task
750
+ */
751
+ function createFollowUpTask(db, params) {
752
+ const id = (0, uuid_1.v4)();
753
+ const dedupeKey = generateDedupeKey(params.title, params.referenceTaskId);
754
+ try {
755
+ db.prepare(`INSERT INTO tasks (
756
+ id, title, description, status, section_id,
757
+ reference_task_id, reference_commit, is_follow_up,
758
+ requires_promotion, follow_up_depth, dedupe_key
759
+ ) VALUES (?, ?, ?, 'pending', ?, ?, ?, 1, ?, ?, ?)`).run(id, params.title, params.description, params.sectionId, params.referenceTaskId, params.referenceCommit ?? null, params.requiresPromotion ? 1 : 0, params.depth, dedupeKey);
760
+ addAuditEntry(db, id, null, 'pending', 'system:reviewer', {
761
+ notes: `Follow-up task created from ${params.referenceTaskId}${params.requiresPromotion ? ' (requires promotion)' : ''}`,
762
+ actorType: 'orchestrator'
763
+ });
764
+ return id;
765
+ }
766
+ catch (error) {
767
+ if (error.message?.includes('UNIQUE constraint')) {
768
+ // Find existing task
769
+ const existing = db.prepare('SELECT id FROM tasks WHERE dedupe_key = ?').get(dedupeKey);
770
+ return existing.id;
771
+ }
772
+ throw error;
773
+ }
774
+ }
775
+ /**
776
+ * Promote a deferred follow-up task to active status
777
+ */
778
+ function promoteTask(db, taskId, actor) {
779
+ db.prepare("UPDATE tasks SET requires_promotion = 0, updated_at = datetime('now') WHERE id = ?").run(taskId);
780
+ addAuditEntry(db, taskId, 'pending', 'pending', actor, 'Task promoted (auto-implementation enabled)');
781
+ }
690
782
  /**
691
783
  * Record a credit_exhaustion incident, with deduplication.
692
784
  * If an unresolved incident already exists for the same runner+role+provider+model,
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/database/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/database/queries.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,6 @@
3
3
  * Creates all required tables with proper constraints
4
4
  */
5
5
  export declare const SCHEMA_VERSION = "0.1.0";
6
- export declare const SCHEMA_SQL = "\n-- Schema metadata (version tracking)\nCREATE TABLE IF NOT EXISTS _schema (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n\n-- Applied migrations log\nCREATE TABLE IF NOT EXISTS _migrations (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL UNIQUE,\n checksum TEXT NOT NULL,\n applied_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Sections (task groups)\nCREATE TABLE IF NOT EXISTS sections (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n position INTEGER NOT NULL,\n priority INTEGER DEFAULT 50,\n skipped INTEGER DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_sections_priority ON sections(priority);\n\n-- Tasks\nCREATE TABLE IF NOT EXISTS tasks (\n id TEXT PRIMARY KEY,\n title TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n section_id TEXT REFERENCES sections(id),\n source_file TEXT,\n file_path TEXT,\n file_line INTEGER,\n file_commit_sha TEXT,\n file_content_hash TEXT,\n rejection_count INTEGER NOT NULL DEFAULT 0,\n failure_count INTEGER NOT NULL DEFAULT 0,\n last_failure_at TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);\nCREATE INDEX IF NOT EXISTS idx_tasks_section ON tasks(section_id);\nCREATE INDEX IF NOT EXISTS idx_tasks_failures ON tasks(failure_count) WHERE failure_count > 0;\n\n-- Audit trail (immutable log of status changes)\nCREATE TABLE IF NOT EXISTS audit (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n task_id TEXT NOT NULL REFERENCES tasks(id),\n from_status TEXT,\n to_status TEXT NOT NULL,\n actor TEXT NOT NULL,\n actor_type TEXT DEFAULT 'human',\n model TEXT,\n notes TEXT,\n commit_sha TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_audit_task ON audit(task_id);\nCREATE INDEX IF NOT EXISTS idx_audit_commit ON audit(commit_sha);\n\n-- Disputes\nCREATE TABLE IF NOT EXISTS disputes (\n id TEXT PRIMARY KEY,\n task_id TEXT NOT NULL REFERENCES tasks(id),\n type TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'open',\n reason TEXT NOT NULL,\n coder_position TEXT,\n reviewer_position TEXT,\n resolution TEXT,\n resolution_notes TEXT,\n created_by TEXT NOT NULL,\n resolved_by TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n resolved_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_disputes_task ON disputes(task_id);\nCREATE INDEX IF NOT EXISTS idx_disputes_status ON disputes(status);\n\n-- Task locks (for orchestrator coordination)\nCREATE TABLE IF NOT EXISTS task_locks (\n task_id TEXT PRIMARY KEY REFERENCES tasks(id),\n runner_id TEXT NOT NULL,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL,\n heartbeat_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_task_locks_expires ON task_locks(expires_at);\n\n-- Section locks (for orchestrator coordination)\nCREATE TABLE IF NOT EXISTS section_locks (\n section_id TEXT PRIMARY KEY REFERENCES sections(id),\n runner_id TEXT NOT NULL,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_section_locks_expires ON section_locks(expires_at);\n\n-- Section dependencies (ordering constraints between sections)\nCREATE TABLE IF NOT EXISTS section_dependencies (\n id TEXT PRIMARY KEY,\n section_id TEXT NOT NULL REFERENCES sections(id),\n depends_on_section_id TEXT NOT NULL REFERENCES sections(id),\n created_at TEXT DEFAULT (datetime('now')),\n UNIQUE(section_id, depends_on_section_id)\n);\n\nCREATE INDEX IF NOT EXISTS idx_section_dependencies_section ON section_dependencies(section_id);\nCREATE INDEX IF NOT EXISTS idx_section_dependencies_depends_on ON section_dependencies(depends_on_section_id);\n\n-- Task invocations (LLM calls per task)\nCREATE TABLE IF NOT EXISTS task_invocations (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n task_id TEXT NOT NULL REFERENCES tasks(id),\n role TEXT NOT NULL,\n provider TEXT NOT NULL,\n model TEXT NOT NULL,\n prompt TEXT NOT NULL,\n response TEXT,\n error TEXT,\n started_at_ms INTEGER,\n completed_at_ms INTEGER,\n status TEXT DEFAULT 'completed' CHECK(status IN ('running', 'completed', 'failed', 'timeout')),\n exit_code INTEGER NOT NULL DEFAULT 0,\n duration_ms INTEGER NOT NULL DEFAULT 0,\n success INTEGER NOT NULL DEFAULT 0,\n timed_out INTEGER NOT NULL DEFAULT 0,\n rejection_number INTEGER,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_task_invocations_task ON task_invocations(task_id);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_role ON task_invocations(role);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_created ON task_invocations(created_at DESC);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_task_status ON task_invocations(task_id, status, started_at_ms DESC);\n\n-- Incidents (stuck-task detection/recovery)\nCREATE TABLE IF NOT EXISTS incidents (\n id TEXT PRIMARY KEY,\n task_id TEXT REFERENCES tasks(id),\n runner_id TEXT,\n failure_mode TEXT NOT NULL,\n detected_at TEXT NOT NULL,\n resolved_at TEXT,\n resolution TEXT,\n details TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_incidents_task ON incidents(task_id);\nCREATE INDEX IF NOT EXISTS idx_incidents_detected ON incidents(detected_at);\nCREATE INDEX IF NOT EXISTS idx_incidents_unresolved ON incidents(resolved_at) WHERE resolved_at IS NULL;\n\n-- Merge locks (global lock during project merges)\nCREATE TABLE IF NOT EXISTS merge_locks (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n runner_id TEXT NOT NULL,\n lock_epoch INTEGER NOT NULL DEFAULT 1,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL,\n heartbeat_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_merge_locks_expires ON merge_locks(expires_at);\nCREATE INDEX IF NOT EXISTS idx_merge_locks_heartbeat ON merge_locks(heartbeat_at);\nCREATE INDEX IF NOT EXISTS idx_merge_locks_epoch ON merge_locks(session_id, lock_epoch);\n\n-- Merge progress tracking for crash recovery during cherry-pick\nCREATE TABLE IF NOT EXISTS merge_progress (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n workstream_id TEXT NOT NULL,\n position INTEGER NOT NULL,\n commit_sha TEXT NOT NULL,\n applied_commit_sha TEXT,\n status TEXT NOT NULL CHECK (status IN ('applied', 'conflict', 'skipped')),\n conflict_task_id TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n applied_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_merge_progress_session ON merge_progress(session_id, position);\nCREATE INDEX IF NOT EXISTS idx_merge_progress_status ON merge_progress(status, applied_at);\nCREATE UNIQUE INDEX IF NOT EXISTS idx_merge_progress_unique_position\nON merge_progress(session_id, workstream_id, position);\nCREATE UNIQUE INDEX IF NOT EXISTS idx_merge_progress_unique_commit\nON merge_progress(session_id, workstream_id, commit_sha);\n";
7
- export declare const INITIAL_SCHEMA_DATA = "\nINSERT OR REPLACE INTO _schema (key, value) VALUES ('version', '0.1.0');\nINSERT OR REPLACE INTO _schema (key, value) VALUES ('created_at', datetime('now'));\n\n-- Mark all migrations as applied since new databases have the full schema\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (1, '001_initial_schema', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (2, '002_add_commit_sha', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (3, '003_add_section_priority', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (4, '004_add_section_dependencies', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (5, '005_add_audit_actor_model', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (6, '006_add_task_invocations', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (7, '007_add_file_anchor', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (8, '008_add_section_skipped', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (9, '009_add_incidents_and_failure_tracking', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (10, '010_add_lifecycle_timestamps', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (11, '011_add_merge_locks_and_progress', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (12, '012_add_merge_lock_epoch', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (13, '013_add_merge_progress_applied_commit_sha', 'builtin');\n";
6
+ export declare const SCHEMA_SQL = "\n-- Schema metadata (version tracking)\nCREATE TABLE IF NOT EXISTS _schema (\n key TEXT PRIMARY KEY,\n value TEXT NOT NULL\n);\n\n-- Applied migrations log\nCREATE TABLE IF NOT EXISTS _migrations (\n id INTEGER PRIMARY KEY,\n name TEXT NOT NULL UNIQUE,\n checksum TEXT NOT NULL,\n applied_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\n-- Sections (task groups)\nCREATE TABLE IF NOT EXISTS sections (\n id TEXT PRIMARY KEY,\n name TEXT NOT NULL,\n position INTEGER NOT NULL,\n priority INTEGER DEFAULT 50,\n skipped INTEGER DEFAULT 0,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_sections_priority ON sections(priority);\n\n-- Tasks\nCREATE TABLE IF NOT EXISTS tasks (\n id TEXT PRIMARY KEY,\n title TEXT NOT NULL,\n description TEXT CHECK(length(description) <= 4000),\n status TEXT NOT NULL DEFAULT 'pending',\n section_id TEXT REFERENCES sections(id),\n source_file TEXT,\n file_path TEXT,\n file_line INTEGER,\n file_commit_sha TEXT,\n file_content_hash TEXT,\n rejection_count INTEGER NOT NULL DEFAULT 0,\n failure_count INTEGER NOT NULL DEFAULT 0,\n last_failure_at TEXT,\n reference_task_id TEXT REFERENCES tasks(id),\n reference_commit TEXT,\n reference_commit_message TEXT,\n is_follow_up INTEGER NOT NULL DEFAULT 0 CHECK(is_follow_up IN (0, 1)),\n requires_promotion INTEGER NOT NULL DEFAULT 0 CHECK(requires_promotion IN (0, 1)),\n follow_up_depth INTEGER NOT NULL DEFAULT 0 CHECK(follow_up_depth >= 0),\n dedupe_key TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n updated_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);\nCREATE INDEX IF NOT EXISTS idx_tasks_section ON tasks(section_id);\nCREATE INDEX IF NOT EXISTS idx_tasks_failures ON tasks(failure_count) WHERE failure_count > 0;\nCREATE INDEX IF NOT EXISTS idx_tasks_reference_task ON tasks(reference_task_id) WHERE reference_task_id IS NOT NULL;\nCREATE INDEX IF NOT EXISTS idx_tasks_follow_up_state ON tasks(is_follow_up, requires_promotion) WHERE is_follow_up = 1;\nCREATE UNIQUE INDEX IF NOT EXISTS idx_tasks_dedupe ON tasks(dedupe_key) WHERE dedupe_key IS NOT NULL;\nCREATE INDEX IF NOT EXISTS idx_tasks_selection_followup ON tasks(status, is_follow_up, requires_promotion);\n\n-- Audit trail (immutable log of status changes)\nCREATE TABLE IF NOT EXISTS audit (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n task_id TEXT NOT NULL REFERENCES tasks(id),\n from_status TEXT,\n to_status TEXT NOT NULL,\n actor TEXT NOT NULL,\n actor_type TEXT DEFAULT 'human',\n model TEXT,\n notes TEXT,\n commit_sha TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_audit_task ON audit(task_id);\nCREATE INDEX IF NOT EXISTS idx_audit_commit ON audit(commit_sha);\n\n-- Disputes\nCREATE TABLE IF NOT EXISTS disputes (\n id TEXT PRIMARY KEY,\n task_id TEXT NOT NULL REFERENCES tasks(id),\n type TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'open',\n reason TEXT NOT NULL,\n coder_position TEXT,\n reviewer_position TEXT,\n resolution TEXT,\n resolution_notes TEXT,\n created_by TEXT NOT NULL,\n resolved_by TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n resolved_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_disputes_task ON disputes(task_id);\nCREATE INDEX IF NOT EXISTS idx_disputes_status ON disputes(status);\n\n-- Task locks (for orchestrator coordination)\nCREATE TABLE IF NOT EXISTS task_locks (\n task_id TEXT PRIMARY KEY REFERENCES tasks(id),\n runner_id TEXT NOT NULL,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL,\n heartbeat_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_task_locks_expires ON task_locks(expires_at);\n\n-- Section locks (for orchestrator coordination)\nCREATE TABLE IF NOT EXISTS section_locks (\n section_id TEXT PRIMARY KEY REFERENCES sections(id),\n runner_id TEXT NOT NULL,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_section_locks_expires ON section_locks(expires_at);\n\n-- Section dependencies (ordering constraints between sections)\nCREATE TABLE IF NOT EXISTS section_dependencies (\n id TEXT PRIMARY KEY,\n section_id TEXT NOT NULL REFERENCES sections(id),\n depends_on_section_id TEXT NOT NULL REFERENCES sections(id),\n created_at TEXT DEFAULT (datetime('now')),\n UNIQUE(section_id, depends_on_section_id)\n);\n\nCREATE INDEX IF NOT EXISTS idx_section_dependencies_section ON section_dependencies(section_id);\nCREATE INDEX IF NOT EXISTS idx_section_dependencies_depends_on ON section_dependencies(depends_on_section_id);\n\n-- Task invocations (LLM calls per task)\nCREATE TABLE IF NOT EXISTS task_invocations (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n task_id TEXT NOT NULL REFERENCES tasks(id),\n role TEXT NOT NULL,\n provider TEXT NOT NULL,\n model TEXT NOT NULL,\n prompt TEXT NOT NULL,\n response TEXT,\n error TEXT,\n started_at_ms INTEGER,\n completed_at_ms INTEGER,\n status TEXT DEFAULT 'completed' CHECK(status IN ('running', 'completed', 'failed', 'timeout')),\n exit_code INTEGER NOT NULL DEFAULT 0,\n duration_ms INTEGER NOT NULL DEFAULT 0,\n success INTEGER NOT NULL DEFAULT 0,\n timed_out INTEGER NOT NULL DEFAULT 0,\n rejection_number INTEGER,\n session_id TEXT,\n resumed_from_session_id TEXT,\n invocation_mode TEXT DEFAULT 'fresh',\n token_usage_json TEXT,\n last_activity_at_ms INTEGER,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_task_invocations_task ON task_invocations(task_id);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_role ON task_invocations(role);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_created ON task_invocations(created_at DESC);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_task_status ON task_invocations(task_id, status, started_at_ms DESC);\nCREATE INDEX IF NOT EXISTS idx_task_invocations_session ON task_invocations(session_id);\n\n-- Incidents (stuck-task detection/recovery)\nCREATE TABLE IF NOT EXISTS incidents (\n id TEXT PRIMARY KEY,\n task_id TEXT REFERENCES tasks(id),\n runner_id TEXT,\n failure_mode TEXT NOT NULL,\n detected_at TEXT NOT NULL,\n resolved_at TEXT,\n resolution TEXT,\n details TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_incidents_task ON incidents(task_id);\nCREATE INDEX IF NOT EXISTS idx_incidents_detected ON incidents(detected_at);\nCREATE INDEX IF NOT EXISTS idx_incidents_unresolved ON incidents(resolved_at) WHERE resolved_at IS NULL;\n\n-- Merge locks (global lock during project merges)\nCREATE TABLE IF NOT EXISTS merge_locks (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n runner_id TEXT NOT NULL,\n lock_epoch INTEGER NOT NULL DEFAULT 1,\n acquired_at TEXT NOT NULL DEFAULT (datetime('now')),\n expires_at TEXT NOT NULL,\n heartbeat_at TEXT NOT NULL DEFAULT (datetime('now'))\n);\n\nCREATE INDEX IF NOT EXISTS idx_merge_locks_expires ON merge_locks(expires_at);\nCREATE INDEX IF NOT EXISTS idx_merge_locks_heartbeat ON merge_locks(heartbeat_at);\nCREATE INDEX IF NOT EXISTS idx_merge_locks_epoch ON merge_locks(session_id, lock_epoch);\n\n-- Merge progress tracking for crash recovery during cherry-pick\nCREATE TABLE IF NOT EXISTS merge_progress (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n session_id TEXT NOT NULL,\n workstream_id TEXT NOT NULL,\n position INTEGER NOT NULL,\n commit_sha TEXT NOT NULL,\n applied_commit_sha TEXT,\n status TEXT NOT NULL CHECK (status IN ('applied', 'conflict', 'skipped')),\n conflict_task_id TEXT,\n created_at TEXT NOT NULL DEFAULT (datetime('now')),\n applied_at TEXT\n);\n\nCREATE INDEX IF NOT EXISTS idx_merge_progress_session ON merge_progress(session_id, position);\nCREATE INDEX IF NOT EXISTS idx_merge_progress_status ON merge_progress(status, applied_at);\nCREATE UNIQUE INDEX IF NOT EXISTS idx_merge_progress_unique_position\nON merge_progress(session_id, workstream_id, position);\nCREATE UNIQUE INDEX IF NOT EXISTS idx_merge_progress_unique_commit\nON merge_progress(session_id, workstream_id, commit_sha);\n";
7
+ export declare const INITIAL_SCHEMA_DATA = "\nINSERT OR REPLACE INTO _schema (key, value) VALUES ('version', '0.1.0');\nINSERT OR REPLACE INTO _schema (key, value) VALUES ('created_at', datetime('now'));\n\n-- Mark all migrations as applied since new databases have the full schema\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (1, '001_initial_schema', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (2, '002_add_commit_sha', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (3, '003_add_section_priority', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (4, '004_add_section_dependencies', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (5, '005_add_audit_actor_model', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (6, '006_add_task_invocations', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (7, '007_add_file_anchor', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (8, '008_add_section_skipped', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (9, '009_add_incidents_and_failure_tracking', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (10, '010_add_lifecycle_timestamps', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (11, '011_add_merge_locks_and_progress', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (12, '012_add_merge_lock_epoch', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (13, '013_add_merge_progress_applied_commit_sha', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (14, '014_add_session_context', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (15, '015_add_follow_up_fields', 'builtin');\nINSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (16, '016_add_invocation_activity_timestamp', 'builtin');\n";
8
8
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,eAAO,MAAM,UAAU,wqOAqMtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,qoDAkB/B,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,cAAc,UAAU,CAAC;AAEtC,eAAO,MAAM,UAAU,0xQAuNtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,q9DAqB/B,CAAC"}
@@ -37,6 +37,7 @@ CREATE INDEX IF NOT EXISTS idx_sections_priority ON sections(priority);
37
37
  CREATE TABLE IF NOT EXISTS tasks (
38
38
  id TEXT PRIMARY KEY,
39
39
  title TEXT NOT NULL,
40
+ description TEXT CHECK(length(description) <= 4000),
40
41
  status TEXT NOT NULL DEFAULT 'pending',
41
42
  section_id TEXT REFERENCES sections(id),
42
43
  source_file TEXT,
@@ -47,6 +48,13 @@ CREATE TABLE IF NOT EXISTS tasks (
47
48
  rejection_count INTEGER NOT NULL DEFAULT 0,
48
49
  failure_count INTEGER NOT NULL DEFAULT 0,
49
50
  last_failure_at TEXT,
51
+ reference_task_id TEXT REFERENCES tasks(id),
52
+ reference_commit TEXT,
53
+ reference_commit_message TEXT,
54
+ is_follow_up INTEGER NOT NULL DEFAULT 0 CHECK(is_follow_up IN (0, 1)),
55
+ requires_promotion INTEGER NOT NULL DEFAULT 0 CHECK(requires_promotion IN (0, 1)),
56
+ follow_up_depth INTEGER NOT NULL DEFAULT 0 CHECK(follow_up_depth >= 0),
57
+ dedupe_key TEXT,
50
58
  created_at TEXT NOT NULL DEFAULT (datetime('now')),
51
59
  updated_at TEXT NOT NULL DEFAULT (datetime('now'))
52
60
  );
@@ -54,6 +62,10 @@ CREATE TABLE IF NOT EXISTS tasks (
54
62
  CREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);
55
63
  CREATE INDEX IF NOT EXISTS idx_tasks_section ON tasks(section_id);
56
64
  CREATE INDEX IF NOT EXISTS idx_tasks_failures ON tasks(failure_count) WHERE failure_count > 0;
65
+ CREATE INDEX IF NOT EXISTS idx_tasks_reference_task ON tasks(reference_task_id) WHERE reference_task_id IS NOT NULL;
66
+ CREATE INDEX IF NOT EXISTS idx_tasks_follow_up_state ON tasks(is_follow_up, requires_promotion) WHERE is_follow_up = 1;
67
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_tasks_dedupe ON tasks(dedupe_key) WHERE dedupe_key IS NOT NULL;
68
+ CREATE INDEX IF NOT EXISTS idx_tasks_selection_followup ON tasks(status, is_follow_up, requires_promotion);
57
69
 
58
70
  -- Audit trail (immutable log of status changes)
59
71
  CREATE TABLE IF NOT EXISTS audit (
@@ -143,6 +155,11 @@ CREATE TABLE IF NOT EXISTS task_invocations (
143
155
  success INTEGER NOT NULL DEFAULT 0,
144
156
  timed_out INTEGER NOT NULL DEFAULT 0,
145
157
  rejection_number INTEGER,
158
+ session_id TEXT,
159
+ resumed_from_session_id TEXT,
160
+ invocation_mode TEXT DEFAULT 'fresh',
161
+ token_usage_json TEXT,
162
+ last_activity_at_ms INTEGER,
146
163
  created_at TEXT NOT NULL DEFAULT (datetime('now'))
147
164
  );
148
165
 
@@ -150,6 +167,7 @@ CREATE INDEX IF NOT EXISTS idx_task_invocations_task ON task_invocations(task_id
150
167
  CREATE INDEX IF NOT EXISTS idx_task_invocations_role ON task_invocations(role);
151
168
  CREATE INDEX IF NOT EXISTS idx_task_invocations_created ON task_invocations(created_at DESC);
152
169
  CREATE INDEX IF NOT EXISTS idx_task_invocations_task_status ON task_invocations(task_id, status, started_at_ms DESC);
170
+ CREATE INDEX IF NOT EXISTS idx_task_invocations_session ON task_invocations(session_id);
153
171
 
154
172
  -- Incidents (stuck-task detection/recovery)
155
173
  CREATE TABLE IF NOT EXISTS incidents (
@@ -222,5 +240,8 @@ INSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (10, '010_add_life
222
240
  INSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (11, '011_add_merge_locks_and_progress', 'builtin');
223
241
  INSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (12, '012_add_merge_lock_epoch', 'builtin');
224
242
  INSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (13, '013_add_merge_progress_applied_commit_sha', 'builtin');
243
+ INSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (14, '014_add_session_context', 'builtin');
244
+ INSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (15, '015_add_follow_up_fields', 'builtin');
245
+ INSERT OR IGNORE INTO _migrations (id, name, checksum) VALUES (16, '016_add_invocation_activity_timestamp', 'builtin');
225
246
  `;
226
247
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEU,QAAA,cAAc,GAAG,OAAO,CAAC;AAEzB,QAAA,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqMzB,CAAC;AAEW,QAAA,mBAAmB,GAAG;kEAC+B,sBAAc;;;;;;;;;;;;;;;;;CAiB/E,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/database/schema.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEU,QAAA,cAAc,GAAG,OAAO,CAAC;AAEzB,QAAA,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuNzB,CAAC;AAEW,QAAA,mBAAmB,GAAG;kEAC+B,sBAAc;;;;;;;;;;;;;;;;;;;;CAoB/E,CAAC"}
@@ -61,6 +61,8 @@ export interface HangingTaskSignal {
61
61
  runnerId: string;
62
62
  runnerPid: number | null;
63
63
  runnerHeartbeatAt: Date;
64
+ lastActivityAt: Date | null;
65
+ secondsSinceActivity: number | null;
64
66
  }
65
67
  export interface ZombieRunnerSignal {
66
68
  failureMode: 'zombie_runner';
@@ -1 +1 @@
1
- {"version":3,"file":"stuck-task-detector.d.ts","sourceRoot":"","sources":["../../src/health/stuck-task-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stuck-task-detector.d.ts","sourceRoot":"","sources":["../../src/health/stuck-task-detector.ts"],"names":[],"mappings":"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"}
@@ -189,32 +189,53 @@ function detectTaskSignalsInternal(projectDb, globalDb, projectPath, cfg, now, i
189
189
  }
190
190
  }
191
191
  // Hanging invocations: in_progress/review for too long with an active runner currently executing the task.
192
- // Approximates "invocation started but not completed" using task age + runner current_task_id.
192
+ // Approximates "invocation started but not completed" using activity heartbeats.
193
193
  {
194
- const coderCutoff = formatSqliteDateTimeUtc(new Date(now.getTime() - cfg.maxCoderDurationSec * 1000));
195
- const reviewerCutoff = formatSqliteDateTimeUtc(new Date(now.getTime() - cfg.maxReviewerDurationSec * 1000));
196
- const rows = projectDb.prepare(`SELECT t.id, t.title, t.status, t.updated_at
194
+ const rows = projectDb.prepare(`SELECT t.id, t.title, t.status, t.updated_at, i.last_activity_at_ms, i.role
197
195
  FROM tasks t
198
- WHERE (t.status = 'in_progress' AND t.updated_at < ?)
199
- OR (t.status = 'review' AND t.updated_at < ?)`).all(coderCutoff, reviewerCutoff);
196
+ JOIN task_invocations i ON i.task_id = t.id
197
+ WHERE (t.status = 'in_progress' OR t.status = 'review')
198
+ AND i.status = 'running'
199
+ ORDER BY i.created_at DESC`).all();
200
200
  for (const row of rows) {
201
201
  const activeRunner = getActiveRunnerForTask(globalDb, projectPath, row.id, cfg, now, isPidAlive);
202
202
  if (!activeRunner)
203
203
  continue;
204
204
  const updatedAt = parseSqliteDateTimeUtc(row.updated_at);
205
+ const lastActivityAt = row.last_activity_at_ms ? new Date(row.last_activity_at_ms) : null;
205
206
  const hbAt = parseSqliteDateTimeUtc(activeRunner.heartbeat_at);
206
- hangingInvocations.push({
207
- failureMode: 'hanging_invocation',
208
- phase: row.status === 'review' ? 'reviewer' : 'coder',
209
- taskId: row.id,
210
- title: row.title,
211
- status: row.status,
212
- updatedAt,
213
- secondsSinceUpdate: secondsBetween(now, updatedAt),
214
- runnerId: activeRunner.id,
215
- runnerPid: activeRunner.pid,
216
- runnerHeartbeatAt: hbAt,
217
- });
207
+ const secondsSinceUpdate = secondsBetween(now, updatedAt);
208
+ const secondsSinceActivity = lastActivityAt ? secondsBetween(now, lastActivityAt) : null;
209
+ // RULE: If we have activity heartbeats, use silence threshold (invocationStalenessSec).
210
+ // If we DON'T have activity yet, use the wall-clock phase limit.
211
+ let isStuck = false;
212
+ if (secondsSinceActivity !== null) {
213
+ if (secondsSinceActivity > cfg.invocationStalenessSec) {
214
+ isStuck = true;
215
+ }
216
+ }
217
+ else {
218
+ const wallClockLimit = row.status === 'review' ? cfg.maxReviewerDurationSec : cfg.maxCoderDurationSec;
219
+ if (secondsSinceUpdate > wallClockLimit) {
220
+ isStuck = true;
221
+ }
222
+ }
223
+ if (isStuck) {
224
+ hangingInvocations.push({
225
+ failureMode: 'hanging_invocation',
226
+ phase: row.role,
227
+ taskId: row.id,
228
+ title: row.title,
229
+ status: row.status,
230
+ updatedAt,
231
+ secondsSinceUpdate,
232
+ runnerId: activeRunner.id,
233
+ runnerPid: activeRunner.pid,
234
+ runnerHeartbeatAt: hbAt,
235
+ lastActivityAt,
236
+ secondsSinceActivity,
237
+ });
238
+ }
218
239
  }
219
240
  }
220
241
  return { orphanedTasks, hangingInvocations, dbInconsistencies };
@@ -1 +1 @@
1
- {"version":3,"file":"stuck-task-detector.js","sourceRoot":"","sources":["../../src/health/stuck-task-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stuck-task-detector.js","sourceRoot":"","sources":["../../src/health/stuck-task-detector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"coder.d.ts","sourceRoot":"","sources":["../../src/orchestrator/coder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAenD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAiFD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,GAAG,QAAQ,EAC1B,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,WAAW,CAAC,CAmEtB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,IAAI,EAAE,EACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,CAAC,CAgC3B"}
1
+ {"version":3,"file":"coder.d.ts","sourceRoot":"","sources":["../../src/orchestrator/coder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAgBnD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAqFD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,GAAG,QAAQ,EAC1B,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,WAAW,CAAC,CAwFtB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,IAAI,EAAE,EACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,CAAC,CAgC3B"}
@@ -29,7 +29,7 @@ function writePromptToTempFile(prompt) {
29
29
  * Uses configuration to determine which provider to use
30
30
  */
31
31
  async function invokeProvider(promptFile, timeoutMs = 900_000, // 15 minutes default
32
- taskId, projectPath) {
32
+ taskId, projectPath, resumeSessionId) {
33
33
  // Load configuration to get coder provider settings
34
34
  // Project config overrides global config
35
35
  const config = (0, loader_js_1.loadConfig)(projectPath);
@@ -40,7 +40,7 @@ taskId, projectPath) {
40
40
  throw new Error('Coder AI provider not configured. Run "steroids config ai coder" to configure.');
41
41
  }
42
42
  // Get the provider from registry
43
- const registry = (0, registry_js_1.getProviderRegistry)();
43
+ const registry = await (0, registry_js_1.getProviderRegistry)();
44
44
  const provider = registry.get(providerName);
45
45
  // Check if provider is available
46
46
  if (!(await provider.isAvailable())) {
@@ -57,12 +57,15 @@ taskId, projectPath) {
57
57
  role: 'coder',
58
58
  streamOutput: true,
59
59
  onActivity: ctx?.onActivity,
60
+ resumeSessionId,
60
61
  }), {
61
62
  role: 'coder',
62
63
  provider: providerName,
63
64
  model: modelName,
64
65
  taskId,
65
66
  projectPath,
67
+ resumedFromSessionId: resumeSessionId ?? undefined,
68
+ invocationMode: resumeSessionId ? 'resume' : 'fresh',
66
69
  });
67
70
  return {
68
71
  success: result.success,
@@ -93,16 +96,25 @@ async function invokeCoder(task, projectPath, action, coordinatorGuidance) {
93
96
  console.log(`${'='.repeat(60)}\n`);
94
97
  // Fetch rejection history so coder can see past attempts
95
98
  let rejectionHistory = [];
99
+ let resumeSessionId = null;
96
100
  try {
97
101
  const { db, close } = (0, connection_js_1.openDatabase)(projectPath);
98
102
  rejectionHistory = (0, queries_js_1.getTaskRejections)(db, task.id);
99
103
  if (rejectionHistory.length > 0) {
100
104
  console.log(`Found ${rejectionHistory.length} previous rejection(s) - coder will see full history`);
101
105
  }
106
+ // Check for resumable session (same provider/model/role)
107
+ const coderConfig = config.ai?.coder;
108
+ if (coderConfig?.provider && coderConfig?.model) {
109
+ resumeSessionId = (0, queries_js_1.findResumableSession)(db, task.id, 'coder', coderConfig.provider, coderConfig.model);
110
+ if (resumeSessionId) {
111
+ console.log(`Found resumable session: ${resumeSessionId.substring(0, 8)}... (resuming with delta prompt)`);
112
+ }
113
+ }
102
114
  close();
103
115
  }
104
116
  catch (error) {
105
- console.warn('Could not fetch rejection history:', error);
117
+ console.warn('Could not fetch rejection history or session info:', error);
106
118
  }
107
119
  const context = {
108
120
  task,
@@ -112,19 +124,24 @@ async function invokeCoder(task, projectPath, action, coordinatorGuidance) {
112
124
  coordinatorGuidance,
113
125
  };
114
126
  let prompt;
115
- if (action === 'resume') {
116
- // Get git status for resuming prompt
127
+ if (resumeSessionId) {
128
+ // Session reuse: send delta prompt only
129
+ prompt = (0, coder_js_1.generateResumingCoderDeltaPrompt)(context);
130
+ }
131
+ else if (action === 'resume') {
132
+ // No session reuse, but work was partially done: send full resuming prompt
117
133
  context.gitStatus = (0, status_js_1.getGitStatus)(projectPath);
118
134
  context.gitDiff = (0, status_js_1.getGitDiff)(projectPath);
119
135
  prompt = (0, coder_js_1.generateResumingCoderPrompt)(context);
120
136
  }
121
137
  else {
138
+ // New task: send full coder prompt
122
139
  prompt = (0, coder_js_1.generateCoderPrompt)(context);
123
140
  }
124
141
  // Write prompt to temp file
125
142
  const promptFile = writePromptToTempFile(prompt);
126
143
  try {
127
- const result = await invokeProvider(promptFile, 900_000, task.id, projectPath);
144
+ const result = await invokeProvider(promptFile, 900_000, task.id, projectPath, resumeSessionId ?? undefined);
128
145
  console.log(`\n${'='.repeat(60)}`);
129
146
  console.log(`CODER COMPLETED`);
130
147
  console.log(`Exit code: ${result.exitCode}`);