darwin-agents 0.6.0-alpha.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/README.md +43 -1
  3. package/dist/src/cli/run.js +1 -1
  4. package/dist/src/cli/run.js.map +1 -1
  5. package/dist/src/evolution/alignment.d.ts +44 -0
  6. package/dist/src/evolution/alignment.d.ts.map +1 -1
  7. package/dist/src/evolution/alignment.js +124 -0
  8. package/dist/src/evolution/alignment.js.map +1 -1
  9. package/dist/src/evolution/loop.d.ts +56 -0
  10. package/dist/src/evolution/loop.d.ts.map +1 -1
  11. package/dist/src/evolution/loop.js +168 -16
  12. package/dist/src/evolution/loop.js.map +1 -1
  13. package/dist/src/evolution/multi-critic.d.ts +30 -1
  14. package/dist/src/evolution/multi-critic.d.ts.map +1 -1
  15. package/dist/src/evolution/multi-critic.js +57 -2
  16. package/dist/src/evolution/multi-critic.js.map +1 -1
  17. package/dist/src/evolution/optimizer-gepa.d.ts +47 -4
  18. package/dist/src/evolution/optimizer-gepa.d.ts.map +1 -1
  19. package/dist/src/evolution/optimizer-gepa.js +44 -5
  20. package/dist/src/evolution/optimizer-gepa.js.map +1 -1
  21. package/dist/src/evolution/pareto.d.ts +98 -3
  22. package/dist/src/evolution/pareto.d.ts.map +1 -1
  23. package/dist/src/evolution/pareto.js +193 -30
  24. package/dist/src/evolution/pareto.js.map +1 -1
  25. package/dist/src/evolution/safety.d.ts +35 -1
  26. package/dist/src/evolution/safety.d.ts.map +1 -1
  27. package/dist/src/evolution/safety.js +56 -2
  28. package/dist/src/evolution/safety.js.map +1 -1
  29. package/dist/src/evolution/sequential.d.ts +149 -0
  30. package/dist/src/evolution/sequential.d.ts.map +1 -0
  31. package/dist/src/evolution/sequential.js +239 -0
  32. package/dist/src/evolution/sequential.js.map +1 -0
  33. package/dist/src/evolution/tracker.d.ts +12 -0
  34. package/dist/src/evolution/tracker.d.ts.map +1 -1
  35. package/dist/src/evolution/tracker.js +24 -0
  36. package/dist/src/evolution/tracker.js.map +1 -1
  37. package/dist/src/index.d.ts +5 -3
  38. package/dist/src/index.d.ts.map +1 -1
  39. package/dist/src/index.js +10 -3
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/types.d.ts +84 -0
  42. package/dist/src/types.d.ts.map +1 -1
  43. package/dist/src/types.js.map +1 -1
  44. package/package.json +1 -1
@@ -10,8 +10,9 @@
10
10
  * This is the brain of Darwin's self-evolution.
11
11
  */
12
12
  import { notifyABTestComplete, notifyEvolutionStarted, notifyRollback } from './notifications.js';
13
- import { checkAlignmentPreservation } from './alignment.js';
14
- import { dominates, DARWIN_DEFAULT_OBJECTIVES } from './pareto.js';
13
+ import { epochShuffledMinibatch } from './optimizer-gepa.js';
14
+ import { checkAlignmentPreservation, checkAlignmentPreservationSemantic } from './alignment.js';
15
+ import { dominatesEpsilon, paretoSelect, DARWIN_DEFAULT_OBJECTIVES } from './pareto.js';
15
16
  // ─── Validation Constants ─────────────────────────────
16
17
  /** Default minimum output length (overridden by agent.evolution.minOutputLength) */
17
18
  const DEFAULT_MIN_VALID_OUTPUT = 2000;
