@claude-flow/cli 3.7.0-alpha.3 → 3.7.0-alpha.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.
@@ -67,6 +67,84 @@ export const COMPLEXITY_INDICATORS = {
67
67
  'delete', 'documentation', 'readme', 'config', 'version', 'bump',
68
68
  ],
69
69
  };
70
+ /**
71
+ * Cost-adjusted Bernoulli rewards for Thompson sampling updates. Higher
72
+ * reward when the right tier is chosen — Haiku-success > Sonnet-success >
73
+ * Opus-success because Opus-success on a simple task is wasteful even when
74
+ * the answer is correct. Escalations get partial credit at best (Sonnet) or
75
+ * zero (Haiku/Opus) since they signal the initial choice was wrong.
76
+ */
77
+ const BANDIT_REWARDS = {
78
+ haiku: { success: 1.0, failure: 0.0, escalated: 0.0 },
79
+ sonnet: { success: 0.7, failure: 0.0, escalated: 0.1 },
80
+ opus: { success: 0.4, failure: 0.0, escalated: 0.0 },
81
+ inherit: { success: 0.5, failure: 0.0, escalated: 0.0 },
82
+ };
83
+ // ============================================================================
84
+ // Beta Sampling for Thompson Sampling Bandit
85
+ // ============================================================================
86
+ /**
87
+ * Standard normal sample via Box-Muller. Used by Marsaglia-Tsang Gamma.
88
+ * Module-local so the bandit doesn't pull in a heavy stats dep.
89
+ */
90
+ function sampleStandardNormal() {
91
+ const u1 = Math.random() || 1e-12; // avoid log(0)
92
+ const u2 = Math.random();
93
+ return Math.sqrt(-2 * Math.log(u1)) * Math.cos(2 * Math.PI * u2);
94
+ }
95
+ /**
96
+ * Sample from Gamma(shape α, scale=1). Marsaglia & Tsang (2000), with the
97
+ * standard "boost α<1 by α+1 then scale by U^(1/α)" trick for shape parameters
98
+ * smaller than 1. O(1) expected, no rejection-loop pathology in practice.
99
+ */
100
+ function sampleGamma(alpha) {
101
+ if (alpha < 1) {
102
+ const u = Math.random() || 1e-12;
103
+ return sampleGamma(alpha + 1) * Math.pow(u, 1 / alpha);
104
+ }
105
+ const d = alpha - 1 / 3;
106
+ const c = 1 / Math.sqrt(9 * d);
107
+ while (true) {
108
+ let x;
109
+ let v;
110
+ do {
111
+ x = sampleStandardNormal();
112
+ v = 1 + c * x;
113
+ } while (v <= 0);
114
+ v = v * v * v;
115
+ const u = Math.random();
116
+ const xx = x * x;
117
+ if (u < 1 - 0.0331 * xx * xx)
118
+ return d * v;
119
+ if (Math.log(u) < 0.5 * xx + d * (1 - v + Math.log(v)))
120
+ return d * v;
121
+ }
122
+ }
123
+ /**
124
+ * Sample θ ~ Beta(α, β) via the identity Beta(α,β) = X / (X+Y) where
125
+ * X ~ Gamma(α), Y ~ Gamma(β). Returns the mean for degenerate α+β=0
126
+ * (shouldn't happen in practice but defensive).
127
+ */
128
+ function sampleBeta(alpha, beta) {
129
+ if (alpha <= 0 || beta <= 0)
130
+ return 0.5;
131
+ const x = sampleGamma(alpha);
132
+ const y = sampleGamma(beta);
133
+ const denom = x + y;
134
+ return denom > 0 ? x / denom : 0.5;
135
+ }
136
+ /**
137
+ * Default uniform priors (no prior knowledge). Beta(1,1) is the standard
138
+ * Bayesian-Bernoulli starting point — uniform over [0,1].
139
+ */
140
+ function defaultBanditPriors() {
141
+ return {
142
+ haiku: { alpha: 1, beta: 1 },
143
+ sonnet: { alpha: 1, beta: 1 },
144
+ opus: { alpha: 1, beta: 1 },
145
+ inherit: { alpha: 1, beta: 1 },
146
+ };
147
+ }
70
148
  // ============================================================================
71
149
  // Default Configuration
72
150
  // ============================================================================
@@ -263,15 +341,29 @@ export class ModelRouter {
263
341
  return adjusted;
264
342
  }
265
343
  /**
266
- * Select the best model from scores
344
+ * Select the best model from scores. Uses Thompson sampling (#1772):
345
+ * each model's deterministic complexity score is multiplied by a draw
346
+ * θ_m ~ Beta(α_m, β_m) from its bandit prior. Models with strong empirical
347
+ * track records get sampled higher; models with poor outcomes get sampled
348
+ * lower; the system auto-corrects against tier overuse without manual
349
+ * threshold tuning. Beta(1,1) = uniform on cold start so behavior matches
350
+ * the prior deterministic router until outcomes accumulate.
267
351
  */
