@ghostwater/soulforge 0.6.0 → 0.8.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 (46) hide show
  1. package/dist/cli/cli.js +323 -117
  2. package/dist/cli/cli.js.map +1 -1
  3. package/dist/daemon/daemon.js +112 -6
  4. package/dist/daemon/daemon.js.map +1 -1
  5. package/dist/daemon/runner.js +634 -64
  6. package/dist/daemon/runner.js.map +1 -1
  7. package/dist/db/database.d.ts +20 -10
  8. package/dist/db/database.js +182 -44
  9. package/dist/db/database.js.map +1 -1
  10. package/dist/executors/claude-code.d.ts +2 -0
  11. package/dist/executors/claude-code.js +38 -2
  12. package/dist/executors/claude-code.js.map +1 -1
  13. package/dist/executors/codex-cli.d.ts +2 -0
  14. package/dist/executors/codex-cli.js +37 -2
  15. package/dist/executors/codex-cli.js.map +1 -1
  16. package/dist/executors/codex.d.ts +1 -0
  17. package/dist/executors/codex.js +53 -0
  18. package/dist/executors/codex.js.map +1 -1
  19. package/dist/executors/openclaw.d.ts +1 -0
  20. package/dist/executors/openclaw.js +11 -0
  21. package/dist/executors/openclaw.js.map +1 -1
  22. package/dist/executors/self.d.ts +1 -0
  23. package/dist/executors/self.js +11 -0
  24. package/dist/executors/self.js.map +1 -1
  25. package/dist/executors/types.d.ts +4 -0
  26. package/dist/lib/worktree.d.ts +1 -1
  27. package/dist/lib/worktree.js +2 -1
  28. package/dist/lib/worktree.js.map +1 -1
  29. package/dist/workflow/discovery.d.ts +24 -0
  30. package/dist/workflow/discovery.js +120 -0
  31. package/dist/workflow/discovery.js.map +1 -0
  32. package/dist/workflow/gate-routing.d.ts +5 -0
  33. package/dist/workflow/gate-routing.js +44 -0
  34. package/dist/workflow/gate-routing.js.map +1 -0
  35. package/dist/workflow/parser.js +117 -5
  36. package/dist/workflow/parser.js.map +1 -1
  37. package/dist/workflow/schema-validator.d.ts +6 -0
  38. package/dist/workflow/schema-validator.js +120 -0
  39. package/dist/workflow/schema-validator.js.map +1 -0
  40. package/dist/workflow/template.d.ts +2 -1
  41. package/dist/workflow/template.js +13 -21
  42. package/dist/workflow/template.js.map +1 -1
  43. package/dist/workflow/types.d.ts +22 -2
  44. package/package.json +1 -1
  45. package/workflows/bugfix/workflow.yml +248 -40
  46. package/workflows/feature-dev/workflow.yml +252 -48
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/daemon/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/daemon/runner.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,12 @@ export interface RunRecord {
24
24
  status: string;
25
25
  context: string;
26
26
  callback: string | null;
27
+ callback_exec: string | null;
27
28
  worktree: string | null;
29
+ keep_worktree: boolean;
28
30
  executor_override: string | null;
31
+ /** CLI-provided model override (--model flag) */
32
+ model_override: string | null;
29
33
  created_at: string;
30
34
  updated_at: string;
31
35
  }
