@metaharness/darwin 0.1.0 → 0.2.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.
- package/README.md +69 -7
- package/dist/archive.d.ts +15 -0
- package/dist/archive.d.ts.map +1 -1
- package/dist/archive.js +41 -0
- package/dist/archive.js.map +1 -1
- package/dist/bench/promotion.d.ts.map +1 -1
- package/dist/bench/promotion.js +1 -0
- package/dist/bench/promotion.js.map +1 -1
- package/dist/bench/stats.d.ts +14 -0
- package/dist/bench/stats.d.ts.map +1 -1
- package/dist/bench/stats.js +38 -2
- package/dist/bench/stats.js.map +1 -1
- package/dist/bench/types.d.ts +4 -0
- package/dist/bench/types.d.ts.map +1 -1
- package/dist/clade.d.ts +26 -0
- package/dist/clade.d.ts.map +1 -0
- package/dist/clade.js +115 -0
- package/dist/clade.js.map +1 -0
- package/dist/cli.js +34 -1
- package/dist/cli.js.map +1 -1
- package/dist/curriculum.d.ts +19 -0
- package/dist/curriculum.d.ts.map +1 -0
- package/dist/curriculum.js +48 -0
- package/dist/curriculum.js.map +1 -0
- package/dist/epistasis.d.ts +40 -0
- package/dist/epistasis.d.ts.map +1 -0
- package/dist/epistasis.js +88 -0
- package/dist/epistasis.js.map +1 -0
- package/dist/evolve.d.ts +9 -1
- package/dist/evolve.d.ts.map +1 -1
- package/dist/evolve.js +314 -9
- package/dist/evolve.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/mock-sandbox.d.ts +58 -0
- package/dist/mock-sandbox.d.ts.map +1 -0
- package/dist/mock-sandbox.js +119 -0
- package/dist/mock-sandbox.js.map +1 -0
- package/dist/mutator.d.ts +44 -2
- package/dist/mutator.d.ts.map +1 -1
- package/dist/mutator.js +100 -7
- package/dist/mutator.js.map +1 -1
- package/dist/openrouter-mutator.d.ts.map +1 -1
- package/dist/openrouter-mutator.js +5 -2
- package/dist/openrouter-mutator.js.map +1 -1
- package/dist/pareto.d.ts +7 -0
- package/dist/pareto.d.ts.map +1 -0
- package/dist/pareto.js +46 -0
- package/dist/pareto.js.map +1 -0
- package/dist/phenotype.d.ts +83 -0
- package/dist/phenotype.d.ts.map +1 -0
- package/dist/phenotype.js +189 -0
- package/dist/phenotype.js.map +1 -0
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +6 -1
- package/dist/templates.js.map +1 -1
- package/dist/tier2-driver.d.ts +10 -0
- package/dist/tier2-driver.d.ts.map +1 -0
- package/dist/tier2-driver.js +62 -0
- package/dist/tier2-driver.js.map +1 -0
- package/dist/tier2-sandbox.d.ts +18 -0
- package/dist/tier2-sandbox.d.ts.map +1 -0
- package/dist/tier2-sandbox.js +91 -0
- package/dist/tier2-sandbox.js.map +1 -0
- package/dist/types.d.ts +99 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,+BAA+B;AAC/B,EAAE;AACF,0BAA0B;AAC1B,EAAE;AACF,sEAAsE;AACtE,kEAAkE;AAClE,2EAA2E;AAC3E,gEAAgE;AAChE,iDAAiD;AACjD,EAAE;AACF,iFAAiF;AACjF,uDAAuD;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIhF,SAAS,IAAI,CAAC,IAAY,EAAE,QAAgB;IAC1C,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,GAAG,CAAC,IAAY,EAAE,QAAgB;IACzC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC3C,CAAC;AAED,SAAS,WAAW,CAAC,MAAuB;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;SACtB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAM,CAAC;QACnB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE;YAC7C,MAAM,CAAC,CAAC,OAAO,CAAC,eAAe,aAAa,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtE,UAAU,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAChD,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QAChE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC;QACjD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wBAAwB,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACnF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,KAAK,UAAU,QAAQ;IACrB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE5B,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC;QACjF,2EAA2E;QAC3E,8EAA8E;QAC9E,MAAM,IAAI,GAAkB;YAC1B,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,wBAAwB;YAC/B,MAAM,EAAE,uCAAuC;YAC/C,iBAAiB,EAAE,OAAO,CAAC,WAAW;YACtC,iBAAiB,EAAE,OAAO,CAAC,WAAW;YACtC,qBAAqB,EAAE,OAAO,CAAC,WAAW;YAC1C,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,CAAC;YACb,oBAAoB,EAAE,EAAE;YACxB,YAAY,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,WAAW,EAAE,mBAAmB,CAAC;YAC/F,eAAe,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,yBAAyB,CAAC;YACxF,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;SAC/B,CAAC;QACF,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,MAAM,eAAe,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACjH,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB;QACxD,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,gBAAgB,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAChK,OAAO;IACT,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8CAA8C;YAC5C,2SAA2S;YAC3S,8CAA8C;YAC9C,+BAA+B,CAClC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAEnD,sEAAsE;IACtE,0EAA0E;IAC1E,8EAA8E;IAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;IACpF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,SAAS,GACb,MAAM,KAAK,mBAAmB;QAC9B,MAAM,KAAK,sBAAsB;QACjC,MAAM,KAAK,gBAAgB;QAC3B,MAAM,KAAK,OAAO;QAClB,MAAM,KAAK,QAAQ;QACjB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,OAAO,CAAC;IACd,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC1C,MAAM,eAAe,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAE3E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;QAC1B,QAAQ;QACR,QAAQ;QACR,WAAW,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;QACpC,qBAAqB,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3C,WAAW,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;QACpC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtB,cAAc,EAAE,IAAI;QACpB,KAAK,EAAE;YACL,2BAA2B;YAC3B,iCAAiC;YACjC,qBAAqB;SACtB;QACD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,UAAU;QACV,SAAS;QACT,SAAS;QACT,SAAS;KACV,CAAC,CAAC;IAEH,WAAW,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,QAAQ,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { BenchSuite, BenchmarkTask } from './bench/types.js';
|
|
2
|
+
/** Tasks at or below the current difficulty level (the admitted curriculum tier). */
|
|
3
|
+
export declare function admittedTasks(tasks: readonly BenchmarkTask[], level: number): BenchmarkTask[];
|
|
4
|
+
/**
|
|
5
|
+
* A hash-pinned sub-suite of just the admitted tasks. Re-pinned via `makeSuite`
|
|
6
|
+
* so it still passes `verifySuite` (selecting a tier is not tampering). Falls
|
|
7
|
+
* back to the lowest-difficulty tasks if `level` admits none (so a generation is
|
|
8
|
+
* never scored on an empty suite).
|
|
9
|
+
*/
|
|
10
|
+
export declare function curriculumSuite(suite: BenchSuite, level: number): BenchSuite;
|
|
11
|
+
/** The highest difficulty present in the suite — the curriculum's top rung. */
|
|
12
|
+
export declare function maxDifficulty(suite: BenchSuite): number;
|
|
13
|
+
/**
|
|
14
|
+
* Escalate the curriculum: if the population has MASTERED the current tier
|
|
15
|
+
* (mean solve rate ≥ `threshold`), advance one level (capped at the suite's top
|
|
16
|
+
* rung); otherwise hold. Pure. Default threshold 0.9.
|
|
17
|
+
*/
|
|
18
|
+
export declare function nextCurriculumLevel(level: number, meanSolveRate: number, cap: number, threshold?: number): number;
|
|
19
|
+
//# sourceMappingURL=curriculum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curriculum.d.ts","sourceRoot":"","sources":["../src/curriculum.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAElE,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAE7F;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAO5E;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,SAAS,SAAM,GACd,MAAM,CAGR"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
//
|
|
3
|
+
// Self-directed curriculum (ADR-097) — a difficulty LADDER over the benchmark.
|
|
4
|
+
// The honest fix for the "degenerate manifold" (Gap 3, benchmark saturation):
|
|
5
|
+
// scoring every variant on the full suite from generation 0 means an easy suite
|
|
6
|
+
// never forces struggle, so the high-complexity Poincaré frontier (ADR-091/092)
|
|
7
|
+
// stays empty. Instead, sequence the EXISTING graded tasks by their `difficulty`
|
|
8
|
+
// (1..5): admit only difficulty ≤ L, and raise L once the population MASTERS the
|
|
9
|
+
// current tier. Harder tasks arrive exactly when the agents are ready for them —
|
|
10
|
+
// "the perfect exam for the current population".
|
|
11
|
+
//
|
|
12
|
+
// This reuses real task metadata (no LLM task synthesis, no fabrication); it is
|
|
13
|
+
// pure and deterministic. An LLM-backed adversarial-task generator can extend it
|
|
14
|
+
// later behind the same admit() seam, but the deterministic ladder works today.
|
|
15
|
+
import { makeSuite } from './bench/suite.js';
|
|
16
|
+
/** Tasks at or below the current difficulty level (the admitted curriculum tier). */
|
|
17
|
+
export function admittedTasks(tasks, level) {
|
|
18
|
+
return tasks.filter((t) => t.difficulty <= level);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A hash-pinned sub-suite of just the admitted tasks. Re-pinned via `makeSuite`
|
|
22
|
+
* so it still passes `verifySuite` (selecting a tier is not tampering). Falls
|
|
23
|
+
* back to the lowest-difficulty tasks if `level` admits none (so a generation is
|
|
24
|
+
* never scored on an empty suite).
|
|
25
|
+
*/
|
|
26
|
+
export function curriculumSuite(suite, level) {
|
|
27
|
+
let tasks = admittedTasks(suite.tasks, level);
|
|
28
|
+
if (tasks.length === 0 && suite.tasks.length > 0) {
|
|
29
|
+
const min = Math.min(...suite.tasks.map((t) => t.difficulty));
|
|
30
|
+
tasks = suite.tasks.filter((t) => t.difficulty === min);
|
|
31
|
+
}
|
|
32
|
+
return makeSuite(suite.id, suite.version, tasks);
|
|
33
|
+
}
|
|
34
|
+
/** The highest difficulty present in the suite — the curriculum's top rung. */
|
|
35
|
+
export function maxDifficulty(suite) {
|
|
36
|
+
return suite.tasks.reduce((m, t) => Math.max(m, t.difficulty), 1);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Escalate the curriculum: if the population has MASTERED the current tier
|
|
40
|
+
* (mean solve rate ≥ `threshold`), advance one level (capped at the suite's top
|
|
41
|
+
* rung); otherwise hold. Pure. Default threshold 0.9.
|
|
42
|
+
*/
|
|
43
|
+
export function nextCurriculumLevel(level, meanSolveRate, cap, threshold = 0.9) {
|
|
44
|
+
if (meanSolveRate >= threshold && level < cap)
|
|
45
|
+
return level + 1;
|
|
46
|
+
return level;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=curriculum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curriculum.js","sourceRoot":"","sources":["../src/curriculum.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,iFAAiF;AACjF,iFAAiF;AACjF,iDAAiD;AACjD,EAAE;AACF,gFAAgF;AAChF,iFAAiF;AACjF,gFAAgF;AAEhF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,qFAAqF;AACrF,MAAM,UAAU,aAAa,CAAC,KAA+B,EAAE,KAAa;IAC1E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAiB,EAAE,KAAa;IAC9D,IAAI,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9D,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC7C,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,aAAqB,EACrB,GAAW,EACX,SAAS,GAAG,GAAG;IAEf,IAAI,aAAa,IAAI,SAAS,IAAI,KAAK,GAAG,GAAG;QAAE,OAAO,KAAK,GAAG,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { MutationSurface } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* A learned, symmetric epistatic-linkage graph over the seven mutation surfaces.
|
|
4
|
+
* Edge weight = accumulated evidence that two surfaces are co-adapted (they
|
|
5
|
+
* change together in successful lineages).
|
|
6
|
+
*/
|
|
7
|
+
export declare class LinkageGraph {
|
|
8
|
+
private readonly edges;
|
|
9
|
+
/** Add `weight` of co-occurrence evidence to every pair within `surfaces`. */
|
|
10
|
+
record(surfaces: readonly MutationSurface[], weight: number): void;
|
|
11
|
+
/** Co-adaptation weight between two surfaces (0 if never co-observed). */
|
|
12
|
+
weight(a: MutationSurface, b: MutationSurface): number;
|
|
13
|
+
/**
|
|
14
|
+
* Surfaces linked to `a` with weight ≥ `minWeight`, strongest first
|
|
15
|
+
* (deterministic: ties break by the canonical SURFACES order). Excludes `a`.
|
|
16
|
+
*/
|
|
17
|
+
linkedTo(a: MutationSurface, minWeight?: number): MutationSurface[];
|
|
18
|
+
/** Serializable snapshot (for the work-tree report); sorted for determinism. */
|
|
19
|
+
toJSON(): Array<{
|
|
20
|
+
pair: string;
|
|
21
|
+
weight: number;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Build a linkage graph from scored lineages. Each lineage contributes the set
|
|
26
|
+
* of surfaces mutated along it, weighted by its finalScore (clamped ≥ 0), so
|
|
27
|
+
* surfaces that co-occur in HIGH-fitness lineages accrue the most weight. Pure.
|
|
28
|
+
*/
|
|
29
|
+
export declare function buildLinkage(lineages: ReadonlyArray<{
|
|
30
|
+
surfaces: readonly MutationSurface[];
|
|
31
|
+
score: number;
|
|
32
|
+
}>): LinkageGraph;
|
|
33
|
+
/**
|
|
34
|
+
* The epistatic block to inherit from parentB in a topology-aware crossover: a
|
|
35
|
+
* seed surface plus its strongly-linked neighbours (so co-adapted surfaces stay
|
|
36
|
+
* together), kept a PROPER non-empty subset of the seven. Deterministic in
|
|
37
|
+
* `(seed surface, graph)`. Falls back to just the seed when nothing is linked.
|
|
38
|
+
*/
|
|
39
|
+
export declare function linkedCrossoverBlock(graph: LinkageGraph, seedSurface: MutationSurface, minWeight?: number): MutationSurface[];
|
|
40
|
+
//# sourceMappingURL=epistasis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"epistasis.d.ts","sourceRoot":"","sources":["../src/epistasis.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAOlD;;;;GAIG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD,8EAA8E;IAC9E,MAAM,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWlE,0EAA0E;IAC1E,MAAM,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,eAAe,GAAG,MAAM;IAKtD;;;OAGG;IACH,QAAQ,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,SAAI,GAAG,eAAe,EAAE;IAQ9D,gFAAgF;IAChF,MAAM,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAKlD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,aAAa,CAAC;IAAE,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAC/E,YAAY,CAMd;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,eAAe,EAC5B,SAAS,SAAI,GACZ,eAAe,EAAE,CAKnB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
//
|
|
3
|
+
// Epistatic linkage learning (ADR-093). Crossover (ADR-089) swaps a RANDOM subset
|
|
4
|
+
// of surfaces between parents. But surfaces are epistatic: a `planner` change may
|
|
5
|
+
// only pay off when matched by a complementary `retryPolicy` change. Splitting a
|
|
6
|
+
// co-adapted pair destroys both. This module LEARNS which surfaces co-occur in
|
|
7
|
+
// high-fitness lineages and lets crossover keep linked surfaces together —
|
|
8
|
+
// topology-aware recombination instead of blind swapping.
|
|
9
|
+
//
|
|
10
|
+
// The linkage model is a symmetric, surface×surface co-occurrence graph weighted
|
|
11
|
+
// by the finalScore of the lineages a pair appears in. Dependency-free and
|
|
12
|
+
// deterministic. NOTE on RuVector: `ruvnet/ruvector` implements GNN message
|
|
13
|
+
// passing that can refine these edge weights (propagating linkage through the
|
|
14
|
+
// graph) at scale; this native co-occurrence graph is the dependency-free model
|
|
15
|
+
// that works today, behind the same `LinkageGraph` seam.
|
|
16
|
+
import { SURFACES } from './safety.js';
|
|
17
|
+
/** Sorted, stable key for an unordered surface pair. */
|
|
18
|
+
function pairKey(a, b) {
|
|
19
|
+
return a < b ? `${a}|${b}` : `${b}|${a}`;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A learned, symmetric epistatic-linkage graph over the seven mutation surfaces.
|
|
23
|
+
* Edge weight = accumulated evidence that two surfaces are co-adapted (they
|
|
24
|
+
* change together in successful lineages).
|
|
25
|
+
*/
|
|
26
|
+
export class LinkageGraph {
|
|
27
|
+
edges = new Map();
|
|
28
|
+
/** Add `weight` of co-occurrence evidence to every pair within `surfaces`. */
|
|
29
|
+
record(surfaces, weight) {
|
|
30
|
+
if (weight <= 0)
|
|
31
|
+
return;
|
|
32
|
+
const uniq = [...new Set(surfaces)];
|
|
33
|
+
for (let i = 0; i < uniq.length; i++) {
|
|
34
|
+
for (let j = i + 1; j < uniq.length; j++) {
|
|
35
|
+
const k = pairKey(uniq[i], uniq[j]);
|
|
36
|
+
this.edges.set(k, (this.edges.get(k) ?? 0) + weight);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/** Co-adaptation weight between two surfaces (0 if never co-observed). */
|
|
41
|
+
weight(a, b) {
|
|
42
|
+
if (a === b)
|
|
43
|
+
return 0;
|
|
44
|
+
return this.edges.get(pairKey(a, b)) ?? 0;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Surfaces linked to `a` with weight ≥ `minWeight`, strongest first
|
|
48
|
+
* (deterministic: ties break by the canonical SURFACES order). Excludes `a`.
|
|
49
|
+
*/
|
|
50
|
+
linkedTo(a, minWeight = 0) {
|
|
51
|
+
return SURFACES.filter((s) => s !== a && this.weight(a, s) >= minWeight && this.weight(a, s) > 0)
|
|
52
|
+
.sort((x, y) => {
|
|
53
|
+
const d = this.weight(a, y) - this.weight(a, x);
|
|
54
|
+
return d !== 0 ? d : SURFACES.indexOf(x) - SURFACES.indexOf(y);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/** Serializable snapshot (for the work-tree report); sorted for determinism. */
|
|
58
|
+
toJSON() {
|
|
59
|
+
return [...this.edges.entries()]
|
|
60
|
+
.map(([pair, weight]) => ({ pair, weight }))
|
|
61
|
+
.sort((a, b) => b.weight - a.weight || (a.pair < b.pair ? -1 : 1));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Build a linkage graph from scored lineages. Each lineage contributes the set
|
|
66
|
+
* of surfaces mutated along it, weighted by its finalScore (clamped ≥ 0), so
|
|
67
|
+
* surfaces that co-occur in HIGH-fitness lineages accrue the most weight. Pure.
|
|
68
|
+
*/
|
|
69
|
+
export function buildLinkage(lineages) {
|
|
70
|
+
const graph = new LinkageGraph();
|
|
71
|
+
for (const { surfaces, score } of lineages) {
|
|
72
|
+
graph.record(surfaces, Math.max(0, score));
|
|
73
|
+
}
|
|
74
|
+
return graph;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The epistatic block to inherit from parentB in a topology-aware crossover: a
|
|
78
|
+
* seed surface plus its strongly-linked neighbours (so co-adapted surfaces stay
|
|
79
|
+
* together), kept a PROPER non-empty subset of the seven. Deterministic in
|
|
80
|
+
* `(seed surface, graph)`. Falls back to just the seed when nothing is linked.
|
|
81
|
+
*/
|
|
82
|
+
export function linkedCrossoverBlock(graph, seedSurface, minWeight = 0) {
|
|
83
|
+
const block = [seedSurface, ...graph.linkedTo(seedSurface, minWeight)];
|
|
84
|
+
const uniq = [...new Set(block)];
|
|
85
|
+
// Keep it a proper subset (never all seven) so crossover always mixes parents.
|
|
86
|
+
return uniq.length >= SURFACES.length ? uniq.slice(0, SURFACES.length - 1) : uniq;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=epistasis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"epistasis.js","sourceRoot":"","sources":["../src/epistasis.ts"],"names":[],"mappings":"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"}
|
package/dist/evolve.d.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
import type { EvolutionConfig, EvolutionResult } from './types.js';
|
|
1
|
+
import type { ArchiveRecord, EvolutionConfig, EvolutionResult, RunTrace } from './types.js';
|
|
2
2
|
/** Run async `fn` over `items` with at most `limit` in flight at once. Order-preserving. */
|
|
3
3
|
export declare function mapLimit<T, R>(items: T[], limit: number, fn: (item: T, index: number) => Promise<R>): Promise<R[]>;
|
|
4
|
+
/**
|
|
5
|
+
* Among scored records sharing the TOP finalScore, return the most efficient
|
|
6
|
+
* (lowest mean trace wall-clock). Pure: caller supplies the per-variant traces.
|
|
7
|
+
* Returns `null` only when no record is scored. This is the 'faster' tie-break
|
|
8
|
+
* (ADR-072 scorer is ceiling-bound, so the efficiency signal lives here, not in
|
|
9
|
+
* finalScore). NOT reproducible by construction — opt-in via config.tieBreaker.
|
|
10
|
+
*/
|
|
11
|
+
export declare function pickEfficientWinner(records: ArchiveRecord[], tracesById: Map<string, RunTrace[]>): ArchiveRecord | null;
|
|
4
12
|
/**
|
|
5
13
|
* Run a full Darwin Mode evolution. Returns the baseline, the winning record,
|
|
6
14
|
* the whole archive, and the winner's lineage. Side effects are confined to the
|
package/dist/evolve.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evolve.d.ts","sourceRoot":"","sources":["../src/evolve.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"evolve.d.ts","sourceRoot":"","sources":["../src/evolve.ts"],"names":[],"mappings":"AAwDA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,eAAe,EAGf,QAAQ,EAET,MAAM,YAAY,CAAC;AAKpB,4FAA4F;AAC5F,wBAAsB,QAAQ,CAAC,CAAC,EAAE,CAAC,EACjC,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,CAAC,EAAE,CAAC,CAad;AAiGD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,aAAa,EAAE,EACxB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,GAClC,aAAa,GAAG,IAAI,CAkBtB;AAeD;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAsT9E"}
|