ridgeline 0.3.14 → 0.4.4

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 (50) hide show
  1. package/README.md +75 -32
  2. package/dist/agents/core/planner.md +26 -22
  3. package/dist/agents/core/shaper.md +137 -0
  4. package/dist/agents/core/specifier.md +22 -54
  5. package/dist/agents/planners/context.md +37 -0
  6. package/dist/agents/specifiers/clarity.md +7 -0
  7. package/dist/agents/specifiers/completeness.md +7 -0
  8. package/dist/agents/specifiers/pragmatism.md +7 -0
  9. package/dist/cli.js +87 -17
  10. package/dist/cli.js.map +1 -1
  11. package/dist/commands/build.js +45 -34
  12. package/dist/commands/build.js.map +1 -1
  13. package/dist/commands/create.d.ts +15 -0
  14. package/dist/commands/create.js +90 -0
  15. package/dist/commands/create.js.map +1 -0
  16. package/dist/commands/plan.js +3 -0
  17. package/dist/commands/plan.js.map +1 -1
  18. package/dist/commands/rewind.d.ts +1 -0
  19. package/dist/commands/rewind.js +83 -0
  20. package/dist/commands/rewind.js.map +1 -0
  21. package/dist/commands/shape.d.ts +6 -0
  22. package/dist/commands/shape.js +347 -0
  23. package/dist/commands/shape.js.map +1 -0
  24. package/dist/commands/spec.d.ts +1 -1
  25. package/dist/commands/spec.js +33 -194
  26. package/dist/commands/spec.js.map +1 -1
  27. package/dist/config.d.ts +4 -0
  28. package/dist/config.js +10 -2
  29. package/dist/config.js.map +1 -1
  30. package/dist/engine/claude/stream.decode.js +31 -23
  31. package/dist/engine/claude/stream.decode.js.map +1 -1
  32. package/dist/engine/pipeline/ensemble.exec.d.ts +35 -2
  33. package/dist/engine/pipeline/ensemble.exec.js +164 -157
  34. package/dist/engine/pipeline/ensemble.exec.js.map +1 -1
  35. package/dist/engine/pipeline/phase.sequence.js +23 -18
  36. package/dist/engine/pipeline/phase.sequence.js.map +1 -1
  37. package/dist/engine/pipeline/pipeline.shared.d.ts +5 -0
  38. package/dist/engine/pipeline/pipeline.shared.js +10 -1
  39. package/dist/engine/pipeline/pipeline.shared.js.map +1 -1
  40. package/dist/engine/pipeline/specify.exec.d.ts +8 -0
  41. package/dist/engine/pipeline/specify.exec.js +214 -0
  42. package/dist/engine/pipeline/specify.exec.js.map +1 -0
  43. package/dist/store/state.d.ts +14 -1
  44. package/dist/store/state.js +160 -1
  45. package/dist/store/state.js.map +1 -1
  46. package/dist/types.d.ts +44 -1
  47. package/dist/ui/spinner.js +1 -1
  48. package/dist/ui/spinner.js.map +1 -1
  49. package/package.json +1 -1
  50. package/dist/agents/planners/synthesizer.md +0 -90
package/dist/cli.js CHANGED
@@ -4,26 +4,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const commander_1 = require("commander");
5
5
  const config_1 = require("./config");
6
6
  const prompt_1 = require("./ui/prompt");
7
+ const shape_1 = require("./commands/shape");
7
8
  const spec_1 = require("./commands/spec");
8
9
  const plan_1 = require("./commands/plan");
9
10
  const dry_run_1 = require("./commands/dry-run");
10
11
  const build_1 = require("./commands/build");
12
+ const create_1 = require("./commands/create");
13
+ const rewind_1 = require("./commands/rewind");
11
14
  const claude_exec_1 = require("./engine/claude/claude.exec");
12
15
  // Kill all Claude subprocesses on Ctrl+C before exiting
13
16
  process.on("SIGINT", () => {
14
17
  (0, claude_exec_1.killAllClaude)();
15
18
  setTimeout(() => process.exit(130), 2500);
16
19
  });
