darwin-agents 0.8.0 → 0.10.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 (51) hide show
  1. package/CHANGELOG.md +113 -0
  2. package/README.md +77 -0
  3. package/dist/src/cli/canary.d.ts +13 -0
  4. package/dist/src/cli/canary.d.ts.map +1 -0
  5. package/dist/src/cli/canary.js +66 -0
  6. package/dist/src/cli/canary.js.map +1 -0
  7. package/dist/src/cli/evolution-flags.d.ts +2 -0
  8. package/dist/src/cli/evolution-flags.d.ts.map +1 -1
  9. package/dist/src/cli/evolution-flags.js +36 -1
  10. package/dist/src/cli/evolution-flags.js.map +1 -1
  11. package/dist/src/cli/evolve.d.ts +2 -0
  12. package/dist/src/cli/evolve.d.ts.map +1 -1
  13. package/dist/src/cli/evolve.js +10 -0
  14. package/dist/src/cli/evolve.js.map +1 -1
  15. package/dist/src/cli/index.js +7 -0
  16. package/dist/src/cli/index.js.map +1 -1
  17. package/dist/src/cli/run.d.ts.map +1 -1
  18. package/dist/src/cli/run.js +16 -1
  19. package/dist/src/cli/run.js.map +1 -1
  20. package/dist/src/evolution/canary.d.ts +164 -0
  21. package/dist/src/evolution/canary.d.ts.map +1 -0
  22. package/dist/src/evolution/canary.js +244 -0
  23. package/dist/src/evolution/canary.js.map +1 -0
  24. package/dist/src/evolution/critic-families.d.ts +51 -0
  25. package/dist/src/evolution/critic-families.d.ts.map +1 -0
  26. package/dist/src/evolution/critic-families.js +51 -0
  27. package/dist/src/evolution/critic-families.js.map +1 -0
  28. package/dist/src/evolution/demos.d.ts +128 -0
  29. package/dist/src/evolution/demos.d.ts.map +1 -0
  30. package/dist/src/evolution/demos.js +196 -0
  31. package/dist/src/evolution/demos.js.map +1 -0
  32. package/dist/src/evolution/enabled-state.d.ts +5 -5
  33. package/dist/src/evolution/enabled-state.d.ts.map +1 -1
  34. package/dist/src/evolution/enabled-state.js +10 -5
  35. package/dist/src/evolution/enabled-state.js.map +1 -1
  36. package/dist/src/evolution/loop.d.ts +36 -0
  37. package/dist/src/evolution/loop.d.ts.map +1 -1
  38. package/dist/src/evolution/loop.js +118 -19
  39. package/dist/src/evolution/loop.js.map +1 -1
  40. package/dist/src/evolution/selection.d.ts +73 -0
  41. package/dist/src/evolution/selection.d.ts.map +1 -0
  42. package/dist/src/evolution/selection.js +121 -0
  43. package/dist/src/evolution/selection.js.map +1 -0
  44. package/dist/src/index.d.ts +3 -0
  45. package/dist/src/index.d.ts.map +1 -1
  46. package/dist/src/index.js +16 -0
  47. package/dist/src/index.js.map +1 -1
  48. package/dist/src/types.d.ts +67 -0
  49. package/dist/src/types.d.ts.map +1 -1
  50. package/dist/src/types.js.map +1 -1
  51. package/package.json +4 -1
@@ -13,6 +13,8 @@ import { notifyABTestComplete, notifyEvolutionStarted, notifyRollback } from './
13
13
  import { epochShuffledMinibatch } from './optimizer-gepa.js';
14
14
  import { checkAlignmentPreservation, checkAlignmentPreservationSemantic } from './alignment.js';
15
15
  import { dominatesEpsilon, paretoSelect, DARWIN_DEFAULT_OBJECTIVES } from './pareto.js';
16
+ import { selectDemoCandidates, buildDemoSection, applyDemoSection } from './demos.js';
17
+ import { selectParentVariant } from './selection.js';
16
18
  // ─── Validation Constants ─────────────────────────────
17
19
  /** Default minimum output length (overridden by agent.evolution.minOutputLength) */
18
20
  const DEFAULT_MIN_VALID_OUTPUT = 2000;
