@claude-flow/cli 3.20.0 → 3.21.1

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 (81) hide show
  1. package/.claude/helpers/auto-memory-hook.mjs +35 -3
  2. package/dist/src/agenticow/speculative-exploration.d.ts +148 -0
  3. package/dist/src/agenticow/speculative-exploration.d.ts.map +1 -0
  4. package/dist/src/agenticow/speculative-exploration.js +218 -0
  5. package/dist/src/agenticow/speculative-exploration.js.map +1 -0
  6. package/dist/src/commands/autopilot.d.ts.map +1 -1
  7. package/dist/src/commands/autopilot.js +45 -0
  8. package/dist/src/commands/autopilot.js.map +1 -1
  9. package/dist/src/commands/doctor.d.ts.map +1 -1
  10. package/dist/src/commands/doctor.js +56 -0
  11. package/dist/src/commands/doctor.js.map +1 -1
  12. package/dist/src/commands/neural.d.ts.map +1 -1
  13. package/dist/src/commands/neural.js +309 -1
  14. package/dist/src/commands/neural.js.map +1 -1
  15. package/dist/src/init/executor.d.ts.map +1 -1
  16. package/dist/src/init/executor.js +17 -0
  17. package/dist/src/init/executor.js.map +1 -1
  18. package/dist/src/init/helpers-generator.d.ts.map +1 -1
  19. package/dist/src/init/helpers-generator.js +26 -2
  20. package/dist/src/init/helpers-generator.js.map +1 -1
  21. package/dist/src/init/memory-package-resolver.d.ts +53 -0
  22. package/dist/src/init/memory-package-resolver.d.ts.map +1 -0
  23. package/dist/src/init/memory-package-resolver.js +118 -0
  24. package/dist/src/init/memory-package-resolver.js.map +1 -0
  25. package/dist/src/mcp-client.d.ts.map +1 -1
  26. package/dist/src/mcp-client.js +6 -1
  27. package/dist/src/mcp-client.js.map +1 -1
  28. package/dist/src/mcp-tools/agent-execute-core.d.ts.map +1 -1
  29. package/dist/src/mcp-tools/agent-execute-core.js +33 -0
  30. package/dist/src/mcp-tools/agent-execute-core.js.map +1 -1
  31. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  32. package/dist/src/mcp-tools/agent-tools.js +47 -1
  33. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  34. package/dist/src/mcp-tools/agenticow-loader.d.ts +59 -0
  35. package/dist/src/mcp-tools/agenticow-loader.d.ts.map +1 -0
  36. package/dist/src/mcp-tools/agenticow-loader.js +105 -0
  37. package/dist/src/mcp-tools/agenticow-loader.js.map +1 -0
  38. package/dist/src/mcp-tools/agenticow-speculate-tools.d.ts +24 -0
  39. package/dist/src/mcp-tools/agenticow-speculate-tools.d.ts.map +1 -0
  40. package/dist/src/mcp-tools/agenticow-speculate-tools.js +202 -0
  41. package/dist/src/mcp-tools/agenticow-speculate-tools.js.map +1 -0
  42. package/dist/src/mcp-tools/agenticow-tools.d.ts.map +1 -1
  43. package/dist/src/mcp-tools/agenticow-tools.js +9 -82
  44. package/dist/src/mcp-tools/agenticow-tools.js.map +1 -1
  45. package/dist/src/mcp-tools/index.d.ts +1 -0
  46. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  47. package/dist/src/mcp-tools/index.js +2 -0
  48. package/dist/src/mcp-tools/index.js.map +1 -1
  49. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  50. package/dist/src/memory/memory-bridge.js +49 -8
  51. package/dist/src/memory/memory-bridge.js.map +1 -1
  52. package/dist/src/ruvector/router-trajectory.d.ts +33 -0
  53. package/dist/src/ruvector/router-trajectory.d.ts.map +1 -1
  54. package/dist/src/ruvector/router-trajectory.js +31 -0
  55. package/dist/src/ruvector/router-trajectory.js.map +1 -1
  56. package/dist/src/ruvector/run-transcript-recorder.d.ts +154 -0
  57. package/dist/src/ruvector/run-transcript-recorder.d.ts.map +1 -0
  58. package/dist/src/ruvector/run-transcript-recorder.js +209 -0
  59. package/dist/src/ruvector/run-transcript-recorder.js.map +1 -0
  60. package/dist/src/services/checkpoint-gate.d.ts +140 -0
  61. package/dist/src/services/checkpoint-gate.d.ts.map +1 -0
  62. package/dist/src/services/checkpoint-gate.js +223 -0
  63. package/dist/src/services/checkpoint-gate.js.map +1 -0
  64. package/dist/src/services/distill-oracle.d.ts +190 -0
  65. package/dist/src/services/distill-oracle.d.ts.map +1 -0
  66. package/dist/src/services/distill-oracle.js +349 -0
  67. package/dist/src/services/distill-oracle.js.map +1 -0
  68. package/dist/src/services/fable-harness.d.ts +168 -0
  69. package/dist/src/services/fable-harness.d.ts.map +1 -0
  70. package/dist/src/services/fable-harness.js +347 -0
  71. package/dist/src/services/fable-harness.js.map +1 -0
  72. package/dist/src/services/swarm-memory-branches.d.ts +135 -0
  73. package/dist/src/services/swarm-memory-branches.d.ts.map +1 -0
  74. package/dist/src/services/swarm-memory-branches.js +213 -0
  75. package/dist/src/services/swarm-memory-branches.js.map +1 -0
  76. package/dist/src/services/weight-eft.d.ts +305 -0
  77. package/dist/src/services/weight-eft.d.ts.map +1 -0
  78. package/dist/src/services/weight-eft.js +296 -0
  79. package/dist/src/services/weight-eft.js.map +1 -0
  80. package/dist/tsconfig.tsbuildinfo +1 -1
  81. package/package.json +5 -4