@@ -38,6 +42,7 @@ export interface StepRecord {
38
42
  agent_id: string | null;
39
43
  step_index: number;
40
44
  input_template: string;
45
+ timeout_sec: number | null;
41
46
  expects: string | null;
42
47
  status: string;
43
48
  output: string | null;
@@ -47,21 +52,25 @@ export interface StepRecord {
47
52
  duration_ms: number | null;
48
53
  type: string;
49
54
  loop_config: string | null;
55
+ gate_config: string | null;
56
+ next_step_id: string | null;
50
57
  current_story_id: string | null;
51
58
  triggered_by_loop_step_id: string | null;
52
59
  workdir: string | null;
53
60
  notify: string | null;
61
+ output_schema: string | null;
54
62
  created_at: string;
55
63
  updated_at: string;
56
64
  }
57
- export interface StoryRecord {
65
+ export interface LoopItemRecord {
58
66
  id: string;
59
67
  run_id: string;
60
- story_index: number;
61
- story_id: string;
68
+ item_index: number;
69
+ item_id: string;
62
70
  title: string;
63
71
  description: string;
64
72
  acceptance_criteria: string;
73
+ data: string | null;
65
74
  status: string;
66
75
  output: string | null;
67
76
  retry_count: number;
@@ -82,11 +91,12 @@ export declare function createRun(workflowSpec: WorkflowSpec, workflowPath: stri
82
91
  originalRepo: string;
83
92
  worktreePath: string;
84
93
  branch: string;
85
- }, executorOverride?: string): RunRecord;
94
+ }, executorOverride?: string, modelOverride?: string, keepWorktree?: boolean, callbackExec?: string): RunRecord;
86
95
  export declare function getRun(runId: string): RunRecord | null;
87
96
  export declare function listRuns(limit?: number): RunRecord[];
97
+ export declare function clearRunWorktree(runId: string): void;
88
98
  export declare function updateRunStatus(runId: string, status: string): void;
89
- export declare function updateRunContext(runId: string, context: Record<string, string>): void;
99
+ export declare function updateRunContext(runId: string, context: Record<string, unknown>): void;
90
100
  export declare function getStepsForRun(runId: string): StepRecord[];
91
101
  export declare function getStep(stepId: string): StepRecord | null;
92
102
  export declare function getNextPendingStep(runId: string): StepRecord | null;
@@ -102,11 +112,11 @@ export declare function advancePipeline(runId: string): {
102
112
  advanced: boolean;
103
113
  runCompleted: boolean;
104
114
  };
105
- export declare function insertStories(runId: string, stories: any[]): void;
106
- export declare function getStoriesForRun(runId: string): StoryRecord[];
107
- export declare function getNextPendingStory(runId: string): StoryRecord | null;
108
- export declare function updateStoryStatus(storyId: string, status: string, output?: string): void;
109
- export declare function incrementStoryRetry(storyId: string): number;
115
+ export declare function insertLoopItems(runId: string, loop_items: any[]): void;
116
+ export declare function getLoopItemsForRun(runId: string): LoopItemRecord[];
117
+ export declare function getNextPendingLoopItem(runId: string): LoopItemRecord | null;
118
+ export declare function updateLoopItemStatus(loopItemRowId: string, status: string, output?: string): void;
119
+ export declare function incrementLoopItemRetry(loopItemRowId: string): number;
110
120
  export declare function insertEvent(runId: string, type: string, summary: string, stepId?: string, details?: string): void;
111
121
  export declare function getEvents(runId?: string, limit?: number): EventRecord[];
112
122
  export declare function resetToStep(runId: string, targetStepId: string, feedback: string): void;
@@ -66,6 +66,68 @@ export function closeDb() {
66
66
  _db = null;
67
67
  }
68
68
  }