268
352
  selectModel(scores, complexityScore) {
269
- // Get sorted models by score
270
- const sorted = Object.entries(scores)
353
+ // Thompson sampling: combine deterministic score with bandit posterior
354
+ const priors = this.state.priors ?? defaultBanditPriors();
355
+ const sampledScores = {
356
+ haiku: scores.haiku * sampleBeta(priors.haiku.alpha, priors.haiku.beta),
357
+ sonnet: scores.sonnet * sampleBeta(priors.sonnet.alpha, priors.sonnet.beta),
358
+ opus: scores.opus * sampleBeta(priors.opus.alpha, priors.opus.beta),
359
+ inherit: scores.inherit, // not bandit-controlled
360
+ };
361
+ // Get sorted models by sampled score (drops 'inherit' from selection)
362
+ const sorted = Object.entries(sampledScores)
271
363
  .filter(([m]) => m !== 'inherit')
272
364
  .sort((a, b) => b[1] - a[1]);
273
365
  const [bestModel, bestScore] = sorted[0];
274
- const [secondModel, secondScore] = sorted[1] || ['sonnet', 0];
366
+ const [, secondScore] = sorted[1] || ['sonnet', 0];
275
367
  // Confidence is how much better the best is vs second
276
368
  const confidence = bestScore > 0 ? Math.min(1, bestScore / (bestScore + secondScore + 0.01)) : 0.5;
277
369
  // Uncertainty based on score spread and complexity
@@ -346,6 +438,14 @@ export class ModelRouter {
346
438
  if (outcome === 'failure') {
347
439
  this.state.circuitBreakerTrips++;
348
440
  }
441
+ // Thompson sampling update (#1772): cost-adjusted Bernoulli reward.
442
+ // Haiku-success > Sonnet-success > Opus-success (Opus on simple tasks
443
+ // is wasteful even when correct). Failure/escalation always β++.
444
+ if (!this.state.priors)
445
+ this.state.priors = defaultBanditPriors();
446
+ const reward = BANDIT_REWARDS[model]?.[outcome] ?? 0.5;
447
+ this.state.priors[model].alpha += reward;
448
+ this.state.priors[model].beta += 1 - reward;
349
449
  this.saveState();
350
450
  }
351
451
  /**
@@ -373,12 +473,17 @@ export class ModelRouter {
373
473
  circuitBreakerTrips: 0,
374
474
  lastUpdated: new Date().toISOString(),
375
475
  learningHistory: [],
476
+ priors: defaultBanditPriors(),
376
477
  };
377
478
  try {
378
479
  const fullPath = join(process.cwd(), this.config.statePath);
379
480
  if (existsSync(fullPath)) {
380
481
  const data = readFileSync(fullPath, 'utf-8');
381
- return { ...defaultState, ...JSON.parse(data) };
482
+ const loaded = JSON.parse(data);
483
+ // Backfill priors for state files written by pre-bandit cli versions.
484
+ if (!loaded.priors)
485
+ loaded.priors = defaultBanditPriors();
486
+ return { ...defaultState, ...loaded };
382
487
  }
383
488
  }
384
489
  catch {
@@ -415,11 +520,26 @@ export class ModelRouter {
415
520
  circuitBreakerTrips: 0,
416
521
  lastUpdated: new Date().toISOString(),
417
522
  learningHistory: [],
523
+ priors: defaultBanditPriors(),
418
524
  };
419
525
  this.consecutiveFailures = { haiku: 0, sonnet: 0, opus: 0, inherit: 0 };
420
526
  this.decisionCount = 0;
421
527
  this.saveState();
422
528
  }
529
+ /**
530
+ * Public read-only accessor for the bandit priors. Useful for tests,
531
+ * dashboards, and the pending hooks_intelligence_stats integration that
532
+ * surfaces convergence in the dashboard. Returns a copy.
533
+ */
534
+ getBanditPriors() {
535
+ const p = this.state.priors ?? defaultBanditPriors();
536
+ return {
537
+ haiku: { ...p.haiku },
538
+ sonnet: { ...p.sonnet },
539
+ opus: { ...p.opus },
540
+ inherit: { ...p.inherit },
541
+ };
542
+ }
423
543
  }
424
544
  // ============================================================================
425
545
  // Singleton & Factory Functions
@@ -1 +1 @@
1
- {"version":3,"file":"model-router.js","sourceRoot":"","sources":["../../../src/ruvector/model-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-router.js","sourceRoot":"","sources":["../../../src/ruvector/model-router.ts"],"names":[],"mappings":"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"}