17
- const withConfig = (fn) => async (buildName, opts) => {
20
+ const requireBuildName = async (buildName) => {
18
21
  if (!buildName)
19
22
  buildName = await (0, prompt_1.askBuildName)();
23
+ if (!buildName) {
24
+ console.error("Build name is required");
25
+ process.exit(1);
26
+ }
27
+ return buildName;
28
+ };
29
+ const handleCommandError = (err) => {
30
+ console.error(err instanceof Error ? err.message : String(err));
31
+ process.exit(1);
32
+ };
33
+ const withConfig = (fn) => async (buildName, opts) => {
20
34
  try {
21
- const config = (0, config_1.resolveConfig)(buildName, opts);
35
+ const config = (0, config_1.resolveConfig)(await requireBuildName(buildName), opts);
22
36
  await fn(config);
23
37
  }
24
38
  catch (err) {
25
- console.error(err instanceof Error ? err.message : String(err));
26
- process.exit(1);
39
+ handleCommandError(err);
27
40
  }
28
41
  };
29
42
  const program = new commander_1.Command();
@@ -31,28 +44,74 @@ program
31
44
  .name("ridgeline")
32
45
  .description("Build harness for long-horizon software execution")
33
46
  .version((0, config_1.loadVersion)());
47
+ // Default command: `ridgeline <build-name> [input]`
48
+ // Dispatches to the next incomplete pipeline stage
34
49
  program
35
- .command("spec [build-name] [input]")
36
- .description("Scaffold build input files from a description or existing spec")
37
- .option("--model <name>", "Model for spec assistant", "opus")
50
+ .argument("[build-name]", "Build name")
51
+ .argument("[input]", "Description text or path to input file")
52
+ .option("--model <name>", "Model for all stages", "opus")
38
53
  .option("--timeout <minutes>", "Max duration per turn in minutes", "10")
54
+ .option("--max-budget-usd <n>", "Halt if cumulative cost exceeds this amount")
55
+ .option("--max-retries <n>", "Max reviewer retry loops per phase", "2")
56
+ .option("--check <command>", "Baseline check command (overrides constraints.md)")
57
+ .option("--check-timeout <seconds>", "Max duration for check command in seconds", "1200")
58
+ .option("--constraints <path>", "Path to constraints.md")
59
+ .option("--taste <path>", "Path to taste.md")
60
+ .option("--context <text>", "Extra context appended to builder and planner prompts")
61
+ .option("--unsafe", "Disable sandbox auto-detection")
39
62
  .action(async (buildName, input, opts) => {
40
- if (!buildName)
41
- buildName = await (0, prompt_1.askBuildName)();
42
- if (!buildName) {
43
- console.error("Build name is required");
44
- process.exit(1);
63
+ try {
64
+ await (0, create_1.runCreate)(await requireBuildName(buildName), {
65
+ model: opts.model ?? "opus",
66
+ timeout: String(opts.timeout ?? "10"),
67
+ maxBudgetUsd: opts.maxBudgetUsd,
68
+ maxRetries: opts.maxRetries,
69
+ check: opts.check,
70
+ checkTimeout: opts.checkTimeout,
71
+ constraints: opts.constraints,
72
+ taste: opts.taste,
73
+ context: opts.context,
74
+ unsafe: opts.unsafe === true,
75
+ input,
76
+ });
45
77
  }
78
+ catch (err) {
79
+ handleCommandError(err);
80
+ }
81
+ });
82
+ program
83
+ .command("shape [build-name] [input]")
84
+ .description("Gather project context and produce shape.md")
85
+ .option("--model <name>", "Model for shaper agent", "opus")
86
+ .option("--timeout <minutes>", "Max duration per turn in minutes", "10")
87
+ .action(async (buildName, input, opts) => {
46
88
  try {
47
- await (0, spec_1.runSpec)(buildName, {
89
+ await (0, shape_1.runShape)(await requireBuildName(buildName), {
48
90
  model: opts.model ?? "opus",
49
91
  timeout: parseInt(String(opts.timeout ?? "10"), 10),
50
92
  input,
51
93
  });
52
94
  }
53
95
  catch (err) {
54
- console.error(err instanceof Error ? err.message : String(err));
55
- process.exit(1);
96
+ handleCommandError(err);
97
+ }
98
+ });
99
+ program
100
+ .command("spec [build-name]")
101
+ .description("Generate spec.md, constraints.md, and taste.md from shape.md via ensemble")
102
+ .option("--model <name>", "Model for specialists and synthesizer", "opus")
103
+ .option("--timeout <minutes>", "Max duration per turn in minutes", "10")
104
+ .option("--max-budget-usd <n>", "Halt if cumulative cost exceeds this amount")
105
+ .action(async (buildName, opts) => {
106
+ try {
107
+ await (0, spec_1.runSpec)(await requireBuildName(buildName), {
108
+ model: opts.model ?? "opus",
109
+ timeout: parseInt(String(opts.timeout ?? "10"), 10),
110
+ maxBudgetUsd: opts.maxBudgetUsd ? parseFloat(String(opts.maxBudgetUsd)) : undefined,
111
+ });
112
+ }
113
+ catch (err) {
114
+ handleCommandError(err);
56
115
  }
57
116
  });
58
117
  program
@@ -85,6 +144,18 @@ program
85
144
  .option("--context <text>", "Extra context appended to builder and planner prompts")
86
145
  .option("--unsafe", "Disable sandbox auto-detection")
87
146
  .action(withConfig(build_1.runBuild));
147
+ program
148
+ .command("rewind <build-name>")
149
+ .description("Reset pipeline state to a given stage and clean up downstream artifacts")
150
+ .requiredOption("--to <stage>", "Stage to rewind to (shape, spec, plan)")
151
+ .action((buildName, opts) => {
152
+ try {
153
+ (0, rewind_1.runRewind)(buildName, opts.to);
154
+ }
155
+ catch (err) {
156
+ handleCommandError(err);
157
+ }
158
+ });
88
159
  program
89
160
  .command("clean")
90
161
  .description("Remove all build worktrees and WIP branches")
@@ -94,8 +165,7 @@ program
94
165
  runClean(process.cwd());
95
166
  }
96
167
  catch (err) {
97
- console.error(err instanceof Error ? err.message : String(err));
98
- process.exit(1);
168
+ handleCommandError(err);
99
169
  }
100
170
  });
101
171
  program.parse();
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ const formatDuration = (ms) => {
53
53
  return `${seconds}s`;
54
54
  const minutes = Math.floor(seconds / 60);
55
55
  const remaining = seconds % 60;
56
- return remaining > 0 ? `${minutes}m ${remaining}s` : `${minutes}m`;
56
+ return remaining > 0 ? `${minutes}m ${remaining.toString().padStart(2, "0")}s` : `${minutes}m`;
57
57
  };
58
58
  const readSpecDescription = (buildDir) => {
59
59
  const specPath = path.join(buildDir, "..", "spec.md");
@@ -115,7 +115,7 @@ const printSummaryTable = (config, completed, failed, totalPhases) => {
115
115
  console.log(` Phases: ${completed} passed, ${failed} failed, ${totalPhases} total`);
116
116
  console.log(sep);
117
117
  // Breakdown table
118
- const formatRow = (name, attempts, build, review, cost) => ` ${name.padEnd(24)} ${attempts.padStart(4)} ${build.padStart(8)} ${review.padStart(8)} ${cost.padStart(8)}`;
118
+ const formatRow = (name, attempts, build, review, cost) => ` ${name.padEnd(24)} ${attempts.padStart(8)} ${build.padStart(8)} ${review.padStart(8)} ${cost.padStart(8)}`;
119
119
  console.log("");
120
120
  console.log(formatRow("", "Attempts", "Build", "Review", "Cost"));
121
121
  console.log(div);
@@ -175,6 +175,41 @@ const setupWorktree = (repoRoot, config) => {
175
175
  (0, output_1.printInfo)(`Worktree: ${config.worktreePath}`);
176
176
  }
177
177
  };
178
+ /** Merge a completed phase's worktree commits into main. Returns true on success. */
179
+ const mergePhaseIntoMain = (repoRoot, config, state, phaseId) => {
180
+ if (config.worktreePath && (0, git_1.isWorkingTreeDirty)(config.worktreePath)) {
181
+ (0, git_1.commitAll)(`ridgeline: ${phaseId}`, config.worktreePath);
182
+ }
183
+ (0, output_1.printInfo)("Merging phase into main...");
184
+ try {
185
+ (0, worktree_1.reflectCommits)(repoRoot, config.buildName);
186
+ (0, state_1.updatePhaseStatus)(config.buildDir, state, phaseId, { isMerged: true });
187
+ return true;
188
+ }
189
+ catch (err) {
190
+ (0, output_1.printError)(`Merge failed: ${err instanceof Error ? err.message : err}`);
191
+ return false;
192
+ }
193
+ };
194
+ /** Retry merges for complete-but-unmerged phases (from a previous interrupted run). Returns failure count. */
195
+ const retryUnmergedPhases = (repoRoot, config, state) => {
196
+ let failures = 0;
197
+ let unmerged = (0, state_1.getNextUnmergedPhase)(state);
198
+ while (unmerged) {
199
+ (0, output_1.printInfo)(`Merging previously completed phase: ${unmerged.id}`);
200
+ try {
201
+ (0, worktree_1.reflectCommits)(repoRoot, config.buildName);
202
+ (0, state_1.updatePhaseStatus)(config.buildDir, state, unmerged.id, { isMerged: true });
203
+ }
204
+ catch (err) {
205
+ (0, output_1.printError)(`Merge failed: ${err instanceof Error ? err.message : err}`);
206
+ failures++;
207
+ break;
208
+ }
209
+ unmerged = (0, state_1.getNextUnmergedPhase)(state);
210
+ }
211
+ return failures;
212
+ };
178
213
  const runBuild = async (config) => {
179
214
  const phases = await (0, exports.ensurePhases)(config);
180
215
  // Load or init state
@@ -190,13 +225,13 @@ const runBuild = async (config) => {
190
225
  (0, output_1.printInfo)(`Resuming build '${config.buildName}' from phase ${completedCount + 1}/${state.phases.length}`);
191
226
  }
192
227
  configureSandbox(config);
228
+ (0, state_1.markBuildRunning)(config.buildDir, config.buildName);
193
229
  (0, output_1.printInfo)(`Starting build: ${config.buildName} (${phases.length} phases)\n`);
194
230
  const repoRoot = process.cwd();
195
231
  setupWorktree(repoRoot, config);
196
232
  let completed = 0;
197
233
  let failed = 0;
198
234
  try {
199
- // Run phases
200
235
  let nextPhaseState = (0, state_1.getNextIncompletePhase)(state);
201
236
  while (nextPhaseState) {
202
237
  const phase = phases.find((p) => p.id === nextPhaseState.id);
@@ -208,23 +243,12 @@ const runBuild = async (config) => {
208
243
  const phaseIndex = phases.findIndex((p) => p.id === nextPhaseState.id) + 1;
209
244
  (0, output_1.printPhaseHeader)(phaseIndex, phases.length, phase.id);
210
245
  const result = await (0, phase_sequence_1.runPhase)(phase, config, state);
211
- if (result === "passed") {
212
- completed++;
213
- if (config.worktreePath && (0, git_1.isWorkingTreeDirty)(config.worktreePath)) {
214
- (0, git_1.commitAll)(`ridgeline: ${phase.id}`, config.worktreePath);
215
- }
216
- (0, output_1.printInfo)("Merging phase into main...");
217
- try {
218
- (0, worktree_1.reflectCommits)(repoRoot, config.buildName);
219
- (0, state_1.updatePhaseStatus)(config.buildDir, state, phase.id, { isMerged: true });
220
- }
221
- catch (err) {
222
- (0, output_1.printError)(`Merge failed: ${err instanceof Error ? err.message : err}`);
223
- failed++;
224
- break;
225
- }
246
+ if (result !== "passed") {
247
+ failed++;
248
+ break;
226
249
  }
227
- else {
250
+ completed++;
251
+ if (!mergePhaseIntoMain(repoRoot, config, state, phase.id)) {
228
252
  failed++;
229
253
  break;
230
254
  }
@@ -237,21 +261,7 @@ const runBuild = async (config) => {
237
261
  }
238
262
  nextPhaseState = (0, state_1.getNextIncompletePhase)(state);
239
263
  }
240
- // Retry merges for complete-but-unmerged phases (from a previous interrupted run)
241
- let unmerged = (0, state_1.getNextUnmergedPhase)(state);
242
- while (unmerged) {
243
- (0, output_1.printInfo)(`Merging previously completed phase: ${unmerged.id}`);
244
- try {
245
- (0, worktree_1.reflectCommits)(repoRoot, config.buildName);
246
- (0, state_1.updatePhaseStatus)(config.buildDir, state, unmerged.id, { isMerged: true });
247
- }
248
- catch (err) {
249
- (0, output_1.printError)(`Merge failed: ${err instanceof Error ? err.message : err}`);
250
- failed++;
251
- break;
252
- }
253
- unmerged = (0, state_1.getNextUnmergedPhase)(state);
254
- }
264
+ failed += retryUnmergedPhases(repoRoot, config, state);
255
265
  }
256
266
  catch (err) {
257
267
  (0, output_1.printError)(`Unexpected error: ${err instanceof Error ? err.message : err}`);
@@ -266,6 +276,7 @@ const runBuild = async (config) => {
266
276
  }
267
277
  const isFullyDone = state.phases.every((p) => p.status === "complete" && p.isMerged);
268
278
  if (isFullyDone) {
279
+ (0, state_1.advancePipeline)(config.buildDir, config.buildName, "build");
269
280
  console.log("");
270
281
  console.log(" All phases complete!");
271
282
  console.log(" Cleaning up...");
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ type CreateOptions = {
2
+ model: string;
3
+ timeout: string;
4
+ maxBudgetUsd?: string;
5
+ constraints?: string;
6
+ taste?: string;
7
+ maxRetries?: string;
8
+ check?: string;
9
+ checkTimeout?: string;
10
+ context?: string;
11
+ unsafe?: boolean;
12
+ input?: string;
13
+ };
14
+ export declare const runCreate: (buildName: string, opts: CreateOptions) => Promise<void>;
15
+ export {};
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runCreate = void 0;
4
+ const output_1 = require("../ui/output");
5
+ const state_1 = require("../store/state");
6
+ const shape_1 = require("./shape");
7
+ const spec_1 = require("./spec");
8
+ const config_1 = require("../config");
9
+ const plan_1 = require("./plan");
10
+ const build_1 = require("./build");
11
+ const STAGE_LABELS = {
12
+ shape: "shape.md",
13
+ spec: "spec.md",
14
+ plan: "phases/",
15
+ build: "build",
16
+ };
17
+ const STATUS_ICONS = {
18
+ complete: "done",
19
+ running: "running",
20
+ pending: "---",
21
+ };
22
+ const runCreate = async (buildName, opts) => {
23
+ const buildDir = (0, config_1.resolveBuildDir)(buildName, { ensure: true });
24
+ const status = (0, state_1.getPipelineStatus)(buildDir);
25
+ const nextStage = (0, state_1.getNextPipelineStage)(buildDir);
26
+ // Display status table
27
+ console.log("");
28
+ (0, output_1.printInfo)(`Build: ${buildName}`);
29
+ console.log("");
30
+ for (const stage of ["shape", "spec", "plan", "build"]) {
31
+ const icon = STATUS_ICONS[status[stage]] ?? "---";
32
+ const label = STAGE_LABELS[stage];
33
+ console.log(` ${label.padEnd(16)} ${icon}`);
34
+ }
35
+ console.log("");
36
+ if (!nextStage) {
37
+ (0, output_1.printInfo)("All stages complete.");
38
+ return;
39
+ }
40
+ (0, output_1.printInfo)(`Starting: ridgeline ${nextStage} ${buildName}`);
41
+ console.log("");
42
+ switch (nextStage) {
43
+ case "shape": {
44
+ const shapeOpts = {
45
+ model: opts.model,
46
+ timeout: parseInt(opts.timeout, 10),
47
+ input: opts.input,
48
+ };
49
+ await (0, shape_1.runShape)(buildName, shapeOpts);
50
+ break;
51
+ }
52
+ case "spec": {
53
+ const specOpts = {
54
+ model: opts.model,
55
+ timeout: parseInt(opts.timeout, 10),
56
+ maxBudgetUsd: opts.maxBudgetUsd ? parseFloat(opts.maxBudgetUsd) : undefined,
57
+ };
58
+ await (0, spec_1.runSpec)(buildName, specOpts);
59
+ break;
60
+ }
61
+ case "plan": {
62
+ const config = (0, config_1.resolveConfig)(buildName, {
63
+ model: opts.model,
64
+ timeout: opts.timeout,
65
+ constraints: opts.constraints,
66
+ taste: opts.taste,
67
+ });
68
+ await (0, plan_1.runPlan)(config);
69
+ break;
70
+ }
71
+ case "build": {
72
+ const config = (0, config_1.resolveConfig)(buildName, {
73
+ model: opts.model,
74
+ timeout: opts.timeout,
75
+ maxRetries: opts.maxRetries,
76
+ check: opts.check,
77
+ checkTimeout: opts.checkTimeout,
78
+ constraints: opts.constraints,
79
+ taste: opts.taste,
80
+ context: opts.context,
81
+ unsafe: opts.unsafe,
82
+ maxBudgetUsd: opts.maxBudgetUsd,
83
+ });
84
+ await (0, build_1.runBuild)(config);
85
+ break;
86
+ }
87
+ }
88
+ };
89
+ exports.runCreate = runCreate;
90
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":";;;AAAA,yCAAwC;AACxC,0CAAwE;AAExE,mCAAgD;AAChD,iCAA6C;AAC7C,sCAA0D;AAC1D,iCAAgC;AAChC,mCAAkC;AAgBlC,MAAM,YAAY,GAAkC;IAClD,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,OAAO;CACf,CAAA;AAED,MAAM,YAAY,GAA2B;IAC3C,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,KAAK;CACf,CAAA;AAEM,MAAM,SAAS,GAAG,KAAK,EAAE,SAAiB,EAAE,IAAmB,EAAiB,EAAE;IACvF,MAAM,QAAQ,GAAG,IAAA,wBAAe,EAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAE7D,MAAM,MAAM,GAAG,IAAA,yBAAiB,EAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,SAAS,GAAG,IAAA,4BAAoB,EAAC,QAAQ,CAAC,CAAA;IAEhD,uBAAuB;IACvB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,IAAA,kBAAS,EAAC,UAAU,SAAS,EAAE,CAAC,CAAA;IAChC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAoB,EAAE,CAAC;QAC1E,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAA;QACjD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC9C,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAA,kBAAS,EAAC,sBAAsB,CAAC,CAAA;QACjC,OAAM;IACR,CAAC;IAED,IAAA,kBAAS,EAAC,uBAAuB,SAAS,IAAI,SAAS,EAAE,CAAC,CAAA;IAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,SAAS,GAAiB;gBAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAA;YACD,MAAM,IAAA,gBAAQ,EAAC,SAAS,EAAE,SAAS,CAAC,CAAA;YACpC,MAAK;QACP,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,QAAQ,GAAgB;gBAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;aAC5E,CAAA;YACD,MAAM,IAAA,cAAO,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YAClC,MAAK;QACP,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,SAAS,EAAE;gBACtC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAA;YACF,MAAM,IAAA,cAAO,EAAC,MAAM,CAAC,CAAA;YACrB,MAAK;QACP,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,SAAS,EAAE;gBACtC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAA;YACF,MAAM,IAAA,gBAAQ,EAAC,MAAM,CAAC,CAAA;YACtB,MAAK;QACP,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAvEY,QAAA,SAAS,aAuErB"}
@@ -40,6 +40,7 @@ const output_1 = require("../ui/output");
40
40
  const trajectory_1 = require("../store/trajectory");
41
41
  const budget_1 = require("../store/budget");
42
42
  const ensemble_exec_1 = require("../engine/pipeline/ensemble.exec");
43
+ const state_1 = require("../store/state");
43
44
  const runPlan = async (config) => {
44
45
  const specPath = path.join(config.buildDir, "spec.md");
45
46
  if (!fs.existsSync(specPath)) {
@@ -67,6 +68,8 @@ const runPlan = async (config) => {
67
68
  },
68
69
  costUsd: ensemble.totalCostUsd,
69
70
  }));
71
+ // Advance pipeline state
72
+ (0, state_1.advancePipeline)(config.buildDir, config.buildName, "plan");
70
73
  // Print summary
71
74
  (0, output_1.printInfo)(`\nPlan complete: ${phases.length} phases generated\n`);
72
75
  for (const phase of phases) {
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AAEjC,yCAAwC;AACxC,oDAAwE;AACxE,4CAA4C;AAC5C,oEAAgE;AAChE,0CAAgD;AAEzC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAuB,EAAiB,EAAE;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,yBAAyB,MAAM,CAAC,SAAS,UAAU,CAAC,CAAA;IACtG,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,eAAe,EAAE,CAAC,CAAA;IAC1E,CAAC;IAED,0BAA0B;IAC1B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEnD,cAAc;IACd,IAAA,kBAAS,EAAC,oBAAoB,CAAC,CAAA;IAC/B,IAAA,0BAAa,EAAC,MAAM,CAAC,QAAQ,EAAE,IAAA,gCAAmB,EAAC,YAAY,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAE3F,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,6BAAa,EAAC,MAAM,CAAC,CAAA;IAExD,mCAAmC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3D,IAAA,mBAAU,EAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;IACrF,CAAC;IACD,IAAA,mBAAU,EAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IAEjF,IAAA,0BAAa,EAAC,MAAM,CAAC,QAAQ,EAAE,IAAA,gCAAmB,EAChD,eAAe,EAAE,IAAI,EAAE,aAAa,MAAM,CAAC,MAAM,SAAS,EAC1D;QACE,QAAQ,EAAE,QAAQ,CAAC,eAAe;QAClC,MAAM,EAAE;YACN,KAAK,EAAE,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW;YACjI,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY;SACrI;QACD,OAAO,EAAE,QAAQ,CAAC,YAAY;KAC/B,CACF,CAAC,CAAA;IAEF,yBAAyB;IACzB,IAAA,uBAAe,EAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAE1D,gBAAgB;IAChB,IAAA,kBAAS,EAAC,oBAAoB,MAAM,CAAC,MAAM,qBAAqB,CAAC,CAAA;IACjE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACxD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAA;QACnD,IAAA,kBAAS,EAAC,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,CAAA;IACtC,CAAC;IACD,IAAA,kBAAS,EAAC,YAAY,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,iBAAiB,CAAC,MAAM,6BAA6B,CAAC,CAAA;IAC1H,IAAA,kBAAS,EAAC,6BAA6B,MAAM,CAAC,SAAS,EAAE,CAAC,CAAA;AAC5D,CAAC,CAAA;AAjDY,QAAA,OAAO,WAiDnB"}
@@ -0,0 +1 @@
1
+ export declare const runRewind: (buildName: string, to: string) => void;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.runRewind = void 0;
37
+ const fs = __importStar(require("node:fs"));
38
+ const path = __importStar(require("node:path"));
39
+ const output_1 = require("../ui/output");
40
+ const state_1 = require("../store/state");
41
+ const VALID_STAGES = ["shape", "spec", "plan"];
42
+ const runRewind = (buildName, to) => {
43
+ if (!VALID_STAGES.includes(to)) {
44
+ (0, output_1.printError)(`Invalid stage: ${to}. Must be one of: ${VALID_STAGES.join(", ")}`);
45
+ return;
46
+ }
47
+ const targetStage = to;
48
+ const ridgelineDir = path.join(process.cwd(), ".ridgeline");
49
+ const buildDir = path.join(ridgelineDir, "builds", buildName);
50
+ if (!fs.existsSync(buildDir)) {
51
+ (0, output_1.printError)(`Build directory not found: ${buildDir}`);
52
+ return;
53
+ }
54
+ (0, output_1.printInfo)(`Rewinding build "${buildName}" to: ${targetStage}`);
55
+ const filesToDelete = (0, state_1.rewindTo)(buildDir, buildName, targetStage);
56
+ // Delete downstream files
57
+ for (const fp of filesToDelete) {
58
+ try {
59
+ fs.unlinkSync(fp);
60
+ }
61
+ catch {
62
+ // File may already be gone
63
+ }
64
+ }
65
+ // Also clean up worktree directory if it exists
66
+ const worktreeDir = path.join(ridgelineDir, "worktrees", buildName);
67
+ if (fs.existsSync(worktreeDir)) {
68
+ (0, output_1.printInfo)(`Worktree at ${worktreeDir} may need manual cleanup (use 'ridgeline clean')`);
69
+ }
70
+ const statusAfter = (0, state_1.getPipelineStatus)(buildDir);
71
+ if (filesToDelete.length > 0) {
72
+ (0, output_1.printInfo)(`Removed ${filesToDelete.length} file(s)`);
73
+ }
74
+ console.log("");
75
+ for (const stage of ["shape", "spec", "plan", "build"]) {
76
+ const icon = statusAfter[stage] === "complete" ? "done" : "---";
77
+ console.log(` ${stage.padEnd(16)} ${icon}`);
78
+ }
79
+ console.log("");
80
+ (0, output_1.printInfo)(`Next: ridgeline ${buildName}`);
81
+ };
82
+ exports.runRewind = runRewind;
83
+ //# sourceMappingURL=rewind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rewind.js","sourceRoot":"","sources":["../../src/commands/rewind.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA6B;AAC7B,gDAAiC;AACjC,yCAAoD;AACpD,0CAA4D;AAG5D,MAAM,YAAY,GAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAExD,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,EAAU,EAAQ,EAAE;IAC/D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAmB,CAAC,EAAE,CAAC;QAChD,IAAA,mBAAU,EAAC,kBAAkB,EAAE,qBAAqB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9E,OAAM;IACR,CAAC;IAED,MAAM,WAAW,GAAG,EAAmB,CAAA;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAA;IAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IAE7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,IAAA,mBAAU,EAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAA;QACpD,OAAM;IACR,CAAC;IAED,IAAA,kBAAS,EAAC,oBAAoB,SAAS,SAAS,WAAW,EAAE,CAAC,CAAA;IAE9D,MAAM,aAAa,GAAG,IAAA,gBAAQ,EAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;IAEhE,0BAA0B;IAC1B,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IACnE,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,IAAA,kBAAS,EAAC,eAAe,WAAW,kDAAkD,CAAC,CAAA;IACzF,CAAC;IAED,MAAM,WAAW,GAAG,IAAA,yBAAiB,EAAC,QAAQ,CAAC,CAAA;IAE/C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,IAAA,kBAAS,EAAC,WAAW,aAAa,CAAC,MAAM,UAAU,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAoB,EAAE,CAAC;QAC1E,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAA;QAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,IAAA,kBAAS,EAAC,mBAAmB,SAAS,EAAE,CAAC,CAAA;AAC3C,CAAC,CAAA;AAhDY,QAAA,SAAS,aAgDrB"}
@@ -0,0 +1,6 @@
1
+ export type ShapeOptions = {
2
+ model: string;
3
+ timeout: number;
4
+ input?: string;
5
+ };
6
+ export declare const runShape: (buildName: string, opts: ShapeOptions) => Promise<void>;