@@ -27,10 +27,23 @@ const CYAN = '\x1b[0;36m';
27
27
  const DIM = '\x1b[2m';
28
28
  const RESET = '\x1b[0m';
29
29
 
30
+ const YELLOW = '\x1b[0;33m';
30
31
  const log = (msg) => console.log(`${CYAN}[AutoMemory] ${msg}${RESET}`);
31
32
  const success = (msg) => console.log(`${GREEN}[AutoMemory] ✓ ${msg}${RESET}`);
32
33
  const dim = (msg) => console.log(` ${DIM}${msg}${RESET}`);
33
34
 
35
+ // #2545: fail LOUD instead of a silent dim skip. When @claude-flow/memory cannot
36
+ // be resolved, self-learning imports are a no-op — the user must see this and be
37
+ // told exactly how to fix it (on both stdout, so it shows in the Claude Code hook
38
+ // transcript, and stderr, per the issue's requested channel).
39
+ function warnMemoryUnavailable() {
40
+ const line1 = `[AutoMemory] @claude-flow/memory not resolvable from ${PROJECT_ROOT} — self-learning imports are DISABLED.`;
41
+ const line2 = ' Fix: npm i -D @claude-flow/memory (or re-run: npx ruflo@latest init, then npx ruflo@latest doctor --fix)';
42
+ console.log(`${YELLOW}${line1}${RESET}`);
43
+ console.log(`${YELLOW}${line2}${RESET}`);
44
+ process.stderr.write(`${line1}\n${line2}\n`);
45
+ }
46
+
34
47
  const DEBUG = !!(process.env.RUFLO_DEBUG || process.env.DEBUG);
35
48
 
36
49
  // ── Graceful shutdown (FIX 3) ───────────────────────────────────────────────
