darwin-agents 0.6.0-alpha.1 → 0.7.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +81 -0
- package/README.md +40 -1
- package/dist/src/cli/run.js +1 -1
- package/dist/src/cli/run.js.map +1 -1
- package/dist/src/evolution/alignment.d.ts +44 -0
- package/dist/src/evolution/alignment.d.ts.map +1 -1
- package/dist/src/evolution/alignment.js +124 -0
- package/dist/src/evolution/alignment.js.map +1 -1
- package/dist/src/evolution/loop.d.ts +28 -0
- package/dist/src/evolution/loop.d.ts.map +1 -1
- package/dist/src/evolution/loop.js +73 -12
- package/dist/src/evolution/loop.js.map +1 -1
- package/dist/src/evolution/multi-critic.d.ts +30 -1
- package/dist/src/evolution/multi-critic.d.ts.map +1 -1
- package/dist/src/evolution/multi-critic.js +57 -2
- package/dist/src/evolution/multi-critic.js.map +1 -1
- package/dist/src/evolution/optimizer-gepa.d.ts +47 -4
- package/dist/src/evolution/optimizer-gepa.d.ts.map +1 -1
- package/dist/src/evolution/optimizer-gepa.js +44 -5
- package/dist/src/evolution/optimizer-gepa.js.map +1 -1
- package/dist/src/evolution/pareto.d.ts +98 -3
- package/dist/src/evolution/pareto.d.ts.map +1 -1
- package/dist/src/evolution/pareto.js +193 -30
- package/dist/src/evolution/pareto.js.map +1 -1
- package/dist/src/evolution/safety.d.ts +35 -1
- package/dist/src/evolution/safety.d.ts.map +1 -1
- package/dist/src/evolution/safety.js +56 -2
- package/dist/src/evolution/safety.js.map +1 -1
- package/dist/src/evolution/sequential.d.ts +149 -0
- package/dist/src/evolution/sequential.d.ts.map +1 -0
- package/dist/src/evolution/sequential.js +239 -0
- package/dist/src/evolution/sequential.js.map +1 -0
- package/dist/src/evolution/tracker.d.ts +12 -0
- package/dist/src/evolution/tracker.d.ts.map +1 -1
- package/dist/src/evolution/tracker.js +24 -0
- package/dist/src/evolution/tracker.js.map +1 -1
- package/dist/src/index.d.ts +5 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +10 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +64 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,87 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.7.0-alpha.1] — 2026-06-19
|
|
6
|
+
|
|
7
|
+
**Statistical rigor + coverage sampling.** Six additive, opt-in upgrades that
|
|
8
|
+
make the self-evolution loop statistically honest and bring the GEPA optimizer
|
|
9
|
+
closer to the paper. With the new flags off, the evolution loop, the A/B gate,
|
|
10
|
+
and prompt mutation are byte-for-byte identical to v0.6.0 — except the feedback
|
|
11
|
+
window default (see **Changed**). Reviewed by a 3-agent code-review round
|
|
12
|
+
(critic + analyst + research) plus per-fix re-verification. **436 tests green**
|
|
13
|
+
(was 355, +81), `tsc` + `typecheck:tests` + `build` all clean. Zero hard deps
|
|
14
|
+
preserved — the new embedding capability is **injected** (`EmbedFn`), and the
|
|
15
|
+
coverage RNG is injected too, so the pure modules stay pure.
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
- **Always-valid sequential A/B testing** (`src/evolution/sequential.ts`, new):
|
|
20
|
+
`msprtTwoSample` (Mixture SPRT, Gaussian-mixture prior, Welch variance of the
|
|
21
|
+
difference of means) and `hoeffdingTwoSample` (σ-free time-uniform confidence
|
|
22
|
+
sequence for bounded scores). Wired into the safety gate via
|
|
23
|
+
`SafetyThresholds.confidenceMethod: 'effect-size' | 'msprt' | 'hoeffding'`
|
|
24
|
+
(+ `confidenceAlpha` / `confidenceTau` / `confidenceMinSamples` /
|
|
25
|
+
`confidenceScoreRange`). Only consulted when `requireConfidence` is on;
|
|
26
|
+
defaults to the v0.6.0 effect-size heuristic. This is the rigorous upgrade to
|
|
27
|
+
the peeking-resistant gate promised in the v0.6 roadmap. The loop loads the
|
|
28
|
+
per-arm composite samples (`ExperimentTracker.getCompositeScores`) only when a
|
|
29
|
+
sequential method is configured.
|
|
30
|
+
- **ε-Pareto dominance** (`dominatesEpsilon` in `pareto.ts`) +
|
|
31
|
+
`EvolutionConfig.paretoEpsilon`. A small relative tolerance (applied
|
|
32
|
+
symmetrically to both the regression and the strict-better check) lets the
|
|
33
|
+
`paretoGate` accept a challenger that wins big on one objective while
|
|
34
|
+
regressing microscopically (≤ ε) on another — instead of rejecting it over
|
|
35
|
+
noise. `paretoEpsilon: 0` (default) is exactly the strict v0.6.0 gate.
|
|
36
|
+
- **Instance-wise coverage sampling** (GEPA Algorithm 2) in `pareto.ts`:
|
|
37
|
+
`coverageFrontier`, `coverageWeights`, `selectByCoverage` (deterministic,
|
|
38
|
+
diversity-preserving survivor selection), and `sampleByCoverage`
|
|
39
|
+
(coverage-proportional candidate sampling with an **injected** RNG). Opt-in in
|
|
40
|
+
the GEPA loop via `GepaNextGenerationOptions.useCoverage` + a per-variant
|
|
41
|
+
`perKeyScores` map. Closes the long-standing "coverage sampling = backlog for
|
|
42
|
+
V0.6" deferral.
|
|
43
|
+
- **Semantic (embedding-distance) alignment guard**
|
|
44
|
+
(`checkAlignmentPreservationSemantic` in `alignment.ts`) + injectable
|
|
45
|
+
`EmbedFn`. When an embedder is wired into the loop (`DarwinLoopDeps.embed`),
|
|
46
|
+
a mutation that *rewords* a safety constraint (rather than removing it) is no
|
|
47
|
+
longer a false-positive rejection. Fail-closed: no embedder, an embedder
|
|
48
|
+
error, or malformed output all fall back to the strict keyword check, so the
|
|
49
|
+
guard never weakens.
|
|
50
|
+
- **Epoch-shuffled reflection minibatch** (`epochShuffledMinibatch` in
|
|
51
|
+
`optimizer-gepa.ts`) + `EvolutionConfig.reflectionMinibatchSize`. Reflect on a
|
|
52
|
+
focused, rotating subset of the feedback window each cycle (GEPA's
|
|
53
|
+
`reflection_minibatch_size` + epoch-shuffled sampler, adapted to the online
|
|
54
|
+
loop), so reflection prompts stay tight while still covering the whole window.
|
|
55
|
+
- **Style-bias-free judging** (`stripMarkdownForJudging` in `multi-critic.ts`) +
|
|
56
|
+
`RunMultiCriticOptions.normalizeForJudging` / `EvolutionConfig.normalizeForJudging`.
|
|
57
|
+
Strips markdown to plain prose before the multi-critic scores an output, so the
|
|
58
|
+
judge measures content, not formatting (LLM judges carry a documented style
|
|
59
|
+
bias toward markdown). Off by default; turn on for prose agents, leave off when
|
|
60
|
+
the output format itself is the deliverable.
|
|
61
|
+
|
|
62
|
+
### Changed
|
|
63
|
+
|
|
64
|
+
- **`EvolutionConfig.feedbackWindow` default is 15** (was a hard-coded 5). This
|
|
65
|
+
is the v0.6-roadmap "feedback window 5→15" upgrade: both the legacy optimizer
|
|
66
|
+
and the GEPA reflector now see more recent critic feedback by default. This is
|
|
67
|
+
the one default-path behaviour change in this release — set
|
|
68
|
+
`feedbackWindow: 5` to restore the exact v0.6.0 input. A larger window is more
|
|
69
|
+
information for the optimizer, not a regression, but it is called out here so
|
|
70
|
+
the change is not silent.
|
|
71
|
+
|
|
72
|
+
### Notes
|
|
73
|
+
|
|
74
|
+
- The sequential-confidence gate (`requireConfidence` + `confidenceMethod`) and
|
|
75
|
+
the semantic-alignment embedder (`embed`) are configured through the **library
|
|
76
|
+
API** — construct `new SafetyGate({ requireConfidence, confidenceMethod })`
|
|
77
|
+
and `new DarwinLoop({ ..., safety, embed })`. The bundled `darwin` CLI runs
|
|
78
|
+
with safety defaults; the per-agent `EvolutionConfig` knobs (`useGepa`,
|
|
79
|
+
`paretoGate`, `paretoEpsilon`, `useCoverage` via `perKeyScores`,
|
|
80
|
+
`feedbackWindow`, `reflectionMinibatchSize`, `normalizeForJudging`) are honored
|
|
81
|
+
by any loop constructed with the agent.
|
|
82
|
+
- The mSPRT closed form is expressed in estimator coordinates with the Welch
|
|
83
|
+
variance of the difference of means — robust to unequal arm variances and free
|
|
84
|
+
of the sample-mean form's `n` vs `n²` ambiguity.
|
|
85
|
+
|
|
5
86
|
## [0.6.0-alpha.1] — 2026-06-10
|
|
6
87
|
|
|
7
88
|
**GEPA goes online.** The GEPA-style reflective optimizer (shipped as a
|
package/README.md
CHANGED
|
@@ -143,6 +143,45 @@ paths. Pair with `requireConfidence` on your `SafetyThresholds` for a
|
|
|
143
143
|
peeking-resistant A/B gate. All of it is off unless you opt in — existing
|
|
144
144
|
agents behave exactly as before.
|
|
145
145
|
|
|
146
|
+
### Statistical rigor + coverage sampling (v0.7, opt-in)
|
|
147
|
+
|
|
148
|
+
v0.7 makes the evolution loop statistically honest and brings the GEPA optimizer
|
|
149
|
+
closer to the paper. Every piece is additive and off by default (one exception:
|
|
150
|
+
the feedback window default rose from 5 to 15):
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
import { SafetyGate, DarwinLoop } from 'darwin-agents';
|
|
154
|
+
|
|
155
|
+
// Always-valid sequential A/B gate — peeking-resistant after every run.
|
|
156
|
+
const safety = new SafetyGate({
|
|
157
|
+
minDataPoints: 10,
|
|
158
|
+
maxRegression: 0.2,
|
|
159
|
+
failureRollbackThreshold: 3,
|
|
160
|
+
requireConfidence: true,
|
|
161
|
+
confidenceMethod: 'msprt', // Mixture SPRT (or 'hoeffding' — σ-free, conservative)
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
const loop = new DarwinLoop({
|
|
165
|
+
memory, tracker, optimizer, safety, patterns, agent,
|
|
166
|
+
embed: myBatchEmbedder, // opt-in semantic alignment guard (zero hard deps — injected)
|
|
167
|
+
});
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
- **mSPRT / Hoeffding confidence sequences** — a margin win is adopted only when
|
|
171
|
+
it clears an always-valid significance bar, so monitoring after every run no
|
|
172
|
+
longer inflates false positives.
|
|
173
|
+
- **ε-Pareto gate** (`evolution.paretoEpsilon`) — forgive a microscopic
|
|
174
|
+
regression on one objective when a challenger wins decisively on another.
|
|
175
|
+
- **Instance-wise coverage sampling** (`useCoverage` + per-variant `perKeyScores`)
|
|
176
|
+
— GEPA Algorithm 2: keep/sample the variants that excel on the most *different*
|
|
177
|
+
task subsets, not N copies of the global-average winner.
|
|
178
|
+
- **Semantic alignment guard** — a *reworded* safety constraint is no longer a
|
|
179
|
+
false rejection; a *removed* one still is (fail-closed without an embedder).
|
|
180
|
+
- **Epoch-shuffled reflection minibatch** (`reflectionMinibatchSize`) + a
|
|
181
|
+
configurable `feedbackWindow` (default 15).
|
|
182
|
+
- **Style-bias-free judging** (`normalizeForJudging`) — strip markdown before the
|
|
183
|
+
critic scores, so it measures content not formatting.
|
|
184
|
+
|
|
146
185
|
## Built-in Agents
|
|
147
186
|
|
|
148
187
|
| Agent | What it does | Needs |
|
|
@@ -397,7 +436,7 @@ The safety gate prevents regressions. If a new variant scores >20% lower, Darwin
|
|
|
397
436
|
## Known Limitations
|
|
398
437
|
|
|
399
438
|
- **LLM-as-Judge bias**: Critics use LLMs to evaluate LLM outputs. We mitigate this with multi-model critics (GPT + Claude), but inherent self-preference bias exists. [Research context](https://openreview.net/forum?id=Ns8zGZ0lmM).
|
|
400
|
-
- **Statistical simplicity**: A/B tests use mean comparison with a 5% threshold by default, not formal significance tests. `computeDynamicMinRuns()` adjusts sample sizes based on variance,
|
|
439
|
+
- **Statistical simplicity (default)**: A/B tests use mean comparison with a 5% threshold by default, not formal significance tests. `computeDynamicMinRuns()` adjusts sample sizes based on variance. For rigor, v0.6 added an opt-in `requireConfidence` effect-size gate and **v0.7 ships proper always-valid sequential tests** — set `confidenceMethod: 'msprt'` (Mixture SPRT) or `'hoeffding'` (σ-free confidence sequence) on your `SafetyThresholds` to make the peeking-resistant gate statistically sound. The default path remains the simple threshold for zero-config use.
|
|
401
440
|
- **No human-in-the-loop approval**: Prompt mutations go directly to A/B testing. Telegram notifications inform you, but there's no approval gate before testing starts.
|
|
402
441
|
|
|
403
442
|
## Contributing
|
package/dist/src/cli/run.js
CHANGED
|
@@ -264,7 +264,7 @@ async function runCommandInner(flags, agent, config, memory) {
|
|
|
264
264
|
provider: criticInfo?.provider,
|
|
265
265
|
});
|
|
266
266
|
return criticRun.output;
|
|
267
|
-
}, agent.name);
|
|
267
|
+
}, agent.name, { normalizeForJudging: agent.evolution?.normalizeForJudging });
|
|
268
268
|
if (multiResult.medianScore > 0) {
|
|
269
269
|
result.experiment.metrics.qualityScore = multiResult.medianScore;
|
|
270
270
|
result.experiment.feedback = {
|
package/dist/src/cli/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,4 +45,48 @@ export declare const SAFETY_PATTERNS: RegExp[];
|
|
|
45
45
|
* or a human-readable rejection reason naming the eroded keywords.
|
|
46
46
|
*/
|
|
47
47
|
export declare function checkAlignmentPreservation(original: string, mutated: string): string | null;
|
|
48
|
+
/**
|
|
49
|
+
* Batch embedding function. Returns one vector per input text (same order).
|
|
50
|
+
* INJECTED — Darwin keeps zero hard deps, so the caller supplies the embedder
|
|
51
|
+
* (OpenAI `text-embedding-3-small`, a local model, Anthropic, whatever). Pure
|
|
52
|
+
* keyword checking needs none of this; semantic checking is strictly opt-in.
|
|
53
|
+
*
|
|
54
|
+
* NEW v0.7.0.
|
|
55
|
+
*/
|
|
56
|
+
export type EmbedFn = (texts: string[]) => Promise<number[][]>;
|
|
57
|
+
export interface SemanticAlignmentOptions {
|
|
58
|
+
/** Injected batch embedder. When omitted, the check is keyword-only (fail-closed). */
|
|
59
|
+
embed?: EmbedFn;
|
|
60
|
+
/**
|
|
61
|
+
* Cosine-similarity threshold above which an eroded safety keyword is judged
|
|
62
|
+
* to have been REWORDED (not removed) and the mutation is accepted. Default
|
|
63
|
+
* 0.82 — high enough that only a genuinely equivalent restatement passes.
|
|
64
|
+
*/
|
|
65
|
+
minSafetySimilarity?: number;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Semantic alignment guard (v0.7.0) — the embedding-distance upgrade to the
|
|
69
|
+
* keyword-count {@link checkAlignmentPreservation}. The keyword check is
|
|
70
|
+
* conservative BY DESIGN: it rejects a reworded-but-equivalent constraint
|
|
71
|
+
* ("never reveal secrets" → "you must keep secrets confidential") as if the
|
|
72
|
+
* safety instruction were removed. That false-positive costs a wasted
|
|
73
|
+
* evolution cycle every time the optimizer legitimately rephrases.
|
|
74
|
+
*
|
|
75
|
+
* This function keeps the keyword check as the first, cheap gate, and ONLY
|
|
76
|
+
* when it trips does it spend embeddings to ask: "is the safety statement
|
|
77
|
+
* still semantically present, just worded differently?" For every safety
|
|
78
|
+
* sentence in the original that contained an eroded keyword, it checks whether
|
|
79
|
+
* the mutated prompt still contains a sentence above `minSafetySimilarity`. If
|
|
80
|
+
* EVERY eroded safety sentence has a close semantic match, the rewording is
|
|
81
|
+
* accepted (returns null). Otherwise the keyword rejection stands.
|
|
82
|
+
*
|
|
83
|
+
* Fail-closed contract preserved:
|
|
84
|
+
* - keyword check passes ⇒ null (no embedding spent)
|
|
85
|
+
* - keyword check fails AND no `embed` supplied ⇒ keyword rejection (== sync)
|
|
86
|
+
* - keyword check fails, embed supplied, embedding errors ⇒ keyword rejection
|
|
87
|
+
*
|
|
88
|
+
* So a missing/broken embedder NEVER weakens the guard — it just falls back to
|
|
89
|
+
* the strict keyword behaviour.
|
|
90
|
+
*/
|
|
91
|
+
export declare function checkAlignmentPreservationSemantic(original: string, mutated: string, opts?: SemanticAlignmentOptions): Promise<string | null>;
|
|
48
92
|
//# sourceMappingURL=alignment.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alignment.d.ts","sourceRoot":"","sources":["../../../src/evolution/alignment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,EAWnC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAuBf"}
|
|
1
|
+
{"version":3,"file":"alignment.d.ts","sourceRoot":"","sources":["../../../src/evolution/alignment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,EAWnC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAuBf;AAID;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAE/D,MAAM,WAAW,wBAAwB;IACvC,sFAAsF;IACtF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAID;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,wBAA6B,GAClC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqDxB"}
|
|
@@ -74,4 +74,128 @@ export function checkAlignmentPreservation(original, mutated) {
|
|
|
74
74
|
}
|
|
75
75
|
return null;
|
|
76
76
|
}
|
|
77
|
+
const DEFAULT_SAFETY_SIMILARITY = 0.82;
|
|
78
|
+
/**
|
|
79
|
+
* Semantic alignment guard (v0.7.0) — the embedding-distance upgrade to the
|
|
80
|
+
* keyword-count {@link checkAlignmentPreservation}. The keyword check is
|
|
81
|
+
* conservative BY DESIGN: it rejects a reworded-but-equivalent constraint
|
|
82
|
+
* ("never reveal secrets" → "you must keep secrets confidential") as if the
|
|
83
|
+
* safety instruction were removed. That false-positive costs a wasted
|
|
84
|
+
* evolution cycle every time the optimizer legitimately rephrases.
|
|
85
|
+
*
|
|
86
|
+
* This function keeps the keyword check as the first, cheap gate, and ONLY
|
|
87
|
+
* when it trips does it spend embeddings to ask: "is the safety statement
|
|
88
|
+
* still semantically present, just worded differently?" For every safety
|
|
89
|
+
* sentence in the original that contained an eroded keyword, it checks whether
|
|
90
|
+
* the mutated prompt still contains a sentence above `minSafetySimilarity`. If
|
|
91
|
+
* EVERY eroded safety sentence has a close semantic match, the rewording is
|
|
92
|
+
* accepted (returns null). Otherwise the keyword rejection stands.
|
|
93
|
+
*
|
|
94
|
+
* Fail-closed contract preserved:
|
|
95
|
+
* - keyword check passes ⇒ null (no embedding spent)
|
|
96
|
+
* - keyword check fails AND no `embed` supplied ⇒ keyword rejection (== sync)
|
|
97
|
+
* - keyword check fails, embed supplied, embedding errors ⇒ keyword rejection
|
|
98
|
+
*
|
|
99
|
+
* So a missing/broken embedder NEVER weakens the guard — it just falls back to
|
|
100
|
+
* the strict keyword behaviour.
|
|
101
|
+
*/
|
|
102
|
+
export async function checkAlignmentPreservationSemantic(original, mutated, opts = {}) {
|
|
103
|
+
const keywordResult = checkAlignmentPreservation(original, mutated);
|
|
104
|
+
if (keywordResult === null)
|
|
105
|
+
return null; // safe — fast path, no embeddings
|
|
106
|
+
if (!opts.embed)
|
|
107
|
+
return keywordResult; // fail-closed: keyword-only
|
|
108
|
+
const threshold = Number.isFinite(opts.minSafetySimilarity) &&
|
|
109
|
+
opts.minSafetySimilarity > 0 &&
|
|
110
|
+
opts.minSafetySimilarity <= 1
|
|
111
|
+
? opts.minSafetySimilarity
|
|
112
|
+
: DEFAULT_SAFETY_SIMILARITY;
|
|
113
|
+
// Which patterns actually eroded? Re-derive from SAFETY_PATTERNS.
|
|
114
|
+
const eroded = erodedPatterns(original, mutated);
|
|
115
|
+
if (eroded.length === 0)
|
|
116
|
+
return keywordResult; // shouldn't happen, be safe
|
|
117
|
+
// Original sentences carrying an eroded safety keyword = the statements we
|
|
118
|
+
// must prove still exist (semantically) in the mutated prompt.
|
|
119
|
+
const originalSentences = splitSentences(original);
|
|
120
|
+
const safetySentences = originalSentences.filter((s) => eroded.some((p) => new RegExp(p.source, 'i').test(s)));
|
|
121
|
+
if (safetySentences.length === 0)
|
|
122
|
+
return keywordResult;
|
|
123
|
+
const mutatedSentences = splitSentences(mutated);
|
|
124
|
+
if (mutatedSentences.length === 0)
|
|
125
|
+
return keywordResult; // nothing to match → reject
|
|
126
|
+
try {
|
|
127
|
+
// One batched embed call: [...safetySentences, ...mutatedSentences].
|
|
128
|
+
const all = await opts.embed([...safetySentences, ...mutatedSentences]);
|
|
129
|
+
if (!Array.isArray(all) || all.length !== safetySentences.length + mutatedSentences.length) {
|
|
130
|
+
return keywordResult; // malformed embedder output → fail-closed
|
|
131
|
+
}
|
|
132
|
+
const safetyVecs = all.slice(0, safetySentences.length);
|
|
133
|
+
const mutatedVecs = all.slice(safetySentences.length);
|
|
134
|
+
// Every eroded safety sentence must have a close match in the mutation.
|
|
135
|
+
for (const sv of safetyVecs) {
|
|
136
|
+
let best = -Infinity;
|
|
137
|
+
for (const mv of mutatedVecs) {
|
|
138
|
+
const sim = cosine(sv, mv);
|
|
139
|
+
if (sim > best)
|
|
140
|
+
best = sim;
|
|
141
|
+
}
|
|
142
|
+
if (!(best >= threshold)) {
|
|
143
|
+
// This safety statement has no semantic equivalent in the mutation.
|
|
144
|
+
return keywordResult;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// All eroded safety statements survive semantically → reworded, accept.
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
return keywordResult; // embedder threw → fail-closed
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/** SAFETY_PATTERNS whose occurrence count dropped from original → mutated. */
|
|
155
|
+
function erodedPatterns(original, mutated) {
|
|
156
|
+
const o = original.toLowerCase();
|
|
157
|
+
const m = mutated.toLowerCase();
|
|
158
|
+
const out = [];
|
|
159
|
+
for (const pattern of SAFETY_PATTERNS) {
|
|
160
|
+
const oc = o.match(new RegExp(pattern.source, 'gi'))?.length ?? 0;
|
|
161
|
+
const mc = m.match(new RegExp(pattern.source, 'gi'))?.length ?? 0;
|
|
162
|
+
if (oc > 0 && mc < oc)
|
|
163
|
+
out.push(pattern);
|
|
164
|
+
}
|
|
165
|
+
return out;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Split prose into trimmed, non-empty sentences. Boundaries: terminal
|
|
169
|
+
* punctuation followed by whitespace, terminal punctuation directly followed
|
|
170
|
+
* by an uppercase letter (handles "...secrets.Be transparent." with no space —
|
|
171
|
+
* otherwise two sentences fuse and a dropped safety constraint could ride in
|
|
172
|
+
* on a partial semantic match), or newlines.
|
|
173
|
+
*/
|
|
174
|
+
function splitSentences(text) {
|
|
175
|
+
return text
|
|
176
|
+
.split(/(?<=[.!?])\s+|(?<=[.!?])(?=[A-Z])|\n+/)
|
|
177
|
+
.map((s) => s.trim())
|
|
178
|
+
.filter((s) => s.length > 0);
|
|
179
|
+
}
|
|
180
|
+
/** Cosine similarity. Returns 0 for zero/length-mismatched/non-finite vectors. */
|
|
181
|
+
function cosine(a, b) {
|
|
182
|
+
if (!Array.isArray(a) || !Array.isArray(b) || a.length === 0 || a.length !== b.length) {
|
|
183
|
+
return 0;
|
|
184
|
+
}
|
|
185
|
+
let dot = 0;
|
|
186
|
+
let na = 0;
|
|
187
|
+
let nb = 0;
|
|
188
|
+
for (let i = 0; i < a.length; i++) {
|
|
189
|
+
const av = a[i];
|
|
190
|
+
const bv = b[i];
|
|
191
|
+
if (!Number.isFinite(av) || !Number.isFinite(bv))
|
|
192
|
+
return 0;
|
|
193
|
+
dot += av * bv;
|
|
194
|
+
na += av * av;
|
|
195
|
+
nb += bv * bv;
|
|
196
|
+
}
|
|
197
|
+
if (na === 0 || nb === 0)
|
|
198
|
+
return 0;
|
|
199
|
+
return dot / (Math.sqrt(na) * Math.sqrt(nb));
|
|
200
|
+
}
|
|
77
201
|
//# sourceMappingURL=alignment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alignment.js","sourceRoot":"","sources":["../../../src/evolution/alignment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,eAAe,GAAa;IACvC,aAAa;IACb,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,aAAa;IACb,aAAa;IACb,WAAW;IACX,aAAa;IACb,UAAU;IACV,gBAAgB;CACjB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAAgB,EAChB,OAAe;IAEf,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAE3C,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9E,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAE5E,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,YAAY,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC1C,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,mEAAmE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACzG,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"alignment.js","sourceRoot":"","sources":["../../../src/evolution/alignment.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ import type { SafetyGate } from './safety.js';
|
|
|
16
16
|
import type { PatternDetector } from './patterns.js';
|
|
17
17
|
import type { NotificationConfig } from './notifications.js';
|
|
18
18
|
import type { GepaOptimizer } from './optimizer-gepa.js';
|
|
19
|
+
import { type EmbedFn } from './alignment.js';
|
|
19
20
|
export interface EvolutionResult {
|
|
20
21
|
patternsFound: DarwinPattern[];
|
|
21
22
|
promptEvolved: boolean;
|
|
@@ -43,6 +44,20 @@ interface DarwinLoopDeps {
|
|
|
43
44
|
* false) to keep the legacy single-shot path — behaviour is unchanged.
|
|
44
45
|
*/
|
|
45
46
|
gepa?: GepaOptimizer;
|
|
47
|
+
/**
|
|
48
|
+
* v0.7.0 — Optional batch embedder. When present, the GEPA mutation path
|
|
49
|
+
* upgrades its alignment guard from keyword-count to the semantic
|
|
50
|
+
* (embedding-distance) check: a safety constraint that was REWORDED (not
|
|
51
|
+
* removed) is accepted instead of triggering a false-positive rejection.
|
|
52
|
+
* When omitted, the guard stays keyword-only (fail-closed). Darwin keeps
|
|
53
|
+
* zero hard deps — you inject the embedder.
|
|
54
|
+
*/
|
|
55
|
+
embed?: EmbedFn;
|
|
56
|
+
/**
|
|
57
|
+
* v0.7.0 — Cosine-similarity threshold for the semantic alignment guard
|
|
58
|
+
* (only used when `embed` is set). Default 0.82.
|
|
59
|
+
*/
|
|
60
|
+
alignmentSimilarityThreshold?: number;
|
|
46
61
|
}
|
|
47
62
|
export declare class DarwinLoop {
|
|
48
63
|
private memory;
|
|
@@ -53,6 +68,8 @@ export declare class DarwinLoop {
|
|
|
53
68
|
private agent?;
|
|
54
69
|
private notifications;
|
|
55
70
|
private gepa?;
|
|
71
|
+
private embed?;
|
|
72
|
+
private alignmentSimilarityThreshold?;
|
|
56
73
|
constructor(deps: DarwinLoopDeps);
|
|
57
74
|
/**
|
|
58
75
|
* Called AFTER every agent run. Drives the evolution cycle.
|
|
@@ -76,6 +93,17 @@ export declare class DarwinLoop {
|
|
|
76
93
|
* Activate a specific prompt version and deactivate all others.
|
|
77
94
|
*/
|
|
78
95
|
private activateVersion;
|
|
96
|
+
/**
|
|
97
|
+
* v0.7.0 — Configurable feedback window (default 15, was a hard-coded 5).
|
|
98
|
+
* A larger window gives both the legacy optimizer and the GEPA reflector
|
|
99
|
+
* more of the recent behaviour to learn from. Clamped to ≥ 1.
|
|
100
|
+
*/
|
|
101
|
+
private feedbackWindow;
|
|
102
|
+
/**
|
|
103
|
+
* v0.7.0 — Parse the integer out of a "vN" version string for use as the
|
|
104
|
+
* epoch-shuffled-minibatch epoch. "v1"→1, "v12"→12; non-parsable→0.
|
|
105
|
+
*/
|
|
106
|
+
private versionInt;
|
|
79
107
|
/**
|
|
80
108
|
* Extract recent critic feedback reports from experiments.
|
|
81
109
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../../src/evolution/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../../src/evolution/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAkE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAK9G,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,UAAU,cAAc;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,eAAe,CAAC;IAC1B,gEAAgE;IAChE,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACvC;AAYD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,KAAK,CAAC,CAAkB;IAChC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAgB;IAC7B,OAAO,CAAC,KAAK,CAAC,CAAU;IACxB,OAAO,CAAC,4BAA4B,CAAC,CAAS;gBAElC,IAAI,EAAE,cAAc;IAahC;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;YAwPxD,YAAY;IAwJ1B;;;OAGG;YACW,QAAQ;IA8BtB;;OAEG;YACW,eAAe;IAe7B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAMtB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAKlB;;;;;;OAMG;YACW,iBAAiB;IAe/B;;;;;;;;;;;;;;;;;OAiBG;YACW,mBAAmB;IAkEjC;;;;;;OAMG;YACW,qBAAqB;IAsBnC;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAKvB;;;OAGG;YACW,mBAAmB;IAiDjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAsB1B"}
|