@promptwheel/cli 0.7.3 → 0.7.5

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 (45) hide show
  1. package/dist/bin/promptwheel.js +1 -1
  2. package/dist/lib/display-adapter-spinner.d.ts +2 -0
  3. package/dist/lib/display-adapter-spinner.d.ts.map +1 -1
  4. package/dist/lib/display-adapter-spinner.js +9 -2
  5. package/dist/lib/display-adapter-spinner.js.map +1 -1
  6. package/dist/lib/integrations.d.ts +89 -0
  7. package/dist/lib/integrations.d.ts.map +1 -0
  8. package/dist/lib/integrations.js +380 -0
  9. package/dist/lib/integrations.js.map +1 -0
  10. package/dist/lib/run-state.d.ts +11 -0
  11. package/dist/lib/run-state.d.ts.map +1 -1
  12. package/dist/lib/run-state.js +21 -0
  13. package/dist/lib/run-state.js.map +1 -1
  14. package/dist/lib/solo-auto-between-cycles.d.ts.map +1 -1
  15. package/dist/lib/solo-auto-between-cycles.js +93 -65
  16. package/dist/lib/solo-auto-between-cycles.js.map +1 -1
  17. package/dist/lib/solo-auto-drill.d.ts +1 -1
  18. package/dist/lib/solo-auto-drill.d.ts.map +1 -1
  19. package/dist/lib/solo-auto-drill.js +45 -36
  20. package/dist/lib/solo-auto-drill.js.map +1 -1
  21. package/dist/lib/solo-auto-execute.d.ts.map +1 -1
  22. package/dist/lib/solo-auto-execute.js +8 -7
  23. package/dist/lib/solo-auto-execute.js.map +1 -1
  24. package/dist/lib/solo-auto-filter.d.ts.map +1 -1
  25. package/dist/lib/solo-auto-filter.js +21 -12
  26. package/dist/lib/solo-auto-filter.js.map +1 -1
  27. package/dist/lib/solo-auto-finalize.js +3 -3
  28. package/dist/lib/solo-auto-finalize.js.map +1 -1
  29. package/dist/lib/solo-auto-scout.d.ts.map +1 -1
  30. package/dist/lib/solo-auto-scout.js +15 -6
  31. package/dist/lib/solo-auto-scout.js.map +1 -1
  32. package/dist/lib/solo-auto-state.d.ts.map +1 -1
  33. package/dist/lib/solo-auto-state.js +37 -20
  34. package/dist/lib/solo-auto-state.js.map +1 -1
  35. package/dist/lib/solo-auto-types.d.ts +7 -0
  36. package/dist/lib/solo-auto-types.d.ts.map +1 -1
  37. package/dist/lib/solo-auto.js +17 -7
  38. package/dist/lib/solo-auto.js.map +1 -1
  39. package/dist/lib/solo-config.d.ts +16 -0
  40. package/dist/lib/solo-config.d.ts.map +1 -1
  41. package/dist/lib/solo-config.js.map +1 -1
  42. package/dist/lib/solo-stdin.d.ts.map +1 -1
  43. package/dist/lib/solo-stdin.js +16 -13
  44. package/dist/lib/solo-stdin.js.map +1 -1
  45. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"run-state.js","sourceRoot":"","sources":["../../src/lib/run-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-state.js","sourceRoot":"","sources":["../../src/lib/run-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"solo-auto-between-cycles.d.ts","sourceRoot":"","sources":["../../src/lib/solo-auto-between-cycles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAgD7D,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAkO7F;AAID,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAyiB9H"}
1
+ {"version":3,"file":"solo-auto-between-cycles.d.ts","sourceRoot":"","sources":["../../src/lib/solo-auto-between-cycles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAiD7D,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CA+O7F;AAID,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAkjB9H"}
@@ -28,6 +28,7 @@ import { sleep } from './dedup.js';
28
28
  import { saveTrajectoryState } from './trajectory.js';
29
29
  import { getNextStep as getTrajectoryNextStep, trajectoryComplete, trajectoryFullySucceeded, trajectoryStuck, } from '@promptwheel/core/trajectory/shared';
30
30
  import { recordDrillTrajectoryOutcome, computeAmbitionLevel } from './solo-auto-drill.js';
31
+ import { runIntegrations, toProposals } from './integrations.js';
31
32
  export async function runPreCycleMaintenance(state) {
32
33
  state.cycleCount++;
33
34
  state.cycleOutcomes = [];
@@ -56,7 +57,7 @@ export async function runPreCycleMaintenance(state) {
56
57
  if (qualityRate < 0.5) {
57
58
  state.effectiveMinConfidence += 10;
58
59
  if (state.options.verbose) {
59
- console.log(chalk.gray(` Quality rate ${(qualityRate * 100).toFixed(0)}% — raising confidence +10`));
60
+ state.displayAdapter.log(chalk.gray(` Quality rate ${(qualityRate * 100).toFixed(0)}% — raising confidence +10`));
60
61
  }
61
62
  }
62
63
  }
@@ -66,7 +67,8 @@ export async function runPreCycleMaintenance(state) {
66
67
  const confDelta = calibrateConfidence(state.repoRoot, state.effectiveMinConfidence, state.autoConf.minConfidence ?? 20);
67
68
  if (confDelta !== 0) {
68
69
  state.effectiveMinConfidence += confDelta;
69
- console.log(chalk.gray(` Confidence calibration: ${confDelta > 0 ? '+' : ''}${confDelta} → ${state.effectiveMinConfidence}`));
70
+ if (state.options.verbose)
71
+ state.displayAdapter.log(chalk.gray(` Confidence calibration: ${confDelta > 0 ? '+' : ''}${confDelta} → ${state.effectiveMinConfidence}`));
70
72
  }
71
73
  }
72
74
  catch {
@@ -77,7 +79,7 @@ export async function runPreCycleMaintenance(state) {
77
79
  if (state.runMode === 'spin' && state.pendingPrUrls.length > 0 && state.deliveryMode !== 'direct') {
78
80
  const openRatio = state.pendingPrUrls.length / state.maxPrs;
79
81
  if (openRatio > 0.7) {
80
- console.log(chalk.yellow(` Backpressure: ${state.pendingPrUrls.length}/${state.maxPrs} PRs open — waiting for reviews...`));
82
+ state.displayAdapter.log(chalk.yellow(` Backpressure: ${state.pendingPrUrls.length}/${state.maxPrs} PRs open — waiting for reviews...`));
81
83
  await sleep(15000);
82
84
  state.cycleCount--; // undo increment so the cycle reruns
83
85
  return { shouldSkipCycle: true };
@@ -85,7 +87,7 @@ export async function runPreCycleMaintenance(state) {
85
87
  else if (openRatio > 0.4) {
86
88
  state.effectiveMinConfidence += 15;
87
89
  if (state.options.verbose) {
88
- console.log(chalk.gray(` Light backpressure (${state.pendingPrUrls.length}/${state.maxPrs} open) — raising confidence +15`));
90
+ state.displayAdapter.log(chalk.gray(` Light backpressure (${state.pendingPrUrls.length}/${state.maxPrs} open) — raising confidence +15`));
89
91
  }
90
92
  }
91
93
  }
@@ -94,7 +96,7 @@ export async function runPreCycleMaintenance(state) {
94
96
  const CONFIDENCE_CEILING = 80;
95
97
  if (state.effectiveMinConfidence > CONFIDENCE_CEILING) {
96
98
  if (state.options.verbose) {
97
- console.log(chalk.gray(` Confidence clamped: ${state.effectiveMinConfidence} → ${CONFIDENCE_CEILING} (ceiling)`));
99
+ state.displayAdapter.log(chalk.gray(` Confidence clamped: ${state.effectiveMinConfidence} → ${CONFIDENCE_CEILING} (ceiling)`));
98
100
  }
99
101
  state.effectiveMinConfidence = CONFIDENCE_CEILING;
100
102
  }
@@ -107,7 +109,7 @@ export async function runPreCycleMaintenance(state) {
107
109
  state.tasteProfile = buildTasteProfile(state.sectorState, state.allLearnings, rs.formulaStats);
108
110
  saveTasteProfile(state.repoRoot, state.tasteProfile);
109
111
  if (state.options.verbose) {
110
- console.log(chalk.gray(` Taste profile rebuilt: prefer [${state.tasteProfile.preferredCategories.join(', ')}], avoid [${state.tasteProfile.avoidCategories.join(', ')}]`));
112
+ state.displayAdapter.log(chalk.gray(` Taste profile rebuilt: prefer [${state.tasteProfile.preferredCategories.join(', ')}], avoid [${state.tasteProfile.avoidCategories.join(', ')}]`));
111
113
  }
112
114
  }
113
115
  // Periodic pull
@@ -122,21 +124,21 @@ export async function runPreCycleMaintenance(state) {
122
124
  if (mergeResult.status === 0) {
123
125
  const summary = mergeResult.stdout?.trim();
124
126
  if (summary && !summary.includes('Already up to date')) {
125
- console.log(chalk.cyan(` ⬇ Pulled latest from origin/${state.detectedBaseBranch}`));
127
+ state.displayAdapter.log(chalk.cyan(` ⬇ Pulled latest from origin/${state.detectedBaseBranch}`));
126
128
  }
127
129
  }
128
130
  else {
129
131
  const errMsg = mergeResult.stderr?.trim() || 'fast-forward not possible';
130
132
  if (state.pullPolicy === 'halt') {
131
- console.log();
132
- console.log(chalk.red(`✗ HCF — Base branch has diverged from origin/${state.detectedBaseBranch}`));
133
- console.log(chalk.gray(` ${errMsg}`));
134
- console.log();
135
- console.log(chalk.bold('Resolution:'));
136
- console.log(` 1. Resolve the divergence (rebase, merge, or reset)`);
137
- console.log(` 2. Re-run: promptwheel`);
138
- console.log();
139
- console.log(chalk.gray(` To keep going despite divergence, set pullPolicy: "warn" in config.`));
133
+ state.displayAdapter.log('');
134
+ state.displayAdapter.log(chalk.red(`✗ HCF — Base branch has diverged from origin/${state.detectedBaseBranch}`));
135
+ state.displayAdapter.log(chalk.gray(` ${errMsg}`));
136
+ state.displayAdapter.log('');
137
+ state.displayAdapter.log(chalk.bold('Resolution:'));
138
+ state.displayAdapter.log(` 1. Resolve the divergence (rebase, merge, or reset)`);
139
+ state.displayAdapter.log(` 2. Re-run: promptwheel`);
140
+ state.displayAdapter.log('');
141
+ state.displayAdapter.log(chalk.gray(` To keep going despite divergence, set pullPolicy: "warn" in config.`));
140
142
  // Signal orchestrator to break — finalizeSession handles cleanup
141
143
  state.shutdownRequested = true;
142
144
  if (state.shutdownReason === null)
@@ -144,14 +146,14 @@ export async function runPreCycleMaintenance(state) {
144
146
  return { shouldSkipCycle: true };
145
147
  }
146
148
  else {
147
- console.log(chalk.yellow(` ⚠ Base branch diverged from origin/${state.detectedBaseBranch} — continuing on stale base`));
148
- console.log(chalk.gray(` ${errMsg}`));
149
- console.log(chalk.gray(` Subsequent work may produce merge conflicts`));
149
+ state.displayAdapter.log(chalk.yellow(` ⚠ Base branch diverged from origin/${state.detectedBaseBranch} — continuing on stale base`));
150
+ state.displayAdapter.log(chalk.gray(` ${errMsg}`));
151
+ state.displayAdapter.log(chalk.gray(` Subsequent work may produce merge conflicts`));
150
152
  }
151
153
  }
152
154
  }
153
- else if (state.options.verbose) {
154
- console.log(chalk.yellow(` ⚠ Fetch failed (network?): ${fetchResult.stderr?.trim()}`));
155
+ else if (state.options.verbose) { // already verbose-gated
156
+ state.displayAdapter.log(chalk.yellow(` ⚠ Fetch failed (network?): ${fetchResult.stderr?.trim()}`));
155
157
  }
156
158
  }
157
159
  catch {
@@ -235,12 +237,25 @@ export async function runPreCycleMaintenance(state) {
235
237
  // Non-fatal
236
238
  }
237
239
  }
240
+ // Run pre-scout integrations
241
+ if (state.integrations.providers.length > 0) {
242
+ try {
243
+ const preResults = await runIntegrations(state, state.integrations, 'pre-scout');
244
+ const proposalResults = preResults.filter(r => r.feed === 'proposals');
245
+ if (proposalResults.length > 0) {
246
+ state._pendingIntegrationProposals = proposalResults.flatMap(r => toProposals(r));
247
+ }
248
+ }
249
+ catch {
250
+ // Non-fatal — integrations should never crash the spin loop
251
+ }
252
+ }
238
253
  // Periodic guidelines refresh
239
254
  if (state.guidelinesRefreshInterval > 0 && state.cycleCount > 1 && state.cycleCount % state.guidelinesRefreshInterval === 0) {
240
255
  try {
241
256
  state.guidelines = loadGuidelines(state.repoRoot, state.guidelinesOpts);
242
257
  if (state.guidelines && state.options.verbose) {
243
- console.log(chalk.gray(` Refreshed project guidelines (${state.guidelines.source})`));
258
+ state.displayAdapter.log(chalk.gray(` Refreshed project guidelines (${state.guidelines.source})`));
244
259
  }
245
260
  }
246
261
  catch {
@@ -306,7 +321,7 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
306
321
  }
307
322
  }
308
323
  if (healed.length > 0) {
309
- console.log(chalk.green(` Baseline healed: ${healed.join(', ')} now passing`));
324
+ state.displayAdapter.log(chalk.green(` Baseline healed: ${healed.join(', ')} now passing`));
310
325
  if (state.autoConf.learningsEnabled) {
311
326
  addLearning(state.repoRoot, {
312
327
  text: `Baseline healed in ${scope}: ${healed.join(', ')} now pass after cycle ${state.cycleCount}`.slice(0, 200),
@@ -337,7 +352,8 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
337
352
  }
338
353
  }
339
354
  catch (err) {
340
- console.warn(chalk.gray(` Baseline healing skipped: ${err instanceof Error ? err.message : String(err)}`));
355
+ if (state.options.verbose)
356
+ console.warn(chalk.gray(` Baseline healing skipped: ${err instanceof Error ? err.message : String(err)}`));
341
357
  }
342
358
  }
343
359
  // Meta-learning extraction (aggregate pattern detection)
@@ -352,7 +368,7 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
352
368
  existingLearnings: state.allLearnings,
353
369
  });
354
370
  if (metaInsightsAdded > 0 && state.options.verbose) {
355
- console.log(chalk.gray(` Meta-learnings: ${metaInsightsAdded} process insight(s) extracted`));
371
+ state.displayAdapter.log(chalk.gray(` Meta-learnings: ${metaInsightsAdded} process insight(s) extracted`));
356
372
  }
357
373
  }
358
374
  catch {
@@ -365,13 +381,13 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
365
381
  state.consecutiveLowYieldCycles++;
366
382
  const MAX_LOW_YIELD_CYCLES = state.drillMode ? 5 : 3;
367
383
  if (state.consecutiveLowYieldCycles >= MAX_LOW_YIELD_CYCLES) {
368
- console.log(chalk.yellow(` ${state.consecutiveLowYieldCycles} consecutive low-yield cycles — diminishing returns, stopping`));
384
+ state.displayAdapter.log(chalk.yellow(` ${state.consecutiveLowYieldCycles} consecutive low-yield cycles — diminishing returns, stopping`));
369
385
  state.shutdownRequested = true;
370
386
  if (state.shutdownReason === null)
371
387
  state.shutdownReason = 'low_yield';
372
388
  }
373
389
  else if (state.options.verbose) {
374
- console.log(chalk.gray(` Low-yield cycle (${state.consecutiveLowYieldCycles}/${MAX_LOW_YIELD_CYCLES})`));
390
+ state.displayAdapter.log(chalk.gray(` Low-yield cycle (${state.consecutiveLowYieldCycles}/${MAX_LOW_YIELD_CYCLES})`));
375
391
  }
376
392
  }
377
393
  else if (completedThisCount > 0) {
@@ -389,7 +405,8 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
389
405
  const confValue = state.effectiveMinConfidence;
390
406
  const insightsStr = metaInsightsAdded > 0 ? ` | insights +${metaInsightsAdded}` : '';
391
407
  const baselineStr = baselineFailing > 0 ? ` | baseline failing ${baselineFailing}` : '';
392
- console.log(chalk.gray(` Spin: quality ${qualityPct}% | confidence ${confValue}${baselineStr}${insightsStr}`));
408
+ if (state.options.verbose)
409
+ state.displayAdapter.log(chalk.gray(` Spin: quality ${qualityPct}% | confidence ${confValue}${baselineStr}${insightsStr}`));
393
410
  }
394
411
  // Convergence metrics
395
412
  if (state.cycleCount >= 3 && state.sectorState) {
@@ -413,7 +430,8 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
413
430
  };
414
431
  }
415
432
  const metrics = computeConvergenceMetrics(state.sectorState, state.allLearnings.length, rs.recentCycles ?? [], sessionCtx, drillCtx);
416
- console.log(chalk.gray(` ${formatConvergenceOneLiner(metrics)}`));
433
+ if (state.options.verbose)
434
+ state.displayAdapter.log(chalk.gray(` ${formatConvergenceOneLiner(metrics)}`));
417
435
  if (metrics.suggestedAction === 'stop') {
418
436
  if (state.activeTrajectory && state.activeTrajectoryState) {
419
437
  // Adaptive threshold: use historical completion rate to decide when to abandon
@@ -431,13 +449,13 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
431
449
  const completedSteps = state.activeTrajectory.steps.filter(s => state.activeTrajectoryState.stepStates[s.id]?.status === 'completed').length;
432
450
  const progressPct = totalSteps > 0 ? Math.round((completedSteps / totalSteps) * 100) : 0;
433
451
  if (progressPct < abandonThreshold) {
434
- console.log(chalk.yellow(` Convergence suggests stopping — trajectory "${state.activeTrajectory.name}" only ${progressPct}% complete, skipping it`));
452
+ state.displayAdapter.log(chalk.yellow(` Convergence suggests stopping — trajectory "${state.activeTrajectory.name}" only ${progressPct}% complete, skipping it`));
435
453
  if (state.drillMode) {
436
454
  try {
437
455
  finishDrillTrajectory(state, 'stalled');
438
456
  }
439
457
  catch (err) {
440
- console.log(chalk.yellow(` Drill: failed to record trajectory outcome — ${err instanceof Error ? err.message : String(err)}`));
458
+ state.displayAdapter.log(chalk.yellow(` Drill: failed to record trajectory outcome — ${err instanceof Error ? err.message : String(err)}`));
441
459
  }
442
460
  }
443
461
  state.activeTrajectory = null;
@@ -448,11 +466,11 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
448
466
  state.shutdownReason = 'convergence';
449
467
  }
450
468
  else {
451
- console.log(chalk.gray(` Convergence suggests stopping, but trajectory "${state.activeTrajectory.name}" is ${progressPct}% complete — continuing`));
469
+ state.displayAdapter.log(chalk.gray(` Convergence suggests stopping, but trajectory "${state.activeTrajectory.name}" is ${progressPct}% complete — continuing`));
452
470
  }
453
471
  }
454
472
  else {
455
- console.log(chalk.yellow(` Convergence suggests stopping — most sectors polished, low yield.`));
473
+ state.displayAdapter.log(chalk.yellow(` Convergence suggests stopping — most sectors polished, low yield.`));
456
474
  state.shutdownRequested = true;
457
475
  if (state.shutdownReason === null)
458
476
  state.shutdownReason = 'convergence';
@@ -466,19 +484,19 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
466
484
  // In drill mode with active trajectory, don't widen — stay focused on trajectory scope
467
485
  if (state.drillMode && state.currentTrajectoryStep?.scope) {
468
486
  if (state.options.verbose)
469
- console.log(chalk.gray(` Scope adjustment: drill mode — staying focused on trajectory scope`));
487
+ state.displayAdapter.log(chalk.gray(` Scope adjustment: drill mode — staying focused on trajectory scope`));
470
488
  }
471
489
  else {
472
490
  state.effectiveMinConfidence = state.autoConf.minConfidence ?? 20;
473
491
  if (state.options.verbose)
474
- console.log(chalk.gray(` Scope adjustment: widening (resetting confidence threshold)`));
492
+ state.displayAdapter.log(chalk.gray(` Scope adjustment: widening (resetting confidence threshold)`));
475
493
  }
476
494
  }
477
495
  else if (scopeAdj === 'narrow' && state.drillMode && state.currentTrajectoryStep) {
478
496
  // In drill mode, tighten confidence when trajectory-guided to focus on high-quality proposals
479
497
  state.effectiveMinConfidence += 5;
480
498
  if (state.options.verbose)
481
- console.log(chalk.gray(` Scope adjustment: drill-narrowed (confidence +5)`));
499
+ state.displayAdapter.log(chalk.gray(` Scope adjustment: drill-narrowed (confidence +5)`));
482
500
  }
483
501
  }
484
502
  // Cross-sector pattern learning
@@ -531,12 +549,12 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
531
549
  try {
532
550
  state.codebaseIndex = refreshCodebaseIndex(state.codebaseIndex, state.repoRoot, state.excludeDirs);
533
551
  if (state.options.verbose) {
534
- console.log(chalk.gray(` Codebase index refreshed: ${state.codebaseIndex.modules.length} modules`));
552
+ state.displayAdapter.log(chalk.gray(` Codebase index refreshed: ${state.codebaseIndex.modules.length} modules`));
535
553
  }
536
554
  if (state.sectorState) {
537
555
  state.sectorState = refreshSectors(state.repoRoot, state.sectorState, state.codebaseIndex.modules);
538
556
  if (state.options.verbose) {
539
- console.log(chalk.gray(` Sectors refreshed: ${state.sectorState.sectors.length} sector(s)`));
557
+ state.displayAdapter.log(chalk.gray(` Sectors refreshed: ${state.sectorState.sectors.length} sector(s)`));
540
558
  }
541
559
  }
542
560
  }
@@ -558,7 +576,7 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
558
576
  const arrow = state.activeGoal.measure.direction === 'up'
559
577
  ? (delta > 0 ? chalk.green('↑') : delta < 0 ? chalk.yellow('↓') : '→')
560
578
  : (delta < 0 ? chalk.green('↓') : delta > 0 ? chalk.yellow('↑') : '→');
561
- console.log(chalk.cyan(` 🎯 ${state.activeGoal.name}: ${value} ${arrow} (${deltaSign}${delta.toFixed(1)}) target: ${state.activeGoal.measure.target}`));
579
+ state.displayAdapter.log(chalk.cyan(` 🎯 ${state.activeGoal.name}: ${value} ${arrow} (${deltaSign}${delta.toFixed(1)}) target: ${state.activeGoal.measure.target}`));
562
580
  // Check if goal is now met
563
581
  const { target, direction } = state.activeGoal.measure;
564
582
  const met = direction === 'up' ? value >= target : value <= target;
@@ -566,7 +584,7 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
566
584
  const measurement = { ...state.activeGoalMeasurement, current: value, measuredAt: Date.now(), met };
567
585
  recordGoalMeasurement(state.repoRoot, measurement);
568
586
  if (met) {
569
- console.log(chalk.green(` ✓ Goal "${state.activeGoal.name}" met!`));
587
+ state.displayAdapter.log(chalk.green(` ✓ Goal "${state.activeGoal.name}" met!`));
570
588
  // Re-evaluate all goals and pivot to next
571
589
  const allMeasurements = measureGoals(state.goals, state.repoRoot);
572
590
  for (const m of allMeasurements) {
@@ -576,12 +594,12 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
576
594
  if (next) {
577
595
  state.activeGoal = state.goals.find(g => g.name === next.goalName) ?? null;
578
596
  state.activeGoalMeasurement = next;
579
- console.log(chalk.cyan(` → Pivoting to: ${next.goalName} (gap: ${next.gapPercent}%)`));
597
+ state.displayAdapter.log(chalk.cyan(` → Pivoting to: ${next.goalName} (gap: ${next.gapPercent}%)`));
580
598
  }
581
599
  else {
582
600
  const allMet = allMeasurements.every(m => m.met);
583
601
  if (allMet) {
584
- console.log(chalk.green(` ✓ All goals met!`));
602
+ state.displayAdapter.log(chalk.green(` ✓ All goals met!`));
585
603
  }
586
604
  state.activeGoal = null;
587
605
  state.activeGoalMeasurement = null;
@@ -616,7 +634,7 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
616
634
  }
617
635
  }
618
636
  else {
619
- console.log(chalk.yellow(` ⚠ Goal "${state.activeGoal.name}" re-measurement failed${error ? `: ${error}` : ''}`));
637
+ state.displayAdapter.log(chalk.yellow(` ⚠ Goal "${state.activeGoal.name}" re-measurement failed${error ? `: ${error}` : ''}`));
620
638
  }
621
639
  }
622
640
  // Trajectory cycle budget — abandon if consuming too many cycles.
@@ -630,13 +648,13 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
630
648
  if (totalCyclesUsed >= maxCycles) {
631
649
  const completedSteps = state.activeTrajectory.steps.filter(s => state.activeTrajectoryState.stepStates[s.id]?.status === 'completed').length;
632
650
  const pct = Math.round((completedSteps / state.activeTrajectory.steps.length) * 100);
633
- console.log(chalk.yellow(` Drill: trajectory "${state.activeTrajectory.name}" hit cycle budget (${totalCyclesUsed}/${maxCycles} cycles, ${pct}% complete) — abandoning`));
651
+ state.displayAdapter.log(chalk.yellow(` Drill: trajectory "${state.activeTrajectory.name}" hit cycle budget (${totalCyclesUsed}/${maxCycles} cycles, ${pct}% complete) — abandoning`));
634
652
  saveTrajectoryState(state.repoRoot, state.activeTrajectoryState);
635
653
  try {
636
654
  finishDrillTrajectory(state, 'stalled');
637
655
  }
638
656
  catch (err) {
639
- console.log(chalk.yellow(` Drill: failed to record trajectory outcome — ${err instanceof Error ? err.message : String(err)}`));
657
+ state.displayAdapter.log(chalk.yellow(` Drill: failed to record trajectory outcome — ${err instanceof Error ? err.message : String(err)}`));
640
658
  }
641
659
  state.activeTrajectory = null;
642
660
  state.activeTrajectoryState = null;
@@ -662,18 +680,18 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
662
680
  // Timeout or spawn error
663
681
  allPassed = false;
664
682
  const reason = result.error.message?.includes('TIMEOUT') ? 'timeout (30s)' : result.error.message;
665
- console.log(chalk.yellow(` ✗ ${cmd} (${reason})`));
683
+ state.displayAdapter.log(chalk.yellow(` ✗ ${cmd} (${reason})`));
666
684
  verificationOutputParts.push(`$ ${cmd}\n${reason}`);
667
685
  }
668
686
  else if (result.status !== 0) {
669
687
  allPassed = false;
670
688
  const stderr = (result.stderr || '').trim().slice(0, 500);
671
689
  const stdout = (result.stdout || '').trim().slice(0, 200);
672
- console.log(chalk.yellow(` ✗ ${cmd} (exit ${result.status})`));
690
+ state.displayAdapter.log(chalk.yellow(` ✗ ${cmd} (exit ${result.status})`));
673
691
  if (stderr)
674
- console.log(chalk.gray(` ${stderr.split('\n')[0]}`));
692
+ state.displayAdapter.log(chalk.gray(` ${stderr.split('\n')[0]}`));
675
693
  else if (stdout)
676
- console.log(chalk.gray(` ${stdout.split('\n')[0]}`));
694
+ state.displayAdapter.log(chalk.gray(` ${stdout.split('\n')[0]}`));
677
695
  verificationOutputParts.push(`$ ${cmd} (exit ${result.status})\n${stderr || stdout}`);
678
696
  }
679
697
  }
@@ -689,12 +707,12 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
689
707
  : value <= step.measure.target;
690
708
  stepState.measurement = { value, timestamp: Date.now() };
691
709
  if (!measureMet) {
692
- console.log(chalk.yellow(` measure: ${value} (target: ${arrow} ${step.measure.target})`));
710
+ state.displayAdapter.log(chalk.yellow(` measure: ${value} (target: ${arrow} ${step.measure.target})`));
693
711
  }
694
712
  }
695
713
  else {
696
714
  measureMet = false;
697
- console.log(chalk.yellow(` measure failed${error ? `: ${error}` : ''}`));
715
+ state.displayAdapter.log(chalk.yellow(` measure failed${error ? `: ${error}` : ''}`));
698
716
  }
699
717
  }
700
718
  if (allPassed && measureMet) {
@@ -705,7 +723,7 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
705
723
  stepState.lastVerificationOutput = undefined;
706
724
  const completedCount = state.activeTrajectory.steps.filter(s => state.activeTrajectoryState.stepStates[s.id]?.status === 'completed').length;
707
725
  const totalCount = state.activeTrajectory.steps.length;
708
- console.log(chalk.green(` Trajectory step ${completedCount}/${totalCount} "${step.title}" completed`));
726
+ state.displayAdapter.log(chalk.green(` Trajectory step ${completedCount}/${totalCount} "${step.title}" completed`));
709
727
  // Pick next step
710
728
  const next = getTrajectoryNextStep(state.activeTrajectory, state.activeTrajectoryState.stepStates);
711
729
  state.currentTrajectoryStep = next;
@@ -714,16 +732,16 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
714
732
  if (state.activeTrajectoryState.stepStates[next.id]) {
715
733
  state.activeTrajectoryState.stepStates[next.id].status = 'active';
716
734
  }
717
- console.log(chalk.cyan(` -> Next step: ${next.title}`));
735
+ state.displayAdapter.log(chalk.cyan(` -> Next step: ${next.title}`));
718
736
  }
719
737
  else if (trajectoryComplete(state.activeTrajectory, state.activeTrajectoryState.stepStates)) {
720
738
  const fullySucceeded = trajectoryFullySucceeded(state.activeTrajectory, state.activeTrajectoryState.stepStates);
721
739
  const outcome = fullySucceeded ? 'completed' : 'stalled';
722
740
  if (fullySucceeded) {
723
- console.log(chalk.green(` Trajectory "${state.activeTrajectory.name}" complete!`));
741
+ state.displayAdapter.log(chalk.green(` Trajectory "${state.activeTrajectory.name}" complete!`));
724
742
  }
725
743
  else {
726
- console.log(chalk.yellow(` Trajectory "${state.activeTrajectory.name}" finished with some failed steps`));
744
+ state.displayAdapter.log(chalk.yellow(` Trajectory "${state.activeTrajectory.name}" finished with some failed steps`));
727
745
  }
728
746
  // Save final state before clearing (so completed status persists on disk)
729
747
  saveTrajectoryState(state.repoRoot, state.activeTrajectoryState);
@@ -732,7 +750,7 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
732
750
  finishDrillTrajectory(state, outcome);
733
751
  }
734
752
  catch (err) {
735
- console.log(chalk.yellow(` Drill: failed to record trajectory outcome — ${err instanceof Error ? err.message : String(err)}`));
753
+ state.displayAdapter.log(chalk.yellow(` Drill: failed to record trajectory outcome — ${err instanceof Error ? err.message : String(err)}`));
736
754
  }
737
755
  }
738
756
  state.activeTrajectory = null;
@@ -742,14 +760,14 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
742
760
  else {
743
761
  // No next step available but trajectory isn't complete — shouldn't happen now
744
762
  // (failed deps unblock dependents), but handle as fallback
745
- console.log(chalk.yellow(` Trajectory "${state.activeTrajectory.name}" stalled (remaining steps blocked)`));
763
+ state.displayAdapter.log(chalk.yellow(` Trajectory "${state.activeTrajectory.name}" stalled (remaining steps blocked)`));
746
764
  saveTrajectoryState(state.repoRoot, state.activeTrajectoryState);
747
765
  if (state.drillMode) {
748
766
  try {
749
767
  finishDrillTrajectory(state, 'stalled');
750
768
  }
751
769
  catch (err) {
752
- console.log(chalk.yellow(` Drill: failed to record trajectory outcome — ${err instanceof Error ? err.message : String(err)}`));
770
+ state.displayAdapter.log(chalk.yellow(` Drill: failed to record trajectory outcome — ${err instanceof Error ? err.message : String(err)}`));
753
771
  }
754
772
  }
755
773
  state.activeTrajectory = null;
@@ -776,7 +794,7 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
776
794
  const stuckStep = state.activeTrajectory.steps.find(s => s.id === stuckId);
777
795
  const stuckTitle = stuckStep?.title ?? stuckId;
778
796
  const stuckAttempts = stuckStepState?.cyclesAttempted ?? stepState.cyclesAttempted;
779
- console.log(chalk.yellow(` Trajectory step "${stuckTitle}" stuck after ${stuckAttempts} cycles`));
797
+ state.displayAdapter.log(chalk.yellow(` Trajectory step "${stuckTitle}" stuck after ${stuckAttempts} cycles`));
780
798
  if (stuckStepState) {
781
799
  stuckStepState.status = 'failed';
782
800
  stuckStepState.failureReason = 'max retries exceeded';
@@ -789,18 +807,18 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
789
807
  if (state.activeTrajectoryState.stepStates[next.id]) {
790
808
  state.activeTrajectoryState.stepStates[next.id].status = 'active';
791
809
  }
792
- console.log(chalk.cyan(` -> Skipping to next step: ${next.title}`));
810
+ state.displayAdapter.log(chalk.cyan(` -> Skipping to next step: ${next.title}`));
793
811
  }
794
812
  else {
795
813
  // No more steps — trajectory is done (all remaining steps failed or completed)
796
- console.log(chalk.yellow(` Trajectory "${state.activeTrajectory.name}" ended (no remaining steps)`));
814
+ state.displayAdapter.log(chalk.yellow(` Trajectory "${state.activeTrajectory.name}" ended (no remaining steps)`));
797
815
  saveTrajectoryState(state.repoRoot, state.activeTrajectoryState);
798
816
  if (state.drillMode) {
799
817
  try {
800
818
  finishDrillTrajectory(state, 'stalled');
801
819
  }
802
820
  catch (err) {
803
- console.log(chalk.yellow(` Drill: failed to record trajectory outcome — ${err instanceof Error ? err.message : String(err)}`));
821
+ state.displayAdapter.log(chalk.yellow(` Drill: failed to record trajectory outcome — ${err instanceof Error ? err.message : String(err)}`));
804
822
  }
805
823
  }
806
824
  state.activeTrajectory = null;
@@ -814,10 +832,19 @@ export async function runPostCycleMaintenance(state, scope, isDocsAuditCycle) {
814
832
  }
815
833
  }
816
834
  }
835
+ // Run post-cycle integrations
836
+ if (state.integrations.providers.length > 0) {
837
+ try {
838
+ await runIntegrations(state, state.integrations, 'post-cycle');
839
+ }
840
+ catch {
841
+ // Non-fatal
842
+ }
843
+ }
817
844
  // Pause between cycles — shorter when trajectory-guided (work is pre-planned)
818
845
  if (state.runMode === 'spin' && !state.shutdownRequested) {
819
846
  const pauseMs = state.currentTrajectoryStep ? 1000 : 5000;
820
- console.log(chalk.gray('Pausing before next cycle...'));
847
+ state.displayAdapter.log(chalk.gray('Pausing before next cycle...'));
821
848
  await sleep(pauseMs);
822
849
  }
823
850
  }
@@ -903,8 +930,9 @@ function finishDrillTrajectory(state, outcome) {
903
930
  }
904
931
  }
905
932
  const rate = stepsTotal > 0 ? Math.round((stepsCompleted / stepsTotal) * 100) : 0;
906
- console.log(chalk.cyan(` Drill: trajectory ${outcome} (${stepsCompleted}/${stepsTotal} steps, ${rate}% completion)`));
907
- console.log(chalk.cyan(' Drill: will survey for next trajectory on next cycle'));
933
+ state.displayAdapter.log(chalk.cyan(` Drill: trajectory ${outcome} (${stepsCompleted}/${stepsTotal} steps, ${rate}% completion)`));
934
+ if (state.options.verbose)
935
+ state.displayAdapter.log(chalk.cyan(' Drill: will survey for next trajectory on next cycle'));
908
936
  // Notify display adapter that trajectory finished (back to idle)
909
937
  state.displayAdapter.drillStateChanged({ active: true });
910
938
  // Reload learnings immediately so next trajectory generation has fresh context