@@ -27,6 +28,8 @@ export class DarwinLoop {
27
28
  agent;
28
29
  notifications;
29
30
  gepa;
31
+ embed;
32
+ alignmentSimilarityThreshold;
30
33
  constructor(deps) {
31
34
  this.memory = deps.memory;
32
35
  this.tracker = deps.tracker;
@@ -36,6 +39,8 @@ export class DarwinLoop {
36
39
  this.agent = deps.agent;
37
40
  this.notifications = deps.notifications ?? {};
38
41
  this.gepa = deps.gepa;
42
+ this.embed = deps.embed;
43
+ this.alignmentSimilarityThreshold = deps.alignmentSimilarityThreshold;
39
44
  }
40
45
  /**
41
46
  * Called AFTER every agent run. Drives the evolution cycle.
@@ -173,7 +178,8 @@ export class DarwinLoop {
173
178
  const catStats = await this.tracker.getStatsByCategory(agent);
174
179
  // Extract recent critic feedback reports for the optimizer.
175
180
  // The optimizer previously only saw aggregated stats but not WHY runs scored poorly.
176
- const recentFeedback = await this.getRecentFeedback(agent, 5);
181
+ // v0.7.0: feedback window is configurable (default 15, was hard-coded 5).
182
+ const recentFeedback = await this.getRecentFeedback(agent, this.feedbackWindow());
177
183
  // ── Variant generation: GEPA reflective path (opt-in) or legacy ──
178
184
  // v0.6.0: when `evolution.useGepa` is on AND a GepaOptimizer is wired in,
179
185
  // generate the challenger via the reflector (rich text feedback →
@@ -184,9 +190,15 @@ export class DarwinLoop {
184
190
  let newPromptText = null;
185
191
  let generatedBy = 'legacy';
186
192
  if (this.agent?.evolution?.useGepa === true && this.gepa) {
187
- newPromptText = await this.generateVariantGepa(agent, activePrompt.promptText);
188
- if (newPromptText !== null) {
189
- generatedBy = 'gepa';
193
+ // Epoch = the integer of the active prompt version (v1→1, v12→12). It
194
+ // advances by one each evolution cycle, so the epoch-shuffled minibatch
195
+ // rotates which feedback subset the reflector sees per cycle, and the
196
+ // merge cadence fires every mergeEveryK-th cycle.
197
+ const epoch = this.versionInt(activePrompt.version);
198
+ const gen = await this.generateVariantGepa(agent, activePrompt.promptText, epoch);
199
+ if (gen !== null) {
200
+ newPromptText = gen.prompt;
201
+ generatedBy = gen.via;
190
202
  }
191
203
  }
192
204
  if (newPromptText === null) {
@@ -264,8 +276,20 @@ export class DarwinLoop {
264
276
  const agentWeights = this.agent?.evolution?.metrics;
265
277
  const compositeA = await this.tracker.getAverageComposite(agentName, currentTest.versionA, agentWeights, currentTest.startedAt);
266
278
  const compositeB = await this.tracker.getAverageComposite(agentName, currentTest.versionB, agentWeights, currentTest.startedAt);
279
+ // v0.7.0 — When the peeking guard runs a sequential test (mSPRT /
280
+ // Hoeffding), it needs the RAW per-arm composite samples (and thus their
281
+ // variance), not just the means. Load them only when that method is
282
+ // configured — the default effect-size guard needs no extra data.
283
+ let abSamples;
284
+ if (this.safety.usesSequentialConfidence()) {
285
+ const [samplesA, samplesB] = await Promise.all([
286
+ this.tracker.getCompositeScores(agentName, currentTest.versionA, agentWeights, currentTest.startedAt),
287
+ this.tracker.getCompositeScores(agentName, currentTest.versionB, agentWeights, currentTest.startedAt),
288
+ ]);
289
+ abSamples = { a: samplesA, b: samplesB };
290
+ }
267
291
  // Evaluate the test (including reliability from failure counts)
268
- const outcome = this.safety.evaluateABTest(compositeA, compositeB, currentTest.runsA, currentTest.runsB, currentTest.failsA ?? 0, currentTest.failsB ?? 0, currentTest.minRuns);
292
+ const outcome = this.safety.evaluateABTest(compositeA, compositeB, currentTest.runsA, currentTest.runsB, currentTest.failsA ?? 0, currentTest.failsB ?? 0, currentTest.minRuns, abSamples);
269
293
  if (outcome === 'continue') {
270
294
  return { completed: false, message: 'A/B test continues.' };
271
295
  }
@@ -299,7 +323,10 @@ export class DarwinLoop {
299
323
  // `dominates` short-circuits to false on a missing key and we would
300
324
  // reject every challenger for lack of data. Skip the gate instead.
301
325
  if (Object.keys(metricsA).length > 0 && Object.keys(metricsB).length > 0) {
302
- const bDominatesA = dominates(metricsB, metricsA, DARWIN_DEFAULT_OBJECTIVES);
326
+ // v0.7.0 ε-relaxed Pareto dominance. With `paretoEpsilon` unset (0)
327
+ // this is byte-for-byte the strict v0.6.0 gate; a positive epsilon
328
+ // lets B win despite a marginal (≤ε) regression on some objective.
329
+ const bDominatesA = dominatesEpsilon(metricsB, metricsA, DARWIN_DEFAULT_OBJECTIVES, this.agent?.evolution?.paretoEpsilon ?? 0);
303
330
  if (!bDominatesA) {
304
331
  // Challenger won the scalar composite but is not a strict Pareto
305
332
  // improvement (it regressed on at least one objective) → keep A.
@@ -375,6 +402,25 @@ export class DarwinLoop {
375
402
  }
376
403
  }
377
404
  }
405
+ /**
406
+ * v0.7.0 — Configurable feedback window (default 15, was a hard-coded 5).
407
+ * A larger window gives both the legacy optimizer and the GEPA reflector
408
+ * more of the recent behaviour to learn from. Clamped to ≥ 1.
409
+ */
410
+ feedbackWindow() {
411
+ const w = this.agent?.evolution?.feedbackWindow;
412
+ if (typeof w === 'number' && Number.isFinite(w) && w >= 1)
413
+ return Math.floor(w);
414
+ return 15;
415
+ }
416
+ /**
417
+ * v0.7.0 — Parse the integer out of a "vN" version string for use as the
418
+ * epoch-shuffled-minibatch epoch. "v1"→1, "v12"→12; non-parsable→0.
419
+ */
420
+ versionInt(version) {
421
+ const m = /(\d+)/.exec(version ?? '');
422
+ return m ? parseInt(m[1], 10) : 0;
423
+ }
378
424
  /**
379
425
  * Extract recent critic feedback reports from experiments.
380
426
  *
@@ -413,11 +459,42 @@ export class DarwinLoop {
413
459
  * - the reflector throws or returns an empty mutation, or
414
460
  * - the mutation fails the alignment guard.
415
461
  */
416
- async generateVariantGepa(agentName, currentPrompt) {
462
+ async generateVariantGepa(agentName, currentPrompt, epoch = 0) {
417
463
  if (!this.gepa) {
418
464
  return null;
419
465
  }
420
- const feedbacks = await this.getReflectiveFeedback(agentName, 5);
466
+ // v0.7.0: on every mergeEveryK-th cycle, try a GEPA system-aware MERGE of
467
+ // the two best Pareto-front versions in this agent's history instead of a
468
+ // reflective mutation (paper Appendix-D, ~+5% lift). Falls through to the
469
+ // reflective path when there aren't two scored parents or the merge errors.
470
+ // `epoch > 0` skips the cold-start cycle (epoch 0 = unparseable/initial
471
+ // version, where there is never a merge pool yet) so the modulo gate is
472
+ // correct-by-design rather than relying on tryMergeVariant's no-op.
473
+ if (this.agent?.evolution?.useMerge === true &&
474
+ epoch > 0 &&
475
+ epoch % this.mergeEveryK() === 0) {
476
+ const merged = await this.tryMergeVariant(agentName);
477
+ if (merged !== null) {
478
+ const guarded = await this.runAlignmentGuard(currentPrompt, merged);
479
+ if (guarded !== null) {
480
+ return { prompt: guarded, via: 'merge' };
481
+ }
482
+ // Merge produced a prompt that eroded a safety constraint — reject it
483
+ // and fall through to the reflective path. Emit a breadcrumb (mirrors
484
+ // the reflector-error log, v0.6.0 Finding F6) so a consistently
485
+ // alignment-failing merge is visible instead of silently degrading.
486
+ console.warn(`[darwin] GEPA merge for "${agentName}" failed the alignment guard, falling through to reflective.`);
487
+ }
488
+ }
489
+ // v0.7.0: pull the configurable feedback window (default 15, was 5).
490
+ let feedbacks = await this.getReflectiveFeedback(agentName, this.feedbackWindow());
491
+ // v0.7.0: optional epoch-shuffled minibatch — reflect on a focused, rotating
492
+ // subset of the window so the reflection prompt stays tight while still
493
+ // covering all recent feedback across cycles.
494
+ const minibatchSize = this.agent?.evolution?.reflectionMinibatchSize;
495
+ if (typeof minibatchSize === 'number' && minibatchSize > 0 && feedbacks.length > minibatchSize) {
496
+ feedbacks = epochShuffledMinibatch(feedbacks, minibatchSize, epoch);
497
+ }
421
498
  if (feedbacks.length === 0) {
422
499
  // Cold start: no critic feedback to reflect on. Let the legacy
423
500
  // meta-prompt optimizer (which works from aggregate stats + patterns)
@@ -444,14 +521,89 @@ export class DarwinLoop {
444
521
  if (mutated.length === 0) {
445
522
  return null;
446
523
  }
447
- // Shared alignment guard (v0.6.0): the GEPA path runs the IDENTICAL
448
- // safety-keyword preservation check as PromptOptimizer.generateVariant.
449
- // A mutation that drops "never" / "do not" / "must not" / … is rejected.
450
- const alignmentIssue = checkAlignmentPreservation(currentPrompt, mutated);
451
- if (alignmentIssue) {
524
+ const guarded = await this.runAlignmentGuard(currentPrompt, mutated);
525
+ return guarded === null ? null : { prompt: guarded, via: 'gepa' };
526
+ }
527
+ /**
528
+ * v0.7.0 — Shared alignment guard for every GEPA-path mutation (reflective
529
+ * OR merge). Returns the candidate unchanged when it preserves the safety
530
+ * keywords, or `null` when it erodes one (→ caller rejects / falls back).
531
+ *
532
+ * Uses the semantic (embedding-distance) guard when an embedder is injected
533
+ * — a REWORDED safety constraint is accepted — and the strict keyword guard
534
+ * otherwise. Fail-closed: no embedder ⇒ keyword-only.
535
+ */
536
+ async runAlignmentGuard(currentPrompt, candidate) {
537
+ const issue = this.embed
538
+ ? await checkAlignmentPreservationSemantic(currentPrompt, candidate, {
539
+ embed: this.embed,
540
+ minSafetySimilarity: this.alignmentSimilarityThreshold,
541
+ })
542
+ : checkAlignmentPreservation(currentPrompt, candidate);
543
+ return issue === null ? candidate : null;
544
+ }
545
+ /**
546
+ * v0.7.0 — Merge cadence (every K-th cycle). Default 3, clamped ≥ 1.
547
+ */
548
+ mergeEveryK() {
549
+ const k = this.agent?.evolution?.mergeEveryK;
550
+ if (typeof k === 'number' && Number.isFinite(k) && k >= 1)
551
+ return Math.floor(k);
552
+ return 3;
553
+ }
554
+ /**
555
+ * v0.7.0 — GEPA system-aware MERGE (paper Appendix-D). Builds scored
556
+ * variants from this agent's prompt-version history (each version's prompt
557
+ * text + its averaged objective vector), takes the two best Pareto-front
558
+ * members, and asks the {@link GepaOptimizer} to combine their complementary
559
+ * strengths into one challenger prompt.
560
+ *
561
+ * Returns the merged prompt, or `null` (→ caller falls back to reflective)
562
+ * when: no optimizer is wired, fewer than two versions carry metric data,
563
+ * the Pareto front has fewer than two members, or the merge call throws.
564
+ * The returned prompt has NOT yet passed the alignment guard — the caller
565
+ * runs {@link runAlignmentGuard} on it.
566
+ */
567
+ async tryMergeVariant(agentName) {
568
+ if (!this.gepa)
569
+ return null;
570
+ const versions = await this.memory.getAllPromptVersions(agentName);
571
+ const scored = [];
572
+ // One getAverageMetrics (→ loadExperiments) call per version. O(N) backend
573
+ // round-trips, but N is the agent's prompt-version count (≤ ~20 in
574
+ // practice) and this only runs on the merge cadence, so it is cheap — same
575
+ // pattern handleABTest already uses for the Pareto gate.
576
+ for (const v of versions) {
577
+ if (!v.promptText)
578
+ continue;
579
+ const metrics = await this.tracker.getAverageMetrics(agentName, v.version);
580
+ if (Object.keys(metrics).length === 0)
581
+ continue; // no runs for this version
582
+ scored.push({ id: v.version, prompt: v.promptText, metrics });
583
+ }
584
+ if (scored.length < 2)
585
+ return null; // need two parents to merge
586
+ // Two best Pareto-front members (distinct versions, scalarised tie-break).
587
+ const metricsArr = scored.map((s) => s.metrics);
588
+ const frontMetrics = paretoSelect(metricsArr, DARWIN_DEFAULT_OBJECTIVES, 2);
589
+ if (frontMetrics.length < 2)
590
+ return null; // single dominant version → nothing to merge
591
+ const indexOf = new Map();
592
+ metricsArr.forEach((m, i) => indexOf.set(m, i));
593
+ const parents = frontMetrics
594
+ .map((m) => scored[indexOf.get(m)])
595
+ .filter((s) => s !== undefined);
596
+ if (parents.length < 2 || parents[0].id === parents[1].id)
597
+ return null;
598
+ try {
599
+ const merged = await this.gepa.merge([parents[0], parents[1]]);
600
+ return merged.prompt.length > 0 ? merged.prompt : null;
601
+ }
602
+ catch (err) {
603
+ const reason = err instanceof Error ? err.message : String(err);
604
+ console.warn(`[darwin] GEPA merge failed for "${agentName}", falling back to reflective: ${reason}`);
452
605
  return null;
453
606
  }
454
- return mutated;
455
607
  }
456
608
  /**
457
609
  * v0.6.0 — Build GEPA {@link ReflectiveFeedback} from the most recent
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../../src/evolution/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../../src/evolution/loop.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,35 @@ export interface MultiCriticResult {
38
38
  }
39
39
  /** Function that runs a critic and returns its output */
40
40
  export type RunCriticFn = (systemPrompt: string, task: string, criticName: string) => Promise<string>;
41
+ /** Options for {@link runMultiCritic} (v0.7.0). */
42
+ export interface RunMultiCriticOptions {
43
+ /**
44
+ * v0.7.0 — Strip markdown from the agent output BEFORE handing it to the
45
+ * critics, so they score CONTENT, not FORMAT.
46
+ *
47
+ * Why: LLM-as-judge research consistently documents a FORMAT/STYLE bias —
48
+ * judges tend to prefer well-formatted (markdown) answers over identical
49
+ * plain prose. When evolving prompts produce outputs in different formats,
50
+ * an un-normalised judge measures formatting, not quality, and the optimizer
51
+ * drifts toward "add more bold/headers" instead of "be more correct".
52
+ * Normalising both candidates' outputs the same way removes that confound.
53
+ * (Position bias, by contrast, is reported to be negligible on current
54
+ * frontier judge models, so this normalises format only — not order.)
55
+ *
56
+ * Off by default (byte-for-byte v0.6.0 behaviour). Turn ON for agents whose
57
+ * deliverable is prose; leave OFF when the format itself is the deliverable
58
+ * (e.g. an agent that must "produce a markdown table").
59
+ */
60
+ normalizeForJudging?: boolean;
61
+ }
62
+ /**
63
+ * v0.7.0 — Strip markdown formatting to plain prose for style-bias-free
64
+ * judging. Preserves the words and line structure; removes only formatting
65
+ * tokens (headers, bold/italic, code fences + inline code, links→text,
66
+ * images→alt, list bullets, blockquotes, table pipes, horizontal rules,
67
+ * strikethrough). Pure, deterministic.
68
+ */
69
+ export declare function stripMarkdownForJudging(text: string): string;
41
70
  /**
42
71
  * Get the right critic prompts for an agent.
43
72
  * Falls back to investigator prompts for unknown agents (backward-compatible).
@@ -54,5 +83,5 @@ export declare const CRITIC_PROMPTS: CriticPromptDef[];
54
83
  * @param runCritic - Function to run a critic (injected, uses Claude CLI)
55
84
  * @param agentName - Name of the agent being evaluated (determines which critic set to use)
56
85
  */
57
- export declare function runMultiCritic(agentOutput: string, task: string, runCritic: RunCriticFn, agentName?: string): Promise<MultiCriticResult>;
86
+ export declare function runMultiCritic(agentOutput: string, task: string, runCritic: RunCriticFn, agentName?: string, options?: RunMultiCriticOptions): Promise<MultiCriticResult>;
58
87
  //# sourceMappingURL=multi-critic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multi-critic.d.ts","sourceRoot":"","sources":["../../../src/evolution/multi-critic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mDAAmD;AACnD,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,yDAAyD;AACzD,MAAM,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAyctG;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,CAErE;AAED,4FAA4F;AAC5F,eAAO,MAAM,cAAc,EAAE,eAAe,EAAyB,CAAC;AAgBtE;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,WAAW,EACtB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC,CA+C5B"}
1
+ {"version":3,"file":"multi-critic.d.ts","sourceRoot":"","sources":["../../../src/evolution/multi-critic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mDAAmD;AACnD,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,yDAAyD;AACzD,MAAM,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEtG,mDAAmD;AACnD,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4C5D;AAycD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,EAAE,CAErE;AAED,4FAA4F;AAC5F,eAAO,MAAM,cAAc,EAAE,eAAe,EAAyB,CAAC;AAgBtE;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,WAAW,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAmD5B"}
@@ -16,6 +16,57 @@
16
16
  * B: Persuasion & Voice — tone, engagement, conviction, audience awareness
17
17
  * C: Substance & Originality — depth, concrete value, fresh angles
18
18
  */
19
+ /**
20
+ * v0.7.0 — Strip markdown formatting to plain prose for style-bias-free
21
+ * judging. Preserves the words and line structure; removes only formatting
22
+ * tokens (headers, bold/italic, code fences + inline code, links→text,
23
+ * images→alt, list bullets, blockquotes, table pipes, horizontal rules,
24
+ * strikethrough). Pure, deterministic.
25
+ */
26
+ export function stripMarkdownForJudging(text) {
27
+ if (typeof text !== 'string' || text.length === 0)
28
+ return '';
29
+ let out = text;
30
+ // Code fences ```lang ... ``` → keep the inner code, drop the fences.
31
+ out = out.replace(/```[a-zA-Z0-9_-]*\n?([\s\S]*?)```/g, (_m, code) => code);
32
+ // Block-level, line by line.
33
+ out = out
34
+ .split('\n')
35
+ .map((line) => {
36
+ // Horizontal rule (---, ***, ___).
37
+ if (/^\s*([-*_])\1{2,}\s*$/.test(line))
38
+ return '';
39
+ // Table separator row (|---|:--:|).
40
+ if (/\|/.test(line) && /^\s*\|?[\s:|-]*-{2,}[\s:|-]*\|?\s*$/.test(line))
41
+ return '';
42
+ let l = line;
43
+ l = l.replace(/^\s*>+\s?/, ''); // blockquote
44
+ l = l.replace(/^\s*#{1,6}\s+/, ''); // ATX header
45
+ l = l.replace(/^\s*[-*+]\s+/, ''); // bullet list
46
+ l = l.replace(/^\s*\d+\.\s+/, ''); // numbered list
47
+ // Flatten table rows ONLY — a line that starts/ends with a pipe or has
48
+ // ≥2 pipes. Avoids mangling prose like "option A | option B" (single
49
+ // mid-line pipe), which the old blanket /\|/ test would have stripped.
50
+ const pipeCount = (l.match(/\|/g) ?? []).length;
51
+ if (/^\s*\|/.test(l) || /\|\s*$/.test(l) || pipeCount >= 2) {
52
+ l = l.replace(/\s*\|\s*/g, ' ').trim();
53
+ }
54
+ return l;
55
+ })
56
+ .join('\n');
57
+ // Inline.
58
+ out = out.replace(/!\[([^\]]*)\]\([^)]*\)/g, '$1'); // images → alt
59
+ out = out.replace(/\[([^\]]+)\]\([^)]*\)/g, '$1'); // links → text
60
+ out = out.replace(/\*\*\*([^*]+)\*\*\*/g, '$1'); // bold+italic *** (before **)
61
+ out = out.replace(/\*\*([^*]+)\*\*/g, '$1'); // bold **
62
+ out = out.replace(/__([^_]+)__/g, '$1'); // bold __
63
+ out = out.replace(/(?<!\*)\*([^*\n]+)\*(?!\*)/g, '$1'); // italic *
64
+ out = out.replace(/(?<![A-Za-z0-9_])_([^_\n]+)_(?![A-Za-z0-9_])/g, '$1'); // italic _
65
+ out = out.replace(/~~([^~]+)~~/g, '$1'); // strikethrough
66
+ out = out.replace(/`([^`]+)`/g, '$1'); // inline code
67
+ // Tidy whitespace.
68
+ return out.replace(/[ \t]+$/gm, '').replace(/\n{3,}/g, '\n\n').trim();
69
+ }
19
70
  // ─── Output Format (shared across all critics) ────────
20
71
  const CRITIC_OUTPUT_FORMAT = `OUTPUT FORMAT (EXACTLY THIS):
21
72
  ===SCORE===
@@ -461,9 +512,13 @@ const AGENT_OUTPUT_LABELS = {
461
512
  * @param runCritic - Function to run a critic (injected, uses Claude CLI)
462
513
  * @param agentName - Name of the agent being evaluated (determines which critic set to use)
463
514
  */
464
- export async function runMultiCritic(agentOutput, task, runCritic, agentName) {
515
+ export async function runMultiCritic(agentOutput, task, runCritic, agentName, options = {}) {
465
516
  const outputLabel = AGENT_OUTPUT_LABELS[agentName ?? ''] ?? 'output';
466
- const evaluationTask = `Evaluate the following ${outputLabel} for the task "${task}":\n\n${agentOutput}`;
517
+ // v0.7.0: optional style-bias normalisation judge content, not markdown.
518
+ const judgedOutput = options.normalizeForJudging
519
+ ? stripMarkdownForJudging(agentOutput)
520
+ : agentOutput;
521
+ const evaluationTask = `Evaluate the following ${outputLabel} for the task "${task}":\n\n${judgedOutput}`;
467
522
  const prompts = getCriticPrompts(agentName ?? '');
468
523
  // Run all 3 critics in parallel
469
524
  const promises = prompts.map(async ({ name, prompt }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"multi-critic.js","sourceRoot":"","sources":["../../../src/evolution/multi-critic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-critic.js","sourceRoot":"","sources":["../../../src/evolution/multi-critic.ts"],"names":[],"mappings":"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"}
@@ -43,8 +43,9 @@
43
43
  * - **paretoSelect truncation has two strategies (V0.5.1):**
44
44
  * `"scalarised"` (V0.5.0 default, weighted-sum tie-break) and
45
45
  * `"crowding"` (NSGA-II Deb 2002 density-preserving truncation).
46
- * GEPA Algorithm 2's instance-proportional coverage sampling is
47
- * still NOT implemented backlog for V0.6.
46
+ * GEPA Algorithm 2's instance-proportional coverage sampling SHIPPED in
47
+ * v0.7.0see `coverageFrontier`/`selectByCoverage`/`sampleByCoverage`
48
+ * in `pareto.ts` and the `useCoverage` path in {@link GepaOptimizer#nextGeneration}.
48
49
  * - **GEPA+Merge (system-aware crossover from two Pareto-pool
49
50
  * ancestors, paper Appendix F)** SHIPPED in V0.5.1 via
50
51
  * {@link GepaOptimizer#merge}. Paper reports ~5% lift when run on
@@ -52,8 +53,9 @@
52
53
  * - **Stronger reflection LM** SHIPPED in V0.5.1 via
53
54
  * {@link GepaOptimizerOptions.reflectionRunPrompt}. Falls back to
54
55
  * the main `runPrompt` when omitted.
55
- * - **Instance-wise coverage sampling** (paper Algorithm 2) is NOT
56
- * implemented. Backlog for V0.6.
56
+ * - **Instance-wise coverage sampling** (paper Algorithm 2) SHIPPED in
57
+ * v0.7.0 (`coverageFrontier`/`selectByCoverage`/`sampleByCoverage` in
58
+ * `pareto.ts`; opt-in via `NextGenerationOptions.useCoverage`).
57
59
  *
58
60
  * @example
59
61
  * ```ts
@@ -92,6 +94,16 @@ export interface ScoredVariant {
92
94
  prompt: string;
93
95
  /** Score map keyed by objective name — must include the keys in `objectives`. */
94
96
  metrics: Record<string, number>;
97
+ /**
98
+ * v0.7.0 — Optional per-frontier-key scores for GEPA Algorithm 2 coverage
99
+ * sampling (higher is better; caller direction-normalises). A "key" is a
100
+ * validation-example id, an objective, or an example×objective pair. When
101
+ * present on every variant AND `NextGenerationOptions.useCoverage` is on,
102
+ * survivors are chosen by coverage breadth (variants winning DIFFERENT keys)
103
+ * instead of by aggregate Pareto truncation — preserving the diversity GEPA
104
+ * relies on. Ignored when absent (falls back to the metrics-based path).
105
+ */
106
+ perKeyScores?: Record<string, number>;
95
107
  /** Optional text feedback collected for the next generation's reflector. */
96
108
  textFeedback?: string;
97
109
  }
@@ -131,7 +143,38 @@ export interface NextGenerationOptions extends GenerateOptions {
131
143
  * NEW V0.5.1 (S1235).
132
144
  */
133
145
  truncationStrategy?: ParetoTruncationStrategy;
146
+ /**
147
+ * v0.7.0 — Opt into GEPA Algorithm 2 instance-level coverage selection.
148
+ * When `true` AND every scored variant carries a `perKeyScores` map,
149
+ * survivors are chosen by coverage breadth ({@link selectByCoverage}) — the
150
+ * variants that win on the most DIFFERENT frontier keys — instead of the
151
+ * aggregate-metrics Pareto truncation. This preserves the per-subset
152
+ * diversity GEPA's reflection loop depends on (a candidate strong on a niche
153
+ * of tasks is not crowded out by the global-average winner). When the
154
+ * `perKeyScores` data is missing on any variant, this silently falls back to
155
+ * the metrics-based Pareto path so existing callers are unaffected.
156
+ *
157
+ * Default `false` — V0.5.x behaviour unchanged.
158
+ */
159
+ useCoverage?: boolean;
134
160
  }
161
+ /**
162
+ * v0.7.0 — Epoch-shuffled minibatch sampler (GEPA `reflection_minibatch_size`
163
+ * + epoch-shuffled batch sampler, adapted to an online loop).
164
+ *
165
+ * Returns a deterministic rotating window of `size` items, offset by `epoch`,
166
+ * wrapping around the array. Across consecutive epochs the window walks the
167
+ * whole array, so every item is eventually reflected on — without the
168
+ * persistent sampler state a true epoch shuffle needs, and without any RNG
169
+ * (the module stays pure). When `size` is non-positive or ≥ the array length,
170
+ * the full array is returned (no minibatching).
171
+ *
172
+ * @example
173
+ * epochShuffledMinibatch(['a','b','c','d','e'], 2, 0) // ['a','b']
174
+ * epochShuffledMinibatch(['a','b','c','d','e'], 2, 1) // ['c','d']
175
+ * epochShuffledMinibatch(['a','b','c','d','e'], 2, 2) // ['e','a']
176
+ */
177
+ export declare function epochShuffledMinibatch<T>(items: ReadonlyArray<T>, size: number, epoch: number): T[];
135
178
  /**
136
179
  * V0.5.1 options for {@link GepaOptimizer} constructor.
137
180
  *
@@ -1 +1 @@
1
- {"version":3,"file":"optimizer-gepa.d.ts","sourceRoot":"","sources":["../../../src/evolution/optimizer-gepa.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC9B,MAAM,aAAa,CAAC;AAErB,6CAA6C;AAC7C,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC;CACrD;AAED,wDAAwD;AACxD,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D;;;;OAIG;IACH,UAAU,EAAE,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;CAC/C;AAqCD;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,EAAE,WAAW,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAc;gBAEtC,SAAS,EAAE,WAAW,EAAE,IAAI,GAAE,oBAAyB;IAoBnE;;;;;OAKG;IACG,QAAQ,CACZ,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC5C,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA0DjD;;;;;;;OAOG;IACH,cAAc,CACZ,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,EACpC,IAAI,EAAE,qBAAqB,GAC1B,aAAa,EAAE;IAgDlB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,KAAK,CACT,OAAO,EAAE,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,EAChD,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA6E1C,6FAA6F;IAC7F,OAAO,CAAC,WAAW;IAOnB,qFAAqF;IACrF,OAAO,CAAC,0BAA0B;IAWlC,sDAAsD;IACtD,OAAO,CAAC,MAAM;IAKd,qEAAqE;IACrE,OAAO,CAAC,MAAM;IAId,qEAAqE;IACrE,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"optimizer-gepa.d.ts","sourceRoot":"","sources":["../../../src/evolution/optimizer-gepa.ts"],"names":[],"mappings":"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"}