@@ -152,6 +165,21 @@ class JsonFileBackend {
152
165
  // ============================================================================
153
166
 
154
167
  async function loadMemoryPackage() {
168
+ // Strategy 0 (#2545): sidecar recorded by `init` / `doctor --fix`. On the
169
+ // documented `npx ruflo` path @claude-flow/memory (an optionalDependency of
170
+ // the CLI) lands in the npx cache, which is NOT on the walk-up path from the
171
+ // project — so init resolves it from the CLI's own context and records the
172
+ // absolute path here. This is the only strategy that works on that install.
173
+ try {
174
+ const sidecar = join(PROJECT_ROOT, '.claude-flow', 'memory-package.json');
175
+ if (existsSync(sidecar)) {
176
+ const rec = JSON.parse(readFileSync(sidecar, 'utf-8'));
177
+ if (rec?.distPath && existsSync(rec.distPath)) {
178
+ return await import(`file://${rec.distPath}`);
179
+ }
180
+ }
181
+ } catch { /* fall through */ }
182
+
155
183
  // Strategy 1: Local dev (built dist)
156
184
  const localDist = join(PROJECT_ROOT, 'v3/@claude-flow/memory/dist/index.js');
157
185
  if (existsSync(localDist)) {
@@ -235,7 +263,7 @@ async function doImport() {
235
263
 
236
264
  const memPkg = await loadMemoryPackage();
237
265
  if (!memPkg || !memPkg.AutoMemoryBridge) {
238
- dim('Memory package not available — skipping auto memory import');
266
+ warnMemoryUnavailable();
239
267
  return;
240
268
  }
241
269
 
@@ -288,7 +316,7 @@ async function doSync() {
288
316
 
289
317
  const memPkg = await loadMemoryPackage();
290
318
  if (!memPkg || !memPkg.AutoMemoryBridge) {
291
- dim('Memory package not available — skipping sync');
319
+ warnMemoryUnavailable();
292
320
  return;
293
321
  }
294
322
 
@@ -346,8 +374,12 @@ async function doStatus() {
346
374
  const memPkg = await loadMemoryPackage();
347
375
  const config = readConfig();
348
376
 
377
+ const sidecar = join(PROJECT_ROOT, '.claude-flow', 'memory-package.json');
378
+ const hasSidecar = existsSync(sidecar);
379
+
349
380
  console.log('\n=== Auto Memory Bridge Status ===\n');
350
- console.log(` Package: ${memPkg ? '✅ Available' : '❌ Not found'}`);
381
+ console.log(` Package: ${memPkg ? '✅ Available' : '❌ Not found — self-learning DISABLED (fix: npm i -D @claude-flow/memory)'}`);
382
+ console.log(` Resolver: ${hasSidecar ? '✅ .claude-flow/memory-package.json' : '⏸ no sidecar (run: npx ruflo@latest doctor --fix)'}`);
351
383
  console.log(` Store: ${existsSync(STORE_PATH) ? '✅ ' + STORE_PATH : '⏸ Not initialized'}`);
352
384
  console.log(` LearningBridge: ${config.learningBridge.enabled ? '✅ Enabled' : '⏸ Disabled'}`);
353
385
  console.log(` MemoryGraph: ${config.memoryGraph.enabled ? '✅ Enabled' : '⏸ Disabled'}`);
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Speculative branch-and-promote — parallel A/B solution exploration over
3
+ * COW memory branches (agenticow step 4).
4
+ *
5
+ * Concept (from agenticow's examples/ab-branches + promotion-pipeline):
6
+ * Fan out N candidate approaches, each on its own Copy-On-Write branch of a
7
+ * shared base `.rvf` memory. Each candidate explores/writes independently
8
+ * against its own branch handle. Score the results, PROMOTE the winner's
9
+ * branch back into base, and DISCARD the losers — which for agenticow means
10
+ * deleting the branch files (162 bytes each), not re-copying GB of state.
11
+ *
12
+ * This is the memory-state analogue of the git-worktree-per-agent pattern
13
+ * used for parallel code agents: cheap speculative forks, keep one, throw the
14
+ * rest away at near-zero cost.
15
+ *
16
+ * This module is intentionally COMPOSED ON TOP of the existing agenticow verbs
17
+ * (`fork` / `promote`) and the shared `_agenticow.ts` helpers — it does not
18
+ * reimplement COW semantics. It is generic over the candidate result type so
19
+ * callers supply their own `fn` (what to do on each branch) and `score`
20
+ * (how good the branch turned out).
21
+ *
22
+ * @module @claude-flow/cli/agenticow/speculative-exploration
23
+ */
24
+ import { type AgenticowApi } from '../mcp-tools/agenticow-loader.js';
25
+ /** A COW memory handle (agenticow `AgenticMemory`), kept `any` to avoid a hard type dep. */
26
+ export type MemoryHandle = any;
27
+ export interface SpeculativeCandidate<TResult> {
28
+ /** Human-readable branch label (validated: `[A-Za-z0-9_.\-:/@]`). */
29
+ label: string;
30
+ /**
31
+ * The exploration to run against this candidate's isolated branch handle.
32
+ * Receives the forked branch (read-through of base ∪ its own edits). May
33
+ * ingest, delete, query, etc. Its return value is fed to `score`.
34
+ */
35
+ fn: (branch: MemoryHandle) => TResult | Promise<TResult>;
36
+ }
37
+ export interface ExploreOptions {
38
+ /**
39
+ * Maps a candidate label to the on-disk path for its branch `.rvf` file.
40
+ * Loser paths are deleted after scoring.
41
+ */
42
+ branchPath: (label: string) => string;
43
+ /** Persist winner-branch + save manifests. Default true. */
44
+ persist?: boolean;
45
+ /**
46
+ * Tie-break: when two candidates tie on score, the earlier one (lower index)
47
+ * wins by default (stable). Set `'last'` to prefer the later candidate.
48
+ */
49
+ tieBreak?: 'first' | 'last';
50
+ /**
51
+ * PROMOTION GATE (ADR-171). A branch is promote-INELIGIBLE unless cleared by a
52
+ * real evaluation oracle, or by an explicitly-accepted Fable judge. When
53
+ * provided, the top-scoring candidate is promoted ONLY if this returns
54
+ * `{cleared:true, by:'oracle:test-exec'}` or `{cleared:true, by:'judge:fable'}`.
55
+ * `proxy:structural` can NEVER clear a promote — score rank alone does not
56
+ * graduate work into base. Omit for legacy score-only promotion (unverified).
57
+ */
58
+ clearance?: (winnerResult: unknown, label: string) => Promise<{
59
+ cleared: boolean;
60
+ by: PromotionProvenance;
61
+ reason?: string;
62
+ }>;
63
+ /**
64
+ * Force the clearance gate even without a `clearance` fn — a missing gate then
65
+ * means the winner is ineligible (fail-closed). Default: gate enforced iff
66
+ * `clearance` is supplied.
67
+ */
68
+ requireClearance?: boolean;
69
+ }
70
+ /** Provenance of a promotion decision (ADR-171 trust tiers). */
71
+ export type PromotionProvenance = 'oracle:test-exec' | 'judge:fable' | 'proxy:structural' | 'unverified';
72
+ /**
73
+ * Causal failure receipt (ADR-171). Emitted for every discarded loser and for
74
+ * an ineligible/failed winner — a rollback that loses *why* is half-useful.
75
+ */
76
+ export interface SpeculativeReceipt {
77
+ label: string;
78
+ score: number;
79
+ /** What the branch changed vs its lineage, when introspectable. */
80
+ diff: {
81
+ added: number[];
82
+ overridden: number[];
83
+ deleted: number[];
84
+ } | null;
85
+ /** Why this branch did not graduate. */
86
+ outcome: 'discarded-loser' | 'winner-ineligible' | 'winner-failed';
87
+ provenance: PromotionProvenance;
88
+ reason?: string;
89
+ }
90
+ export interface SpeculativeBranchOutcome<TResult> {
91
+ label: string;
92
+ path: string;
93
+ score: number;
94
+ result: TResult;
95
+ /** true for the promoted winner, false for discarded losers. */
96
+ kept: boolean;
97
+ }
98
+ export interface SpeculativeResult<TResult> {
99
+ /** Label of the winning (promoted) candidate. */
100
+ winner: string;
101
+ /** label → score for every candidate. */
102
+ scores: Record<string, number>;
103
+ /** Whether the winner was successfully promoted into base. */
104
+ promoted: boolean;
105
+ /** How the promotion decision was reached (ADR-171 provenance). */
106
+ promotedBy: PromotionProvenance;
107
+ /** Human-readable promotion decision, e.g. 'promoted:oracle:test-exec' or 'ineligible:proxy-cannot-clear'. */
108
+ promotionDecision: string;
109
+ /** agenticow promote() stats for the winner ({ ingested, deleted }). */
110
+ promoteStats: {
111
+ ingested: number;
112
+ deleted: number;
113
+ } | null;
114
+ /** Labels of the discarded losers whose branch files were deleted. */
115
+ discarded: string[];
116
+ /** Causal failure receipts for discarded losers + an ineligible winner. */
117
+ receipts: SpeculativeReceipt[];
118
+ /** Per-candidate detail (score, path, result, kept). */
119
+ branches: SpeculativeBranchOutcome<TResult>[];
120
+ }
121
+ /**
122
+ * Fork one branch per candidate off `base`, run each `fn` against its own
123
+ * branch handle, score the results, PROMOTE the best branch back into `base`,
124
+ * and DISCARD (delete the files of) the rest.
125
+ *
126
+ * The caller owns `base`: this function mutates it in-memory via `promote()`
127
+ * but does NOT save it (only the caller knows the base file path). Persist the
128
+ * base yourself after this resolves (e.g. `base.save(manifestFor(basePath))`).
129
+ *
130
+ * @param base An opened agenticow memory handle to branch from.
131
+ * @param candidates The A/B candidates — each `{label, fn}`.
132
+ * @param score Scores a candidate's result; higher wins.
133
+ * @param opts Branch-path mapping + persistence knobs.
134
+ */
135
+ export declare function explore<TResult>(base: MemoryHandle, candidates: SpeculativeCandidate<TResult>[], score: (result: TResult, label: string) => number, opts: ExploreOptions): Promise<SpeculativeResult<TResult>>;
136
+ /**
137
+ * Convenience wrapper that owns the whole lifecycle for a file-path base:
138
+ * loads agenticow (returns `null` when the optional dep is absent), opens the
139
+ * base with its lineage, runs {@link explore}, then persists the mutated base.
140
+ *
141
+ * Returns `null` when agenticow is not installed so callers can emit the
142
+ * standard `{degraded:true}` contract.
143
+ */
144
+ export declare function exploreFromPath<TResult>(basePath: string, candidates: SpeculativeCandidate<TResult>[], score: (result: TResult, label: string) => number, opts: ExploreOptions & {
145
+ dimension?: number;
146
+ api?: AgenticowApi;
147
+ }): Promise<SpeculativeResult<TResult> | null>;
148
+ //# sourceMappingURL=speculative-exploration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speculative-exploration.d.ts","sourceRoot":"","sources":["../../../src/agenticow/speculative-exploration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Speculative branch-and-promote — parallel A/B solution exploration over
3
+ * COW memory branches (agenticow step 4).
4
+ *
5
+ * Concept (from agenticow's examples/ab-branches + promotion-pipeline):
6
+ * Fan out N candidate approaches, each on its own Copy-On-Write branch of a
7
+ * shared base `.rvf` memory. Each candidate explores/writes independently
8
+ * against its own branch handle. Score the results, PROMOTE the winner's
9
+ * branch back into base, and DISCARD the losers — which for agenticow means
10
+ * deleting the branch files (162 bytes each), not re-copying GB of state.
11
+ *
12
+ * This is the memory-state analogue of the git-worktree-per-agent pattern
13
+ * used for parallel code agents: cheap speculative forks, keep one, throw the
14
+ * rest away at near-zero cost.
15
+ *
16
+ * This module is intentionally COMPOSED ON TOP of the existing agenticow verbs
17
+ * (`fork` / `promote`) and the shared `_agenticow.ts` helpers — it does not
18
+ * reimplement COW semantics. It is generic over the candidate result type so
19
+ * callers supply their own `fn` (what to do on each branch) and `score`
20
+ * (how good the branch turned out).
21
+ *
22
+ * @module @claude-flow/cli/agenticow/speculative-exploration
23
+ */
24
+ import { existsSync, rmSync } from 'node:fs';
25
+ import { loadAgenticow, openWithLineage, manifestFor, resolveMemoryPath, validateLabel, } from '../mcp-tools/agenticow-loader.js';
26
+ function safeDiff(branch) {
27
+ try {
28
+ const d = branch.diff?.();
29
+ return d ? { added: d.added ?? [], overridden: d.overridden ?? [], deleted: d.deleted ?? [] } : null;
30
+ }
31
+ catch {
32
+ return null;
33
+ }
34
+ }
35
+ function deleteBranchFiles(path) {
36
+ for (const p of [path, manifestFor(path)]) {
37
+ try {
38
+ if (existsSync(p))
39
+ rmSync(p, { recursive: true, force: true });
40
+ }
41
+ catch {
42
+ /* best-effort discard; a leftover 162-byte file is not fatal */
43
+ }
44
+ }
45
+ }
46
+ /**
47
+ * Fork one branch per candidate off `base`, run each `fn` against its own
48
+ * branch handle, score the results, PROMOTE the best branch back into `base`,
49
+ * and DISCARD (delete the files of) the rest.
50
+ *
51
+ * The caller owns `base`: this function mutates it in-memory via `promote()`
52
+ * but does NOT save it (only the caller knows the base file path). Persist the
53
+ * base yourself after this resolves (e.g. `base.save(manifestFor(basePath))`).
54
+ *
55
+ * @param base An opened agenticow memory handle to branch from.
56
+ * @param candidates The A/B candidates — each `{label, fn}`.
57
+ * @param score Scores a candidate's result; higher wins.
58
+ * @param opts Branch-path mapping + persistence knobs.
59
+ */
60
+ export async function explore(base, candidates, score, opts) {
61
+ if (!base)
62
+ throw new Error('base memory handle is required');
63
+ if (!Array.isArray(candidates) || candidates.length === 0) {
64
+ throw new Error('at least one candidate is required');
65
+ }
66
+ if (typeof score !== 'function')
67
+ throw new Error('score function is required');
68
+ if (!opts || typeof opts.branchPath !== 'function') {
69
+ throw new Error('opts.branchPath(label) is required');
70
+ }
71
+ const persist = opts.persist !== false;
72
+ const tieBreak = opts.tieBreak ?? 'first';
73
+ // Reject duplicate labels up front — two branches to the same file would clash.
74
+ const seen = new Set();
75
+ const live = [];
76
+ // 1) Fork + explore each candidate on its own isolated branch.
77
+ for (const c of candidates) {
78
+ const label = validateLabel(c.label);
79
+ if (seen.has(label))
80
+ throw new Error(`duplicate candidate label: ${label}`);
81
+ seen.add(label);
82
+ if (typeof c.fn !== 'function')
83
+ throw new Error(`candidate ${label} is missing fn()`);
84
+ const path = resolveMemoryPath(opts.branchPath(label));
85
+ const branch = base.fork(label, path);
86
+ const result = await c.fn(branch);
87
+ const s = Number(score(result, label));
88
+ live.push({ label, path, branch, result, score: Number.isFinite(s) ? s : -Infinity });
89
+ }
90
+ // 2) Pick the winner (highest score; stable tie-break).
91
+ let winnerIdx = 0;
92
+ for (let i = 1; i < live.length; i++) {
93
+ const better = tieBreak === 'last'
94
+ ? live[i].score >= live[winnerIdx].score
95
+ : live[i].score > live[winnerIdx].score;
96
+ if (better)
97
+ winnerIdx = i;
98
+ }
99
+ const scores = {};
100
+ for (const l of live)
101
+ scores[l.label] = l.score;
102
+ const winner = live[winnerIdx];
103
+ const receipts = [];
104
+ // 3) PROMOTION GATE (ADR-171). The top score is a *nominee*, not a promotion.
105
+ // A branch graduates into base only when cleared by a real oracle or an
106
+ // explicitly-accepted Fable judge. proxy:structural / score-only never
107
+ // clears. Fail-closed: requireClearance with no gate = ineligible.
108
+ const gate = opts.clearance;
109
+ const enforce = opts.requireClearance ?? !!gate;
110
+ let promoted = false;
111
+ let promotedBy = 'unverified';
112
+ let promotionDecision;
113
+ let promoteStats = null;
114
+ let clearance;
115
+ if (gate) {
116
+ try {
117
+ clearance = await gate(winner.result, winner.label);
118
+ }
119
+ catch (e) {
120
+ clearance = { cleared: false, by: 'proxy:structural', reason: `clearance threw: ${e?.message ?? e}` };
121
+ }
122
+ }
123
+ else if (enforce) {
124
+ clearance = { cleared: false, by: 'proxy:structural', reason: 'requireClearance set but no clearance gate provided' };
125
+ }
126
+ else {
127
+ clearance = { cleared: true, by: 'unverified', reason: 'legacy score-only promotion (no gate configured)' };
128
+ }
129
+ // proxy:structural can NEVER clear a promote, regardless of `cleared`.
130
+ const cleared = clearance.cleared
131
+ && (clearance.by === 'oracle:test-exec' || clearance.by === 'judge:fable' || (!enforce && clearance.by === 'unverified'));
132
+ if (cleared) {
133
+ promoteStats = winner.branch.promote(base);
134
+ if (persist)
135
+ winner.branch.save?.(manifestFor(winner.path));
136
+ winner.branch.close?.();
137
+ promoted = true;
138
+ promotedBy = clearance.by;
139
+ promotionDecision = `promoted:${clearance.by}`;
140
+ }
141
+ else {
142
+ // Winner is ineligible — base stays UNCHANGED. Emit a causal receipt and
143
+ // discard the branch (it did not earn graduation).
144
+ promotedBy = clearance.by;
145
+ promotionDecision = `ineligible:${clearance.by === 'proxy:structural' ? 'proxy-cannot-clear' : clearance.by}`;
146
+ receipts.push({
147
+ label: winner.label,
148
+ score: winner.score,
149
+ diff: safeDiff(winner.branch),
150
+ outcome: 'winner-ineligible',
151
+ provenance: clearance.by,
152
+ reason: clearance.reason ?? 'not cleared by oracle or accepted Fable judge',
153
+ });
154
+ winner.branch.close?.();
155
+ deleteBranchFiles(winner.path);
156
+ }
157
+ // 4) Discard the losers — receipt each, close handle, delete files.
158
+ const discarded = [];
159
+ for (let i = 0; i < live.length; i++) {
160
+ if (i === winnerIdx)
161
+ continue;
162
+ receipts.push({
163
+ label: live[i].label,
164
+ score: live[i].score,
165
+ diff: safeDiff(live[i].branch),
166
+ outcome: 'discarded-loser',
167
+ provenance: 'proxy:structural',
168
+ reason: `lower score than winner (${live[i].score} < ${winner.score})`,
169
+ });
170
+ live[i].branch.close?.();
171
+ deleteBranchFiles(live[i].path);
172
+ discarded.push(live[i].label);
173
+ }
174
+ const branches = live.map((l, i) => ({
175
+ label: l.label,
176
+ path: l.path,
177
+ score: l.score,
178
+ result: l.result,
179
+ kept: i === winnerIdx && promoted,
180
+ }));
181
+ return {
182
+ winner: winner.label,
183
+ scores,
184
+ promoted,
185
+ promotedBy,
186
+ promotionDecision,
187
+ promoteStats,
188
+ discarded,
189
+ receipts,
190
+ branches,
191
+ };
192
+ }
193
+ /**
194
+ * Convenience wrapper that owns the whole lifecycle for a file-path base:
195
+ * loads agenticow (returns `null` when the optional dep is absent), opens the
196
+ * base with its lineage, runs {@link explore}, then persists the mutated base.
197
+ *
198
+ * Returns `null` when agenticow is not installed so callers can emit the
199
+ * standard `{degraded:true}` contract.
200
+ */
201
+ export async function exploreFromPath(basePath, candidates, score, opts) {
202
+ const api = opts.api ?? (await loadAgenticow());
203
+ if (!api)
204
+ return null;
205
+ const resolvedBase = resolveMemoryPath(basePath);
206
+ const base = await openWithLineage(api, resolvedBase, opts.dimension);
207
+ try {
208
+ const result = await explore(base, candidates, score, opts);
209
+ if (opts.persist !== false) {
210
+ base.save?.(manifestFor(resolvedBase));
211
+ }
212
+ return result;
213
+ }
214
+ finally {
215
+ base.close?.();
216
+ }
217
+ }
218
+ //# sourceMappingURL=speculative-exploration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speculative-exploration.js","sourceRoot":"","sources":["../../../src/agenticow/speculative-exploration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,aAAa,GAEd,MAAM,kCAAkC,CAAC;AAqG1C,SAAS,QAAQ,CAAC,MAAoB;IACpC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAkB,EAClB,UAA2C,EAC3C,KAAiD,EACjD,IAAoB;IAEpB,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC/E,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC;IAE1C,gFAAgF;IAChF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAS/B,MAAM,IAAI,GAAW,EAAE,CAAC;IAExB,+DAA+D;IAC/D,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChB,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,kBAAkB,CAAC,CAAC;QAEtF,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,wDAAwD;IACxD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,QAAQ,KAAK,MAAM;YAChC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK;YACxC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;QAC1C,IAAI,MAAM;YAAE,SAAS,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAEhD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAE1C,8EAA8E;IAC9E,2EAA2E;IAC3E,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAI,CAAC;IAChD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAwB,YAAY,CAAC;IACnD,IAAI,iBAAyB,CAAC;IAC9B,IAAI,YAAY,GAAiD,IAAI,CAAC;IAEtE,IAAI,SAAyE,CAAC;IAC9E,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC;YACH,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,SAAS,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,oBAAqB,CAAW,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC;QACnH,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,SAAS,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,qDAAqD,EAAE,CAAC;IACxH,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,kDAAkD,EAAE,CAAC;IAC9G,CAAC;IAED,uEAAuE;IACvE,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO;WAC5B,CAAC,SAAS,CAAC,EAAE,KAAK,kBAAkB,IAAI,SAAS,CAAC,EAAE,KAAK,aAAa,IAAI,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC;IAE5H,IAAI,OAAO,EAAE,CAAC;QACZ,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAA0C,CAAC;QACpF,IAAI,OAAO;YAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QACxB,QAAQ,GAAG,IAAI,CAAC;QAChB,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;QAC1B,iBAAiB,GAAG,YAAY,SAAS,CAAC,EAAE,EAAE,CAAC;IACjD,CAAC;SAAM,CAAC;QACN,yEAAyE;QACzE,mDAAmD;QACnD,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;QAC1B,iBAAiB,GAAG,cAAc,SAAS,CAAC,EAAE,KAAK,kBAAkB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;QAC9G,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YAC7B,OAAO,EAAE,mBAAmB;YAC5B,UAAU,EAAE,SAAS,CAAC,EAAE;YACxB,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,+CAA+C;SAC5E,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QACxB,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,oEAAoE;IACpE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;YACpB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;YACpB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9B,OAAO,EAAE,iBAAiB;YAC1B,UAAU,EAAE,kBAAkB;YAC9B,MAAM,EAAE,4BAA4B,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,MAAM,CAAC,KAAK,GAAG;SACvE,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QACzB,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,QAAQ,GAAwC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACxE,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,IAAI,EAAE,CAAC,KAAK,SAAS,IAAI,QAAQ;KAClC,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,KAAK;QACpB,MAAM;QACN,QAAQ;QACR,UAAU;QACV,iBAAiB;QACjB,YAAY;QACZ,SAAS;QACT,QAAQ;QACR,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,UAA2C,EAC3C,KAAiD,EACjD,IAAiE;IAEjE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"autopilot.d.ts","sourceRoot":"","sources":["../../../src/commands/autopilot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AAU1E,wBAAsB,cAAc,IAAI,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2E7G;AAwRD,eAAO,MAAM,gBAAgB,EAAE,OA6B9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"autopilot.d.ts","sourceRoot":"","sources":["../../../src/commands/autopilot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AA6C1E,wBAAsB,cAAc,IAAI,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkF7G;AAwRD,eAAO,MAAM,gBAAgB,EAAE,OA6B9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -6,6 +6,45 @@
6
6
  */
7
7
  import { output } from '../output.js';
8
8
  import { loadState, saveState, appendLog, loadLog, discoverTasks, getProgress, calculateReward, tryLoadLearning, validateNumber, validateTaskSources, LOG_FILE, } from '../autopilot-state.js';
9
+ import { getCheckpointGate, CheckpointGate } from '../services/checkpoint-gate.js';
10
+ /**
11
+ * Opt-in checkpoint/rollback gate for the autopilot tick (agenticow step 3).
12
+ *
13
+ * The autopilot loop's memory mutation happens OUT OF PROCESS — a re-engaged
14
+ * tick returns a continuation prompt, and the spawned agent (plus agentic-flow
15
+ * learning) mutates `.rvf` memory. So there is no in-process fn to wrap with
16
+ * CheckpointGate.guard() here; instead we bracket the loop across ticks:
17
+ * - checkpoint the configured `.rvf` right before handing off a risky tick
18
+ * (re-engage), and
19
+ * - roll it back when the loop's own regression signal fires (stall auto-disable).
20
+ *
21
+ * Entirely opt-in: it does nothing unless CLAUDE_FLOW_AUTOPILOT_CHECKPOINT_MEM
22
+ * points at an `.rvf` file the loop mutates, agenticow is installed, and the
23
+ * CLAUDE_FLOW_AGENTICOW_DISABLE kill switch is unset. Every call is non-fatal —
24
+ * a checkpoint/rollback failure never breaks the loop.
25
+ */
26
+ async function checkpointTick(label) {
27
+ const memPath = CheckpointGate.configuredMemPath();
28
+ if (!memPath)
29
+ return;
30
+ try {
31
+ const r = await getCheckpointGate().checkpoint(memPath, label);
32
+ if (r.ok)
33
+ appendLog({ ts: Date.now(), event: 'checkpoint', label, memPath });
34
+ }
35
+ catch { /* non-fatal: memory branching is best-effort */ }
36
+ }
37
+ async function rollbackTick(reason) {
38
+ const memPath = CheckpointGate.configuredMemPath();
39
+ if (!memPath)
40
+ return;
41
+ try {
42
+ const r = await getCheckpointGate().rollback(memPath);
43
+ if (r.ok)
44
+ appendLog({ ts: Date.now(), event: 'rollback', reason, memPath });
45
+ }
46
+ catch { /* non-fatal */ }
47
+ }
9
48
  // ── Check Handler (for Stop hook) ─────────────────────────────
10
49
  export async function autopilotCheck() {
11
50
  const state = loadState();
@@ -47,6 +86,9 @@ export async function autopilotCheck() {
47
86
  state.enabled = false;
48
87
  saveState(state);
49
88
  appendLog({ ts: Date.now(), event: 'stall-auto-disable', iterations: state.iterations, completed: progress.completed });
89
+ // Regression signal: the loop stalled. Roll `.rvf` memory back to the last
90
+ // good per-tick checkpoint (opt-in via CLAUDE_FLOW_AUTOPILOT_CHECKPOINT_MEM).
91
+ await rollbackTick('stall-auto-disable');
50
92
  return { allowStop: true, reason: `Stalled: no progress in 10 iterations (${progress.completed}/${progress.total} complete)` };
51
93
  }
52
94
  // Re-engage
@@ -54,6 +96,9 @@ export async function autopilotCheck() {
54
96
  state.lastCheck = Date.now();
55
97
  state.history.push({ ts: Date.now(), iteration: state.iterations, completed: progress.completed, total: progress.total });
56
98
  saveState(state);
99
+ // Checkpoint `.rvf` memory before the risky tick runs (opt-in). The next
100
+ // check() rolls back to here if this tick regresses (stall detection above).
101
+ await checkpointTick(`autopilot-iter-${state.iterations}`);
57
102
  const stallWarning = isStalled
58
103
  ? '\nWARNING: No progress in 5 iterations. Consider breaking tasks into smaller subtasks or trying a different approach.'
59
104
  : '';
@@ -1 +1 @@
1
- {"version":3,"file":"autopilot.js","sourceRoot":"","sources":["../../../src/commands/autopilot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autopilot.js","sourceRoot":"","sources":["../../../src/commands/autopilot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AAs/B1E,eAAO,MAAM,aAAa,EAAE,OAkN3B,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AA8hC1E,eAAO,MAAM,aAAa,EAAE,OAyO3B,CAAC;AAEF,eAAe,aAAa,CAAC"}