69
+ function tableExists(db, tableName) {
70
+ const row = db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ? LIMIT 1").get(tableName);
71
+ return !!row;
72
+ }
73
+ function columnExists(db, tableName, columnName) {
74
+ if (!tableExists(db, tableName))
75
+ return false;
76
+ const columns = db.prepare(`PRAGMA table_info(${tableName})`).all();
77
+ return columns.some((column) => column.name === columnName);
78
+ }
79
+ function ensureLoopItemsTable(db) {
80
+ const hasStories = tableExists(db, "stories");
81
+ const hasLoopItems = tableExists(db, "loop_items");
82
+ if (hasStories && !hasLoopItems) {
83
+ db.exec("ALTER TABLE stories RENAME TO loop_items");
84
+ }
85
+ if (!tableExists(db, "loop_items")) {
86
+ db.exec(`
87
+ CREATE TABLE IF NOT EXISTS loop_items (
88
+ id TEXT PRIMARY KEY,
89
+ run_id TEXT NOT NULL REFERENCES runs(id),
90
+ item_index INTEGER NOT NULL,
91
+ item_id TEXT NOT NULL,
92
+ title TEXT NOT NULL,
93
+ description TEXT NOT NULL,
94
+ acceptance_criteria TEXT NOT NULL,
95
+ data TEXT,
96
+ status TEXT NOT NULL DEFAULT 'pending',
97
+ output TEXT,
98
+ retry_count INTEGER DEFAULT 0,
99
+ max_retries INTEGER DEFAULT 2,
100
+ created_at TEXT NOT NULL,
101
+ updated_at TEXT NOT NULL
102
+ );
103
+ `);
104
+ }
105
+ if (columnExists(db, "loop_items", "story_index") && !columnExists(db, "loop_items", "item_index")) {
106
+ db.exec("ALTER TABLE loop_items RENAME COLUMN story_index TO item_index");
107
+ }
108
+ if (columnExists(db, "loop_items", "story_id") && !columnExists(db, "loop_items", "item_id")) {
109
+ db.exec("ALTER TABLE loop_items RENAME COLUMN story_id TO item_id");
110
+ }
111
+ if (!columnExists(db, "loop_items", "data")) {
112
+ db.exec("ALTER TABLE loop_items ADD COLUMN data TEXT");
113
+ }
114
+ if (tableExists(db, "stories")) {
115
+ const sourceIndexCol = columnExists(db, "stories", "item_index") ? "item_index" : "story_index";
116
+ const sourceIdCol = columnExists(db, "stories", "item_id") ? "item_id" : "story_id";
117
+ db.exec(`
118
+ INSERT INTO loop_items (
119
+ id, run_id, item_index, item_id, title, description, acceptance_criteria, data,
120
+ status, output, retry_count, max_retries, created_at, updated_at
121
+ )
122
+ SELECT
123
+ id, run_id, ${sourceIndexCol}, ${sourceIdCol}, title, description, acceptance_criteria, NULL,
124
+ status, output, retry_count, max_retries, created_at, updated_at
125
+ FROM stories s
126
+ WHERE NOT EXISTS (SELECT 1 FROM loop_items l WHERE l.id = s.id);
127
+ `);
128
+ db.exec("DROP TABLE stories");
129
+ }
130
+ }
69
131
  // ── Schema ──────────────────────────────────────────────────────────