@@ -30,6 +32,7 @@ export class DarwinLoop {
30
32
  gepa;
31
33
  embed;
32
34
  alignmentSimilarityThreshold;
35
+ rng;
33
36
  constructor(deps) {
34
37
  this.memory = deps.memory;
35
38
  this.tracker = deps.tracker;
@@ -41,6 +44,7 @@ export class DarwinLoop {
41
44
  this.gepa = deps.gepa;
42
45
  this.embed = deps.embed;
43
46
  this.alignmentSimilarityThreshold = deps.alignmentSimilarityThreshold;
47
+ this.rng = deps.rng;
44
48
  }
45
49
  /**
46
50
  * Called AFTER every agent run. Drives the evolution cycle.
@@ -250,7 +254,33 @@ export class DarwinLoop {
250
254
  // optimizer so the loop never stalls.
251
255
  let newPromptText = null;
252
256
  let generatedBy = 'legacy';
253
- if (this.agent?.evolution?.useGepa === true && this.gepa) {
257
+ // ── v0.10.0: SIMBA-style demo injection (opt-in, zero LLM cost) ──
258
+ // On every demoEveryK-th cycle, build a challenger by appending (or
259
+ // refreshing) a "Demonstrations" section harvested from the agent's own
260
+ // highest-scoring past runs. Independent of useGepa — no reflector is
261
+ // involved. The demo prompt runs the same alignment guard and enters the
262
+ // same A/B test as any mutation; when demos don't help, the incumbent
263
+ // wins. When the demo set is unchanged since the last injection the path
264
+ // yields no challenger (no-op) and falls through to GEPA/legacy.
265
+ if (this.agent?.evolution?.useDemos === true) {
266
+ const epoch = this.versionInt(activePrompt.version);
267
+ if (epoch > 0 && epoch % this.demoEveryK() === 0) {
268
+ const demoPrompt = await this.tryDemoVariant(agent, activePrompt.promptText);
269
+ if (demoPrompt !== null) {
270
+ const guarded = await this.runAlignmentGuard(activePrompt.promptText, demoPrompt);
271
+ if (guarded !== null) {
272
+ newPromptText = guarded;
273
+ generatedBy = 'demos';
274
+ }
275
+ else {
276
+ // Mirrors the merge-path breadcrumb: a consistently guard-failing
277
+ // demo section should be visible, not silently skipped forever.
278
+ console.warn(`[darwin] demo variant for "${agent}" failed the alignment guard, falling through.`);
279
+ }
280
+ }
281
+ }
282
+ }
283
+ if (newPromptText === null && this.agent?.evolution?.useGepa === true && this.gepa) {
254
284
  // Epoch = the integer of the active prompt version (v1→1, v12→12). It
255
285
  // advances by one each evolution cycle, so the epoch-shuffled minibatch
256
286
  // rotates which feedback subset the reflector sees per cycle, and the
@@ -273,10 +303,11 @@ export class DarwinLoop {
273
303
  promptText: newPromptText,
274
304
  createdAt: new Date().toISOString(),
275
305
  parentVersion: activePrompt.version,
276
- // Only tag the change reason with the generator when GEPA was opted in —
277
- // keeps the stored `changeReason` byte-for-byte identical for legacy-only
306
+ // Only tag the change reason with the generator when a non-legacy
307
+ // challenger source was opted in (GEPA v0.6.0 / demos v0.10.0) — keeps
308
+ // the stored `changeReason` byte-for-byte identical for legacy-only
278
309
  // agents (v0.6.0 review Finding 8).
279
- changeReason: this.agent?.evolution?.useGepa
310
+ changeReason: this.agent?.evolution?.useGepa || this.agent?.evolution?.useDemos
280
311
  ? `[${generatedBy}] ${this.buildChangeReason(detectedPatterns)}`
281
312
  : this.buildChangeReason(detectedPatterns),
282
313
  active: false, // Not active yet — going into A/B test
@@ -305,7 +336,9 @@ export class DarwinLoop {
305
336
  result.promptEvolved = true;
306
337
  result.abTestStarted = true;
307
338
  result.newVersion = newVersion;
308
- const genLabel = this.agent?.evolution?.useGepa ? ` via ${generatedBy}` : '';
339
+ const genLabel = this.agent?.evolution?.useGepa || this.agent?.evolution?.useDemos
340
+ ? ` via ${generatedBy}`
341
+ : '';
309
342
  result.message = `New prompt ${newVersion} generated${genLabel}. A/B test started: ${activePrompt.version} vs ${newVersion} (minRuns: ${dynamicMinRuns}).`;
310
343
  // Notify via Telegram (non-blocking)
311
344
  notifyEvolutionStarted(this.notifications, agent, activePrompt.version, newVersion, this.buildChangeReason(detectedPatterns)).catch(() => { });
@@ -554,10 +587,31 @@ export class DarwinLoop {
554
587
  // currently-active prompt. Falls back to the active prompt when fewer than
555
588
  // two versions carry per-task-type data (selectCoverageParent → null).
556
589
  let parentPrompt = currentPrompt;
590
+ let parentChosen = false;
557
591
  if (this.agent?.evolution?.useCoverage === true) {
558
592
  const coverageParent = await this.selectCoverageParent(agentName);
559
593
  if (coverageParent !== null) {
560
594
  parentPrompt = coverageParent;
595
+ parentChosen = true;
596
+ }
597
+ }
598
+ // v0.10.0: GEPA candidate_selection_strategy parity (opt-in via
599
+ // evolution.candidateSelection). Pick the reflection parent from the
600
+ // agent's SCORED version history — 'best' (current_best), 'pareto'
601
+ // (uniform sample from the non-dominated front), or 'epsilon-greedy'
602
+ // (explore/exploit). Coverage selection (the more specific GEPA
603
+ // Algorithm 2 selector) takes precedence when it found a parent; this
604
+ // strategy is the fallback for that cycle. 'active'/unset keeps the
605
+ // historical reflect-from-active-prompt behaviour byte-for-byte.
606
+ const strategy = this.agent?.evolution?.candidateSelection;
607
+ if (!parentChosen && strategy !== undefined && strategy !== 'active') {
608
+ const scored = await this.buildScoredHistory(agentName);
609
+ const chosen = selectParentVariant(scored, strategy, {
610
+ epsilon: this.agent?.evolution?.explorationEpsilon,
611
+ rng: this.rng,
612
+ });
613
+ if (chosen !== null) {
614
+ parentPrompt = chosen.prompt;
561
615
  }
562
616
  }
563
617
  // v0.7.0: pull the configurable feedback window (default 15, was 5).
@@ -625,6 +679,64 @@ export class DarwinLoop {
625
679
  return Math.floor(k);
626
680
  return 3;
627
681
  }
682
+ /**
683
+ * v0.10.0 — Demo-injection cadence (every K-th cycle). Default 4, clamped
684
+ * ≥ 1. Deliberately offset from the merge default (3) so the two
685
+ * non-reflective challenger sources don't collide on the same cycles.
686
+ */
687
+ demoEveryK() {
688
+ const k = this.agent?.evolution?.demoEveryK;
689
+ if (typeof k === 'number' && Number.isFinite(k) && k >= 1)
690
+ return Math.floor(k);
691
+ return 4;
692
+ }
693
+ /**
694
+ * v0.10.0 — Build a SIMBA-style demo challenger: current prompt + a
695
+ * marker-delimited "Demonstrations" section harvested from this agent's
696
+ * highest-scoring past runs. Pure selection + rendering — no LLM call.
697
+ *
698
+ * Returns `null` (→ caller falls through to GEPA/legacy generation) when
699
+ * no run qualifies (score/threshold/length filters) or when the rendered
700
+ * demo set is byte-identical to what the prompt already carries — an A/B
701
+ * test of a version against itself would be pointless.
702
+ */
703
+ async tryDemoVariant(agentName, currentPrompt) {
704
+ const experiments = await this.memory.loadExperiments(agentName);
705
+ const demos = selectDemoCandidates(experiments, {
706
+ maxDemos: this.agent?.evolution?.maxDemos,
707
+ scoreThreshold: this.agent?.evolution?.demoScoreThreshold,
708
+ });
709
+ if (demos.length === 0)
710
+ return null;
711
+ const section = buildDemoSection(demos);
712
+ const withDemos = applyDemoSection(currentPrompt, section);
713
+ if (withDemos === currentPrompt)
714
+ return null;
715
+ return withDemos;
716
+ }
717
+ /**
718
+ * v0.10.0 — Scored version history for parent selection AND merge: every
719
+ * prompt version that has text and at least one run's worth of averaged
720
+ * metrics, as {@link ScoredVariant}s. One getAverageMetrics
721
+ * (→ loadExperiments) call per version. O(N) backend round-trips, but N is
722
+ * the agent's prompt-version count (≤ ~20 in practice) and this only runs
723
+ * on selection/merge cadences, so it is cheap — same pattern handleABTest
724
+ * already uses for the Pareto gate. (Extracted from tryMergeVariant,
725
+ * behaviour unchanged.)
726
+ */
727
+ async buildScoredHistory(agentName) {
728
+ const versions = await this.memory.getAllPromptVersions(agentName);
729
+ const scored = [];
730
+ for (const v of versions) {
731
+ if (!v.promptText)
732
+ continue;
733
+ const metrics = await this.tracker.getAverageMetrics(agentName, v.version);
734
+ if (Object.keys(metrics).length === 0)
735
+ continue; // no runs for this version
736
+ scored.push({ id: v.version, prompt: v.promptText, metrics });
737
+ }
738
+ return scored;
739
+ }
628
740
  /**
629
741
  * v0.7.0 — GEPA system-aware MERGE (paper Appendix-D). Builds scored
630
742
  * variants from this agent's prompt-version history (each version's prompt
@@ -641,20 +753,7 @@ export class DarwinLoop {
641
753
  async tryMergeVariant(agentName) {
642
754
  if (!this.gepa)
643
755
  return null;
644
- const versions = await this.memory.getAllPromptVersions(agentName);
645
- const scored = [];
646
- // One getAverageMetrics (→ loadExperiments) call per version. O(N) backend
647
- // round-trips, but N is the agent's prompt-version count (≤ ~20 in
648
- // practice) and this only runs on the merge cadence, so it is cheap — same
649
- // pattern handleABTest already uses for the Pareto gate.
650
- for (const v of versions) {
651
- if (!v.promptText)
652
- continue;
653
- const metrics = await this.tracker.getAverageMetrics(agentName, v.version);
654
- if (Object.keys(metrics).length === 0)
655
- continue; // no runs for this version
656
- scored.push({ id: v.version, prompt: v.promptText, metrics });
657
- }
756
+ const scored = await this.buildScoredHistory(agentName);
658
757
  if (scored.length < 2)
659
758
  return null; // need two parents to merge
660
759
  // Two best Pareto-front members (distinct versions, scalarised tie-break).
@@ -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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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Parent-selection strategies (v0.10.0) — GEPA `candidate_selection_strategy`
3
+ * parity for the online evolution loop.
4
+ *
5
+ * Upstream GEPA exposes three strategies for picking WHICH candidate to
6
+ * mutate next: sample from the Pareto frontier (default), always take the
7
+ * current best, or epsilon-greedy explore/exploit. Darwin's online loop
8
+ * historically always reflected from the currently-ACTIVE prompt (plus the
9
+ * opt-in v0.7 coverage selection). This module adds the missing strategies as
10
+ * a pure, injectable-RNG helper:
11
+ *
12
+ * - `"active"` — loop default, reflect from the active prompt
13
+ * (handled by the caller; this helper returns null).
14
+ * - `"best"` — GEPA `current_best`: highest scalarised composite
15
+ * over the version history.
16
+ * - `"pareto"` — GEPA default: uniform sample from the non-dominated
17
+ * front of the version history.
18
+ * - `"epsilon-greedy"`— with probability ε pick a uniformly-random version
19
+ * (explore), otherwise the best (exploit).
20
+ *
21
+ * Why it matters: always mutating the active prompt is a hill-climb that can
22
+ * get stuck on a local optimum. Sampling parents from the Pareto front keeps
23
+ * lineages alive that win on DIFFERENT objectives, and epsilon-greedy buys
24
+ * cheap exploration — both directly per the GEPA paper's selection ablation.
25
+ *
26
+ * Purity: no I/O, no LLM calls, deterministic given the same `rng`. The RNG
27
+ * is injected (default `Math.random`) so tests pin outcomes exactly — same
28
+ * pattern as `sampleByCoverage` (v0.7.0).
29
+ */
30
+ import { type ParetoObjective } from "./pareto.js";
31
+ /**
32
+ * Strategy for choosing the prompt version the next challenger is derived
33
+ * from. `"active"` is the historical default (reflect from the active
34
+ * prompt); the other three operate on the agent's scored version history.
35
+ */
36
+ export type CandidateSelectionStrategy = "active" | "best" | "pareto" | "epsilon-greedy";
37
+ /** Minimal shape this module needs — `ScoredVariant` satisfies it. */
38
+ export interface SelectableVariant {
39
+ /** Averaged objective vector for one prompt version. */
40
+ metrics: Record<string, number>;
41
+ }
42
+ /** Options for {@link selectParentVariant}. */
43
+ export interface ParentSelectionOptions {
44
+ /**
45
+ * Exploration probability for `"epsilon-greedy"` (default
46
+ * {@link DEFAULT_EXPLORATION_EPSILON}). Clamped to [0, 1]; non-finite
47
+ * values fall back to the default (NaN never bypasses the clamp).
48
+ */
49
+ epsilon?: number;
50
+ /**
51
+ * Random source in [0, 1) — injected for deterministic tests
52
+ * (default `Math.random`). Consulted by `"pareto"` (front sampling) and
53
+ * `"epsilon-greedy"` (explore coin-flip + explore pick).
54
+ */
55
+ rng?: () => number;
56
+ /**
57
+ * Objectives for dominance/scalarisation (default
58
+ * {@link DARWIN_DEFAULT_OBJECTIVES}). Same scale-sensitivity caveat as
59
+ * `paretoSelect` applies to the scalarised `"best"` pick.
60
+ */
61
+ objectives?: ReadonlyArray<ParetoObjective<Record<string, number>>>;
62
+ }
63
+ export declare const DEFAULT_EXPLORATION_EPSILON = 0.1;
64
+ /**
65
+ * Pick the parent variant the next challenger should be derived from.
66
+ *
67
+ * Returns `null` when the strategy is `"active"` (caller keeps the active
68
+ * prompt — the historical default path) or when `variants` is empty. A
69
+ * single-element list short-circuits to that element for every non-active
70
+ * strategy.
71
+ */
72
+ export declare function selectParentVariant<V extends SelectableVariant>(variants: ReadonlyArray<V>, strategy: CandidateSelectionStrategy, options?: ParentSelectionOptions): V | null;
73
+ //# sourceMappingURL=selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../src/evolution/selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAIrB;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAEzF,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,+CAA+C;AAC/C,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CACrE;AAED,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAyD/C;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,iBAAiB,EAC7D,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC1B,QAAQ,EAAE,0BAA0B,EACpC,OAAO,GAAE,sBAA2B,GACnC,CAAC,GAAG,IAAI,CAmCV"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Parent-selection strategies (v0.10.0) — GEPA `candidate_selection_strategy`
3
+ * parity for the online evolution loop.
4
+ *
5
+ * Upstream GEPA exposes three strategies for picking WHICH candidate to
6
+ * mutate next: sample from the Pareto frontier (default), always take the
7
+ * current best, or epsilon-greedy explore/exploit. Darwin's online loop
8
+ * historically always reflected from the currently-ACTIVE prompt (plus the
9
+ * opt-in v0.7 coverage selection). This module adds the missing strategies as
10
+ * a pure, injectable-RNG helper:
11
+ *
12
+ * - `"active"` — loop default, reflect from the active prompt
13
+ * (handled by the caller; this helper returns null).
14
+ * - `"best"` — GEPA `current_best`: highest scalarised composite
15
+ * over the version history.
16
+ * - `"pareto"` — GEPA default: uniform sample from the non-dominated
17
+ * front of the version history.
18
+ * - `"epsilon-greedy"`— with probability ε pick a uniformly-random version
19
+ * (explore), otherwise the best (exploit).
20
+ *
21
+ * Why it matters: always mutating the active prompt is a hill-climb that can
22
+ * get stuck on a local optimum. Sampling parents from the Pareto front keeps
23
+ * lineages alive that win on DIFFERENT objectives, and epsilon-greedy buys
24
+ * cheap exploration — both directly per the GEPA paper's selection ablation.
25
+ *
26
+ * Purity: no I/O, no LLM calls, deterministic given the same `rng`. The RNG
27
+ * is injected (default `Math.random`) so tests pin outcomes exactly — same
28
+ * pattern as `sampleByCoverage` (v0.7.0).
29
+ */
30
+ import { DARWIN_DEFAULT_OBJECTIVES, nonDominatedFront, scalarise, } from "./pareto.js";
31
+ export const DEFAULT_EXPLORATION_EPSILON = 0.1;
32
+ const DEFAULT_OBJECTIVES = DARWIN_DEFAULT_OBJECTIVES;
33
+ // ─── Internals ──────────────────────────────────────────────────────────────
34
+ /** Clamp epsilon to [0, 1]; NaN/Infinity → default (never bypasses the clamp). */
35
+ function resolveEpsilon(value) {
36
+ if (typeof value !== "number" || !Number.isFinite(value))
37
+ return DEFAULT_EXPLORATION_EPSILON;
38
+ return Math.min(1, Math.max(0, value));
39
+ }
40
+ /**
41
+ * Uniform index pick; clamps a pathological rng (>1 / <0 / NaN) into range —
42
+ * same defensive posture as `sampleByCoverage` (pareto.ts), so a
43
+ * non-conforming injected RNG degrades to index 0 instead of throwing or
44
+ * returning `undefined`.
45
+ */
46
+ function pickIndex(length, rng) {
47
+ const value = rng();
48
+ if (!Number.isFinite(value))
49
+ return 0;
50
+ const raw = Math.floor(value * length);
51
+ return Math.min(length - 1, Math.max(0, raw));
52
+ }
53
+ /**
54
+ * Flatten variants to `{ ...metrics, __index }` so dominance/scalarisation
55
+ * run on plain records and the winner maps back by INDEX — never by
56
+ * metrics-object reference identity, which silently drops variants that
57
+ * share one metrics object (documented v0.5.0 R2-M1 failure mode).
58
+ */
59
+ function flatten(variants) {
60
+ return variants.map((v, i) => ({ ...v.metrics, __index: i }));
61
+ }
62
+ function bestIndex(flat, objectives) {
63
+ let winner = 0;
64
+ let winnerScore = Number.NEGATIVE_INFINITY;
65
+ for (let i = 0; i < flat.length; i++) {
66
+ const score = scalarise(flat[i], objectives);
67
+ if (score > winnerScore) {
68
+ winnerScore = score;
69
+ winner = i;
70
+ }
71
+ }
72
+ return winner;
73
+ }
74
+ // ─── Public API ─────────────────────────────────────────────────────────────
75
+ /**
76
+ * Pick the parent variant the next challenger should be derived from.
77
+ *
78
+ * Returns `null` when the strategy is `"active"` (caller keeps the active
79
+ * prompt — the historical default path) or when `variants` is empty. A
80
+ * single-element list short-circuits to that element for every non-active
81
+ * strategy.
82
+ */
83
+ export function selectParentVariant(variants, strategy, options = {}) {
84
+ if (strategy === "active")
85
+ return null;
86
+ if (variants.length === 0)
87
+ return null;
88
+ if (variants.length === 1)
89
+ return variants[0];
90
+ const objectives = options.objectives ?? DEFAULT_OBJECTIVES;
91
+ const rng = options.rng ?? Math.random;
92
+ const flat = flatten(variants);
93
+ switch (strategy) {
94
+ case "best": {
95
+ return variants[bestIndex(flat, objectives)];
96
+ }
97
+ case "pareto": {
98
+ const front = nonDominatedFront(flat, objectives);
99
+ // Defensive: an all-non-finite history yields an empty comparable set —
100
+ // nonDominatedFront keeps everything then, so front is never empty here,
101
+ // but guard anyway rather than index into a hole.
102
+ if (front.length === 0)
103
+ return null;
104
+ const pick = front[pickIndex(front.length, rng)];
105
+ return variants[pick["__index"]];
106
+ }
107
+ case "epsilon-greedy": {
108
+ const epsilon = resolveEpsilon(options.epsilon);
109
+ if (rng() < epsilon) {
110
+ return variants[pickIndex(variants.length, rng)]; // explore
111
+ }
112
+ return variants[bestIndex(flat, objectives)]; // exploit
113
+ }
114
+ default: {
115
+ // Unknown strategy string (e.g. from a hand-edited config file):
116
+ // behave like "active" rather than throwing mid-evolution-cycle.
117
+ return null;
118
+ }
119
+ }
120
+ }
121
+ //# sourceMappingURL=selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../src/evolution/selection.ts"],"names":[],"mappings":"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"}
@@ -39,4 +39,7 @@ export { checkAlignmentPreservation, checkAlignmentPreservationSemantic, SAFETY_
39
39
  export { parseCriticScore, type ParsedCriticScore } from './evolution/parse-score.js';
40
40
  export { runMultiCritic, stripMarkdownForJudging, getCriticPrompts, type RunCriticFn, type RunMultiCriticOptions, type CriticPromptDef, type CriticScore, type MultiCriticResult, } from './evolution/multi-critic.js';
41
41
  export { meanVar, msprtTwoSample, hoeffdingTwoSample, type ConfidenceMethod, type SequentialVerdict, type MeanVar, type MsprtOptions, type HoeffdingOptions, } from './evolution/sequential.js';
42
+ export { toolSequence, toolSet, jaccard, sequenceSimilarity, errorRate, compareTrajectory, evaluateCanary, runCanaryOverExperiments, type CanaryThresholds, type TrajectoryComparison, type CanaryOptions, type CanaryResult, type CanaryStatus, type CanaryReport, type RunCanaryOptions, } from './evolution/canary.js';
43
+ export { selectDemoCandidates, buildDemoSection, applyDemoSection, stripDemoSection, DEMO_SECTION_START, DEMO_SECTION_END, DEFAULT_MAX_DEMOS, DEFAULT_DEMO_SCORE_THRESHOLD, DEFAULT_DEMO_MIN_OUTPUT_CHARS, DEFAULT_DEMO_TASK_CHARS, DEFAULT_DEMO_OUTPUT_CHARS, type DemoCandidate, type DemoSelectionOptions, type DemoRenderOptions, } from './evolution/demos.js';
44
+ export { selectParentVariant, DEFAULT_EXPLORATION_EPSILON, type CandidateSelectionStrategy, type SelectableVariant, type ParentSelectionOptions, } from './evolution/selection.js';
42
45
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -55,4 +55,20 @@ export { runMultiCritic, stripMarkdownForJudging, getCriticPrompts, } from './ev
55
55
  // exported so consumers can run the same statistically-rigorous comparison
56
56
  // on their own score arrays.
57
57
  export { meanVar, msprtTwoSample, hoeffdingTwoSample, } from './evolution/sequential.js';
58
+ // V0.9.0 — Validate-by-Reproduce drift-detection canary (S1376 Phase 2 A5).
59
+ // Pure, tolerance-based trajectory comparison (unordered tool-set Jaccard +
60
+ // ordered sequence similarity + turn-ratio + error-rate). Catches behavioural
61
+ // drift the A/B quality gate misses. Exported so consumers can run the same
62
+ // drift check on their own captured trajectories.
63
+ export { toolSequence, toolSet, jaccard, sequenceSimilarity, errorRate, compareTrajectory, evaluateCanary, runCanaryOverExperiments, } from './evolution/canary.js';
64
+ // V0.10.0 — SIMBA-style demo injection (DSPy SIMBA "append_a_demo", adapted
65
+ // to the online loop). Pure selection + rendering over the agent's own
66
+ // highest-scoring past runs; the demo-augmented prompt is a normal challenger
67
+ // (alignment guard + A/B test + safety gate). Zero LLM cost.
68
+ export { selectDemoCandidates, buildDemoSection, applyDemoSection, stripDemoSection, DEMO_SECTION_START, DEMO_SECTION_END, DEFAULT_MAX_DEMOS, DEFAULT_DEMO_SCORE_THRESHOLD, DEFAULT_DEMO_MIN_OUTPUT_CHARS, DEFAULT_DEMO_TASK_CHARS, DEFAULT_DEMO_OUTPUT_CHARS, } from './evolution/demos.js';
69
+ // V0.10.0 — GEPA candidate_selection_strategy parity for the online loop:
70
+ // pick the reflection parent from the scored version history ('best' |
71
+ // 'pareto' | 'epsilon-greedy') instead of always mutating the active prompt.
72
+ // Injectable RNG for deterministic tests.
73
+ export { selectParentVariant, DEFAULT_EXPLORATION_EPSILON, } from './evolution/selection.js';
58
74
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,8DAA8D;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA4B7D,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,kBAAkB;AAClB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvF,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE/F,gBAAgB;AAChB,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAGtE,sEAAsE;AACtE,mGAAmG;AACnG,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,GAK1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,SAAS,GAGV,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,aAAa,EACb,sBAAsB,GAMvB,MAAM,+BAA+B,CAAC;AAEvC,uEAAuE;AACvE,2EAA2E;AAC3E,4EAA4E;AAC5E,mBAAmB;AACnB,OAAO,EACL,0BAA0B,EAC1B,kCAAkC,EAClC,eAAe,GAGhB,MAAM,0BAA0B,CAAC;AAElC,yEAAyE;AACzE,yEAAyE;AACzE,8EAA8E;AAC9E,OAAO,EAAE,gBAAgB,EAA0B,MAAM,4BAA4B,CAAC;AAEtF,gFAAgF;AAChF,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,gBAAgB,GAMjB,MAAM,6BAA6B,CAAC;AAErC,yEAAyE;AACzE,yEAAyE;AACzE,2EAA2E;AAC3E,6BAA6B;AAC7B,OAAO,EACL,OAAO,EACP,cAAc,EACd,kBAAkB,GAMnB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,8DAA8D;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA4B7D,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,kBAAkB;AAClB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvF,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE/F,gBAAgB;AAChB,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAGtE,sEAAsE;AACtE,mGAAmG;AACnG,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,GAK1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,SAAS,GAGV,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,aAAa,EACb,sBAAsB,GAMvB,MAAM,+BAA+B,CAAC;AAEvC,uEAAuE;AACvE,2EAA2E;AAC3E,4EAA4E;AAC5E,mBAAmB;AACnB,OAAO,EACL,0BAA0B,EAC1B,kCAAkC,EAClC,eAAe,GAGhB,MAAM,0BAA0B,CAAC;AAElC,yEAAyE;AACzE,yEAAyE;AACzE,8EAA8E;AAC9E,OAAO,EAAE,gBAAgB,EAA0B,MAAM,4BAA4B,CAAC;AAEtF,gFAAgF;AAChF,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,gBAAgB,GAMjB,MAAM,6BAA6B,CAAC;AAErC,yEAAyE;AACzE,yEAAyE;AACzE,2EAA2E;AAC3E,6BAA6B;AAC7B,OAAO,EACL,OAAO,EACP,cAAc,EACd,kBAAkB,GAMnB,MAAM,2BAA2B,CAAC;AAEnC,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAC9E,4EAA4E;AAC5E,kDAAkD;AAClD,OAAO,EACL,YAAY,EACZ,OAAO,EACP,OAAO,EACP,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,wBAAwB,GAQzB,MAAM,uBAAuB,CAAC;AAE/B,4EAA4E;AAC5E,uEAAuE;AACvE,8EAA8E;AAC9E,6DAA6D;AAC7D,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,4BAA4B,EAC5B,6BAA6B,EAC7B,uBAAuB,EACvB,yBAAyB,GAI1B,MAAM,sBAAsB,CAAC;AAE9B,0EAA0E;AAC1E,uEAAuE;AACvE,6EAA6E;AAC7E,0CAA0C;AAC1C,OAAO,EACL,mBAAmB,EACnB,2BAA2B,GAI5B,MAAM,0BAA0B,CAAC"}