70
132
  function migrate(db) {
71
133
  db.exec(`
@@ -77,8 +139,11 @@ function migrate(db) {
77
139
  status TEXT NOT NULL DEFAULT 'pending',
78
140
  context TEXT NOT NULL DEFAULT '{}',
79
141
  callback TEXT,
142
+ callback_exec TEXT,
80
143
  worktree TEXT,
144
+ keep_worktree INTEGER NOT NULL DEFAULT 0,
81
145
  executor_override TEXT,
146
+ model_override TEXT,
82
147
  created_at TEXT NOT NULL,
83
148
  updated_at TEXT NOT NULL
84
149
  );
@@ -92,6 +157,7 @@ function migrate(db) {
92
157
  agent_id TEXT,
93
158
  step_index INTEGER NOT NULL,
94
159
  input_template TEXT NOT NULL,
160
+ timeout_sec INTEGER,
95
161
  expects TEXT,
96
162
  status TEXT NOT NULL DEFAULT 'waiting',
97
163
  output TEXT,
@@ -101,25 +167,13 @@ function migrate(db) {
101
167
  duration_ms INTEGER,
102
168
  type TEXT NOT NULL DEFAULT 'single',
103
169
  loop_config TEXT,
170
+ gate_config TEXT,
171
+ next_step_id TEXT,
104
172
  current_story_id TEXT,
105
173
  triggered_by_loop_step_id TEXT,
106
174
  workdir TEXT,
107
- created_at TEXT NOT NULL,
108
- updated_at TEXT NOT NULL
109
- );
110
-
111
- CREATE TABLE IF NOT EXISTS stories (
112
- id TEXT PRIMARY KEY,
113
- run_id TEXT NOT NULL REFERENCES runs(id),
114
- story_index INTEGER NOT NULL,
115
- story_id TEXT NOT NULL,
116
- title TEXT NOT NULL,
117
- description TEXT NOT NULL,
118
- acceptance_criteria TEXT NOT NULL,
119
- status TEXT NOT NULL DEFAULT 'pending',
120
- output TEXT,
121
- retry_count INTEGER DEFAULT 0,
122
- max_retries INTEGER DEFAULT 2,
175
+ notify TEXT,
176
+ output_schema TEXT,
123
177
  created_at TEXT NOT NULL,
124
178
  updated_at TEXT NOT NULL
125
179
  );
@@ -134,6 +188,7 @@ function migrate(db) {
134
188
  created_at TEXT NOT NULL
135
189
  );
136
190
  `);
191
+ ensureLoopItemsTable(db);
137
192
  // Add callback column for existing databases
138
193
  try {
139
194
  db.exec("ALTER TABLE runs ADD COLUMN callback TEXT");
@@ -141,6 +196,13 @@ function migrate(db) {
141
196
  catch {
142
197
  // Column already exists, ignore
143
198
  }
199
+ // Add callback_exec column for shell callback commands
200
+ try {
201
+ db.exec("ALTER TABLE runs ADD COLUMN callback_exec TEXT");
202
+ }
203
+ catch {
204
+ // Column already exists, ignore
205
+ }
144
206
  // Add worktree column for existing databases
145
207
  try {
146
208
  db.exec("ALTER TABLE runs ADD COLUMN worktree TEXT");
@@ -148,6 +210,13 @@ function migrate(db) {
148
210
  catch {
149
211
  // Column already exists, ignore
150
212
  }
213
+ // Add keep_worktree column for worktree cleanup behavior
214
+ try {
215
+ db.exec("ALTER TABLE runs ADD COLUMN keep_worktree INTEGER NOT NULL DEFAULT 0");
216
+ }
217
+ catch {
218
+ // Column already exists, ignore
219
+ }
151
220
  // Add triggered_by_loop_step_id column for existing databases
152
221
  try {
153
222
  db.exec("ALTER TABLE steps ADD COLUMN triggered_by_loop_step_id TEXT");
@@ -162,6 +231,34 @@ function migrate(db) {
162
231
  catch {
163
232
  // Column already exists, ignore
164
233
  }
234
+ // Add gate_config column for gate step branching metadata
235
+ try {
236
+ db.exec("ALTER TABLE steps ADD COLUMN gate_config TEXT");
237
+ }
238
+ catch {
239
+ // Column already exists, ignore
240
+ }
241
+ // Add next_step_id column for explicit step jumps
242
+ try {
243
+ db.exec("ALTER TABLE steps ADD COLUMN next_step_id TEXT");
244
+ }
245
+ catch {
246
+ // Column already exists, ignore
247
+ }
248
+ // Add output_schema column for structured completion schemas
249
+ try {
250
+ db.exec("ALTER TABLE steps ADD COLUMN output_schema TEXT");
251
+ }
252
+ catch {
253
+ // Column already exists, ignore
254
+ }
255
+ // Add timeout_sec column for per-step timeout handling
256
+ try {
257
+ db.exec("ALTER TABLE steps ADD COLUMN timeout_sec INTEGER");
258
+ }
259
+ catch {
260
+ // Column already exists, ignore
261
+ }
165
262
  // Add executor_override column for CLI-provided executor override
166
263
  try {
167
264
  db.exec("ALTER TABLE runs ADD COLUMN executor_override TEXT");
@@ -169,9 +266,22 @@ function migrate(db) {
169
266
  catch {
170
267
  // Column already exists, ignore
171
268
  }
269
+ // Add model_override column for CLI-provided model override
270
+ try {
271
+ db.exec("ALTER TABLE runs ADD COLUMN model_override TEXT");
272
+ }
273
+ catch {
274
+ // Column already exists, ignore
275
+ }
276
+ }
277
+ function hydrateRun(row) {
278
+ return {
279
+ ...row,
280
+ keep_worktree: row.keep_worktree === 1,
281
+ };
172
282
  }
173
283
  // ── Run Operations ──────────────────────────────────────────────────
174
- export function createRun(workflowSpec, workflowPath, task, callback, worktreeMetadata, executorOverride) {
284
+ export function createRun(workflowSpec, workflowPath, task, callback, worktreeMetadata, executorOverride, modelOverride, keepWorktree = false, callbackExec) {
175
285
  const db = getDb();
176
286
  const now = new Date().toISOString();
177
287
  const runId = crypto.randomUUID();
@@ -182,8 +292,8 @@ export function createRun(workflowSpec, workflowPath, task, callback, worktreeMe
182
292
  };
183
293
  db.exec("BEGIN");
184
294
  try {
185
- db.prepare("INSERT INTO runs (id, workflow_id, workflow_path, task, status, context, callback, worktree, executor_override, created_at, updated_at) VALUES (?, ?, ?, ?, 'pending', ?, ?, ?, ?, ?, ?)").run(runId, workflowSpec.id, workflowPath, task, JSON.stringify(initialContext), callback ? JSON.stringify(callback) : null, worktreeMetadata ? JSON.stringify(worktreeMetadata) : null, executorOverride ?? null, now, now);
186
- const insertStep = db.prepare("INSERT INTO steps (id, run_id, step_id, executor, model, agent_id, step_index, input_template, expects, status, max_retries, type, loop_config, workdir, notify, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
295
+ db.prepare("INSERT INTO runs (id, workflow_id, workflow_path, task, status, context, callback, callback_exec, worktree, keep_worktree, executor_override, model_override, created_at, updated_at) VALUES (?, ?, ?, ?, 'pending', ?, ?, ?, ?, ?, ?, ?, ?, ?)").run(runId, workflowSpec.id, workflowPath, task, JSON.stringify(initialContext), callback ? JSON.stringify(callback) : null, callbackExec ?? null, worktreeMetadata ? JSON.stringify(worktreeMetadata) : null, keepWorktree ? 1 : 0, executorOverride ?? null, modelOverride ?? null, now, now);
296
+ const insertStep = db.prepare("INSERT INTO steps (id, run_id, step_id, executor, model, agent_id, step_index, input_template, timeout_sec, expects, status, max_retries, type, loop_config, gate_config, next_step_id, workdir, notify, output_schema, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
187
297
  for (let i = 0; i < workflowSpec.steps.length; i++) {
188
298
  const step = workflowSpec.steps[i];
189
299
  const stepUuid = crypto.randomUUID();
@@ -192,6 +302,8 @@ export function createRun(workflowSpec, workflowPath, task, callback, worktreeMe
192
302
  const maxRetries = step.max_retries ?? step.on_fail?.max_retries ?? 2;
193
303
  const stepType = step.type ?? "single";
194
304
  const loopConfig = step.loop ? JSON.stringify(step.loop) : null;
305
+ const gateConfig = step.gate ? JSON.stringify(step.gate) : null;
306
+ const nextStepId = step.next ?? null;
195
307
  const executor = step.executor ?? "openclaw";
196
308
  // Self executor defaults to on_waiting if notify not specified
197
309
  const notify = step.notify
@@ -199,7 +311,8 @@ export function createRun(workflowSpec, workflowPath, task, callback, worktreeMe
199
311
  : executor === "self"
200
312
  ? JSON.stringify(["on_waiting"])
201
313
  : null;
202
- insertStep.run(stepUuid, runId, step.id, executor, step.model ?? null, agentId, i, step.input ?? "", step.expects ?? null, status, maxRetries, stepType, loopConfig, step.workdir ?? null, notify, now, now);
314
+ const outputSchema = step.output_schema ? JSON.stringify(step.output_schema) : null;
315
+ insertStep.run(stepUuid, runId, step.id, executor, step.model ?? null, agentId, i, step.input ?? "", step.timeout ?? null, step.expects ?? null, status, maxRetries, stepType, loopConfig, gateConfig, nextStepId, step.workdir ?? null, notify, outputSchema, now, now);
203
316
  }
204
317
  db.exec("COMMIT");
205
318
  }
@@ -212,15 +325,35 @@ export function createRun(workflowSpec, workflowPath, task, callback, worktreeMe
212
325
  export function getRun(runId) {
213
326
  const db = getDb();
214
327
  const row = db.prepare("SELECT * FROM runs WHERE id = ? OR id LIKE ?").get(runId, `${runId}%`);
215
- return row ?? null;
328
+ return row ? hydrateRun(row) : null;
216
329
  }
217
330
  export function listRuns(limit = 50) {
218
331
  const db = getDb();
219
- return db.prepare("SELECT * FROM runs ORDER BY created_at DESC LIMIT ?").all(limit);
332
+ const rows = db.prepare("SELECT * FROM runs ORDER BY created_at DESC LIMIT ?").all(limit);
333
+ return rows.map(hydrateRun);
334
+ }
335
+ export function clearRunWorktree(runId) {
336
+ const db = getDb();
337
+ db.prepare("UPDATE runs SET worktree = NULL, updated_at = ? WHERE id = ?").run(new Date().toISOString(), runId);
220
338
  }
221
339
  export function updateRunStatus(runId, status) {
222
340
  const db = getDb();
223
- db.prepare("UPDATE runs SET status = ?, updated_at = ? WHERE id = ?").run(status, new Date().toISOString(), runId);
341
+ const now = new Date().toISOString();
342
+ if (status !== "cancelled") {
343
+ db.prepare("UPDATE runs SET status = ?, updated_at = ? WHERE id = ?").run(status, now, runId);
344
+ return;
345
+ }
346
+ db.exec("BEGIN");
347
+ try {
348
+ db.prepare("UPDATE runs SET status = ?, updated_at = ? WHERE id = ?").run(status, now, runId);
349
+ db.prepare("UPDATE steps SET status = 'cancelled', updated_at = ? WHERE run_id = ? AND status IN ('pending', 'waiting', 'running', 'waiting_approval')").run(now, runId);
350
+ db.prepare("UPDATE loop_items SET status = 'cancelled', updated_at = ? WHERE run_id = ? AND status = 'pending'").run(now, runId);
351
+ db.exec("COMMIT");
352
+ }
353
+ catch (error) {
354
+ db.exec("ROLLBACK");
355
+ throw error;
356
+ }
224
357
  }
225
358
  export function updateRunContext(runId, context) {
226
359
  const db = getDb();
@@ -290,41 +423,46 @@ export function advancePipeline(runId) {
290
423
  }
291
424
  }
292
425
  // ── Story Operations ────────────────────────────────────────────────
293
- export function insertStories(runId, stories) {
426
+ export function insertLoopItems(runId, loop_items) {
294
427
  const db = getDb();
295
428
  const now = new Date().toISOString();
296
- const insert = db.prepare("INSERT INTO stories (id, run_id, story_index, story_id, title, description, acceptance_criteria, status, retry_count, max_retries, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, 'pending', 0, 2, ?, ?)");
297
- for (let i = 0; i < stories.length; i++) {
298
- const s = stories[i];
299
- const ac = s.acceptanceCriteria ?? s.acceptance_criteria;
300
- insert.run(crypto.randomUUID(), runId, i, s.id, s.title, s.description, JSON.stringify(ac), now, now);
429
+ const insert = db.prepare("INSERT INTO loop_items (id, run_id, item_index, item_id, title, description, acceptance_criteria, data, status, retry_count, max_retries, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'pending', 0, 2, ?, ?)");
430
+ for (let i = 0; i < loop_items.length; i++) {
431
+ const item = loop_items[i];
432
+ const asObject = item && typeof item === "object" ? item : {};
433
+ const ac = asObject.acceptanceCriteria ?? asObject.acceptance_criteria;
434
+ const itemId = asObject.id ?? asObject.story_id ?? `ITEM-${i + 1}`;
435
+ const title = asObject.title ?? `Item ${i + 1}`;
436
+ const description = asObject.description ?? asObject.goal ?? (Array.isArray(asObject.scope) ? asObject.scope.join("\n") : "");
437
+ const acceptanceCriteria = Array.isArray(ac) ? ac : [];
438
+ insert.run(crypto.randomUUID(), runId, i, String(itemId), String(title), String(description), JSON.stringify(acceptanceCriteria), JSON.stringify(item), now, now);
301
439
  }
302
440
  }
303
- export function getStoriesForRun(runId) {
441
+ export function getLoopItemsForRun(runId) {
304
442
  const db = getDb();
305
- return db.prepare("SELECT * FROM stories WHERE run_id = ? ORDER BY story_index ASC").all(runId);
443
+ return db.prepare("SELECT * FROM loop_items WHERE run_id = ? ORDER BY item_index ASC").all(runId);
306
444
  }
307
- export function getNextPendingStory(runId) {
445
+ export function getNextPendingLoopItem(runId) {
308
446
  const db = getDb();
309
- return db.prepare("SELECT * FROM stories WHERE run_id = ? AND status = 'pending' ORDER BY story_index ASC LIMIT 1").get(runId) ?? null;
447
+ return db.prepare("SELECT * FROM loop_items WHERE run_id = ? AND status = 'pending' ORDER BY item_index ASC LIMIT 1").get(runId) ?? null;
310
448
  }
311
- export function updateStoryStatus(storyId, status, output) {
449
+ export function updateLoopItemStatus(loopItemRowId, status, output) {
312
450
  const db = getDb();
313
451
  const now = new Date().toISOString();
314
452
  if (output !== undefined) {
315
- db.prepare("UPDATE stories SET status = ?, output = ?, updated_at = ? WHERE id = ?").run(status, output, now, storyId);
453
+ db.prepare("UPDATE loop_items SET status = ?, output = ?, updated_at = ? WHERE id = ?").run(status, output, now, loopItemRowId);
316
454
  }
317
455
  else {
318
- db.prepare("UPDATE stories SET status = ?, updated_at = ? WHERE id = ?").run(status, now, storyId);
456
+ db.prepare("UPDATE loop_items SET status = ?, updated_at = ? WHERE id = ?").run(status, now, loopItemRowId);
319
457
  }
320
458
  }
321
- export function incrementStoryRetry(storyId) {
459
+ export function incrementLoopItemRetry(loopItemRowId) {
322
460
  const db = getDb();
323
- const story = db.prepare("SELECT retry_count FROM stories WHERE id = ?").get(storyId);
324
- if (!story)
325
- throw new Error(`Story not found: ${storyId}`);
326
- const newCount = story.retry_count + 1;
327
- db.prepare("UPDATE stories SET retry_count = ?, updated_at = ? WHERE id = ?").run(newCount, new Date().toISOString(), storyId);
461
+ const loopItem = db.prepare("SELECT retry_count FROM loop_items WHERE id = ?").get(loopItemRowId);
462
+ if (!loopItem)
463
+ throw new Error(`Loop item not found: ${loopItemRowId}`);
464
+ const newCount = loopItem.retry_count + 1;
465
+ db.prepare("UPDATE loop_items SET retry_count = ?, updated_at = ? WHERE id = ?").run(newCount, new Date().toISOString(), loopItemRowId);
328
466
  return newCount;
329
467
  }
330
468
  // ── Event Operations ────────────────────────────────────────────────
@@ -361,8 +499,8 @@ export function resetToStep(runId, targetStepId, feedback) {
361
499
  db.prepare("UPDATE steps SET status = 'pending', error = NULL, output = NULL, retry_count = 0, current_story_id = NULL, updated_at = ? WHERE run_id = ? AND step_index = ?").run(now, runId, targetIndex);
362
500
  // Set all steps after target to 'waiting'
363
501
  db.prepare("UPDATE steps SET status = 'waiting', error = NULL, output = NULL, retry_count = 0, current_story_id = NULL, updated_at = ? WHERE run_id = ? AND step_index > ?").run(now, runId, targetIndex);
364
- // Delete all stories for the run
365
- db.prepare("DELETE FROM stories WHERE run_id = ?").run(runId);
502
+ // Delete all loop_items for the run
503
+ db.prepare("DELETE FROM loop_items WHERE run_id = ?").run(runId);
366
504
  // Update context with rejection_feedback
367
505
  const run = getRun(runId);
368
506
  if (run) {