@timmeck/brain-core 2.28.0 → 2.29.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/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/metacognition/evolution-engine.d.ts +113 -0
- package/dist/metacognition/evolution-engine.js +450 -0
- package/dist/metacognition/evolution-engine.js.map +1 -0
- package/dist/metacognition/index.d.ts +2 -0
- package/dist/metacognition/index.js +1 -0
- package/dist/metacognition/index.js.map +1 -1
- package/dist/research/research-orchestrator.d.ts +4 -0
- package/dist/research/research-orchestrator.js +30 -6
- package/dist/research/research-orchestrator.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -135,6 +135,8 @@ export { TeachEngine, runTeachEngineMigration } from './metacognition/index.js';
|
|
|
135
135
|
export type { TeachingPackage, TeachEngineStatus } from './metacognition/index.js';
|
|
136
136
|
export { SimulationEngine, runSimulationMigration } from './metacognition/index.js';
|
|
137
137
|
export type { Simulation, SimulationOutcome, SimulationStatus } from './metacognition/index.js';
|
|
138
|
+
export { EvolutionEngine, runEvolutionMigration } from './metacognition/index.js';
|
|
139
|
+
export type { EvolutionConfig, Genome, Individual, Generation, LineageEntry, EvolutionDataSources, EvolutionStatus } from './metacognition/index.js';
|
|
138
140
|
export { MemoryPalace, runMemoryPalaceMigration } from './memory-palace/index.js';
|
|
139
141
|
export type { MemoryPalaceConfig, MemoryPalaceDataSources, NodeType, RelationType, KnowledgeConnection, KnowledgeNode, KnowledgeEdge, KnowledgeMap, PathStep, MemoryPalaceStats, BuildResult, MemoryPalaceStatus, } from './memory-palace/index.js';
|
|
140
142
|
export { GoalEngine, runGoalEngineMigration } from './goals/index.js';
|
package/dist/index.js
CHANGED
|
@@ -119,6 +119,7 @@ export { AutoExperimentEngine, runAutoExperimentMigration } from './metacognitio
|
|
|
119
119
|
export { SelfTestEngine, runSelfTestMigration } from './metacognition/index.js';
|
|
120
120
|
export { TeachEngine, runTeachEngineMigration } from './metacognition/index.js';
|
|
121
121
|
export { SimulationEngine, runSimulationMigration } from './metacognition/index.js';
|
|
122
|
+
export { EvolutionEngine, runEvolutionMigration } from './metacognition/index.js';
|
|
122
123
|
// ── Memory Palace ──────────────────────────────────────
|
|
123
124
|
export { MemoryPalace, runMemoryPalaceMigration } from './memory-palace/index.js';
|
|
124
125
|
// ── Goal Engine ──────────────────────────────────────────
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type Database from 'better-sqlite3';
|
|
2
|
+
import type { ParameterRegistry } from './parameter-registry.js';
|
|
3
|
+
import type { ThoughtStream } from '../consciousness/thought-stream.js';
|
|
4
|
+
export interface EvolutionConfig {
|
|
5
|
+
brainName: string;
|
|
6
|
+
populationSize?: number;
|
|
7
|
+
mutationRate?: number;
|
|
8
|
+
eliteCount?: number;
|
|
9
|
+
tournamentSize?: number;
|
|
10
|
+
generationEvery?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface Genome {
|
|
13
|
+
[key: string]: number;
|
|
14
|
+
}
|
|
15
|
+
export interface Individual {
|
|
16
|
+
id?: number;
|
|
17
|
+
generation: number;
|
|
18
|
+
genome: Genome;
|
|
19
|
+
fitness: number;
|
|
20
|
+
rank: number;
|
|
21
|
+
isActive: boolean;
|
|
22
|
+
parentAId: number | null;
|
|
23
|
+
parentBId: number | null;
|
|
24
|
+
mutationCount: number;
|
|
25
|
+
createdAt?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface Generation {
|
|
28
|
+
id?: number;
|
|
29
|
+
generation: number;
|
|
30
|
+
bestFitness: number;
|
|
31
|
+
avgFitness: number;
|
|
32
|
+
worstFitness: number;
|
|
33
|
+
populationSize: number;
|
|
34
|
+
diversity: number;
|
|
35
|
+
timestamp?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface LineageEntry {
|
|
38
|
+
id?: number;
|
|
39
|
+
childId: number;
|
|
40
|
+
parentId: number;
|
|
41
|
+
crossoverPoint: string;
|
|
42
|
+
createdAt?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface EvolutionDataSources {
|
|
45
|
+
getReportCards: () => Array<{
|
|
46
|
+
engine: string;
|
|
47
|
+
combined_score: number;
|
|
48
|
+
}>;
|
|
49
|
+
getGoalProgress: () => number;
|
|
50
|
+
getPredictionAccuracy: () => number;
|
|
51
|
+
getPrincipleCount: () => number;
|
|
52
|
+
getHypothesisCount: () => number;
|
|
53
|
+
}
|
|
54
|
+
export interface EvolutionStatus {
|
|
55
|
+
currentGeneration: number;
|
|
56
|
+
populationSize: number;
|
|
57
|
+
bestFitness: number;
|
|
58
|
+
avgFitness: number;
|
|
59
|
+
totalIndividuals: number;
|
|
60
|
+
isInitialized: boolean;
|
|
61
|
+
config: {
|
|
62
|
+
populationSize: number;
|
|
63
|
+
mutationRate: number;
|
|
64
|
+
eliteCount: number;
|
|
65
|
+
tournamentSize: number;
|
|
66
|
+
generationEvery: number;
|
|
67
|
+
};
|
|
68
|
+
champion: Individual | null;
|
|
69
|
+
}
|
|
70
|
+
export declare function runEvolutionMigration(db: Database.Database): void;
|
|
71
|
+
export declare class EvolutionEngine {
|
|
72
|
+
private readonly db;
|
|
73
|
+
private readonly registry;
|
|
74
|
+
private readonly brainName;
|
|
75
|
+
private readonly populationSize;
|
|
76
|
+
private readonly mutationRate;
|
|
77
|
+
private readonly eliteCount;
|
|
78
|
+
private readonly tournamentSize;
|
|
79
|
+
readonly generationEvery: number;
|
|
80
|
+
private thoughtStream;
|
|
81
|
+
private dataSources;
|
|
82
|
+
private currentGeneration;
|
|
83
|
+
constructor(db: Database.Database, registry: ParameterRegistry, config: EvolutionConfig);
|
|
84
|
+
setThoughtStream(stream: ThoughtStream): void;
|
|
85
|
+
setDataSources(sources: EvolutionDataSources): void;
|
|
86
|
+
initializePopulation(): void;
|
|
87
|
+
evaluateFitness(individual: Individual): number;
|
|
88
|
+
runGeneration(): Generation;
|
|
89
|
+
tournamentSelect(population: Individual[], size: number): Individual;
|
|
90
|
+
crossover(parentA: Individual, parentB: Individual): {
|
|
91
|
+
child: Genome;
|
|
92
|
+
crossoverPoints: string[];
|
|
93
|
+
};
|
|
94
|
+
mutateGenome(genome: Genome, rate: number): {
|
|
95
|
+
genome: Genome;
|
|
96
|
+
mutations: number;
|
|
97
|
+
};
|
|
98
|
+
activate(genome: Genome): void;
|
|
99
|
+
getStatus(): EvolutionStatus;
|
|
100
|
+
getHistory(limit?: number): Generation[];
|
|
101
|
+
getBestIndividual(): Individual | null;
|
|
102
|
+
getPopulation(generation?: number): Individual[];
|
|
103
|
+
getLineage(individualId: number): LineageEntry[];
|
|
104
|
+
private getCurrentGenome;
|
|
105
|
+
private randomVariant;
|
|
106
|
+
private insertIndividual;
|
|
107
|
+
private computeNovelty;
|
|
108
|
+
private computeDiversity;
|
|
109
|
+
private getPopulationInternal;
|
|
110
|
+
private rowToIndividual;
|
|
111
|
+
/** Box-Muller transform for Gaussian noise with mean=0, σ=1 */
|
|
112
|
+
private gaussianNoise;
|
|
113
|
+
}
|
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
// ── Migration ───────────────────────────────────────────
|
|
2
|
+
export function runEvolutionMigration(db) {
|
|
3
|
+
db.exec(`
|
|
4
|
+
CREATE TABLE IF NOT EXISTS evolution_generations (
|
|
5
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
6
|
+
generation INTEGER NOT NULL,
|
|
7
|
+
best_fitness REAL NOT NULL DEFAULT 0,
|
|
8
|
+
avg_fitness REAL NOT NULL DEFAULT 0,
|
|
9
|
+
worst_fitness REAL NOT NULL DEFAULT 0,
|
|
10
|
+
population_size INTEGER NOT NULL DEFAULT 0,
|
|
11
|
+
diversity REAL NOT NULL DEFAULT 0,
|
|
12
|
+
timestamp TEXT NOT NULL DEFAULT (datetime('now'))
|
|
13
|
+
);
|
|
14
|
+
|
|
15
|
+
CREATE TABLE IF NOT EXISTS evolution_individuals (
|
|
16
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
17
|
+
generation INTEGER NOT NULL,
|
|
18
|
+
genome_json TEXT NOT NULL,
|
|
19
|
+
fitness REAL NOT NULL DEFAULT 0,
|
|
20
|
+
rank INTEGER NOT NULL DEFAULT 0,
|
|
21
|
+
is_active INTEGER NOT NULL DEFAULT 0,
|
|
22
|
+
parent_a_id INTEGER,
|
|
23
|
+
parent_b_id INTEGER,
|
|
24
|
+
mutation_count INTEGER NOT NULL DEFAULT 0,
|
|
25
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
CREATE TABLE IF NOT EXISTS evolution_lineage (
|
|
29
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
30
|
+
child_id INTEGER NOT NULL,
|
|
31
|
+
parent_id INTEGER NOT NULL,
|
|
32
|
+
crossover_point TEXT NOT NULL DEFAULT '',
|
|
33
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
34
|
+
);
|
|
35
|
+
`);
|
|
36
|
+
}
|
|
37
|
+
// ── Engine ──────────────────────────────────────────────
|
|
38
|
+
export class EvolutionEngine {
|
|
39
|
+
db;
|
|
40
|
+
registry;
|
|
41
|
+
brainName;
|
|
42
|
+
populationSize;
|
|
43
|
+
mutationRate;
|
|
44
|
+
eliteCount;
|
|
45
|
+
tournamentSize;
|
|
46
|
+
generationEvery;
|
|
47
|
+
thoughtStream = null;
|
|
48
|
+
dataSources = null;
|
|
49
|
+
currentGeneration = 0;
|
|
50
|
+
constructor(db, registry, config) {
|
|
51
|
+
this.db = db;
|
|
52
|
+
this.registry = registry;
|
|
53
|
+
this.brainName = config.brainName;
|
|
54
|
+
this.populationSize = config.populationSize ?? 15;
|
|
55
|
+
this.mutationRate = config.mutationRate ?? 0.15;
|
|
56
|
+
this.eliteCount = config.eliteCount ?? 2;
|
|
57
|
+
this.tournamentSize = config.tournamentSize ?? 3;
|
|
58
|
+
this.generationEvery = config.generationEvery ?? 20;
|
|
59
|
+
runEvolutionMigration(db);
|
|
60
|
+
// Restore generation counter from DB
|
|
61
|
+
const row = db.prepare('SELECT MAX(generation) AS gen FROM evolution_generations').get();
|
|
62
|
+
if (row?.gen)
|
|
63
|
+
this.currentGeneration = row.gen;
|
|
64
|
+
}
|
|
65
|
+
setThoughtStream(stream) {
|
|
66
|
+
this.thoughtStream = stream;
|
|
67
|
+
}
|
|
68
|
+
setDataSources(sources) {
|
|
69
|
+
this.dataSources = sources;
|
|
70
|
+
}
|
|
71
|
+
// ── Population Initialization ─────────────────────────
|
|
72
|
+
initializePopulation() {
|
|
73
|
+
// Idempotent — skip if we already have individuals
|
|
74
|
+
const existing = this.db.prepare('SELECT COUNT(*) AS cnt FROM evolution_individuals').get();
|
|
75
|
+
if (existing.cnt > 0)
|
|
76
|
+
return;
|
|
77
|
+
const currentGenome = this.getCurrentGenome();
|
|
78
|
+
if (Object.keys(currentGenome).length === 0)
|
|
79
|
+
return;
|
|
80
|
+
// Individual 0: current parameter configuration
|
|
81
|
+
this.insertIndividual(0, currentGenome, 0, null, null, 0, true);
|
|
82
|
+
// Remaining: random variants around current genome
|
|
83
|
+
for (let i = 1; i < this.populationSize; i++) {
|
|
84
|
+
const variant = this.randomVariant(currentGenome);
|
|
85
|
+
this.insertIndividual(0, variant.genome, 0, null, null, variant.mutations, false);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// ── Fitness Evaluation ────────────────────────────────
|
|
89
|
+
evaluateFitness(individual) {
|
|
90
|
+
// Apply this individual's genome temporarily — we just score it
|
|
91
|
+
// Fitness = weighted combination of data source metrics
|
|
92
|
+
if (!this.dataSources)
|
|
93
|
+
return 0;
|
|
94
|
+
let metaCogScore = 0;
|
|
95
|
+
try {
|
|
96
|
+
const cards = this.dataSources.getReportCards();
|
|
97
|
+
if (cards.length > 0) {
|
|
98
|
+
metaCogScore = cards.reduce((sum, c) => sum + c.combined_score, 0) / cards.length;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch { /* empty */ }
|
|
102
|
+
let goalProgress = 0;
|
|
103
|
+
try {
|
|
104
|
+
goalProgress = this.dataSources.getGoalProgress();
|
|
105
|
+
}
|
|
106
|
+
catch { /* empty */ }
|
|
107
|
+
let predAccuracy = 0;
|
|
108
|
+
try {
|
|
109
|
+
predAccuracy = this.dataSources.getPredictionAccuracy();
|
|
110
|
+
}
|
|
111
|
+
catch { /* empty */ }
|
|
112
|
+
let knowledgeQuality = 0;
|
|
113
|
+
try {
|
|
114
|
+
const principles = this.dataSources.getPrincipleCount();
|
|
115
|
+
const hypotheses = this.dataSources.getHypothesisCount();
|
|
116
|
+
knowledgeQuality = Math.min(1, (principles + hypotheses) / 100);
|
|
117
|
+
}
|
|
118
|
+
catch { /* empty */ }
|
|
119
|
+
const novelty = this.computeNovelty(individual.genome);
|
|
120
|
+
const fitness = metaCogScore * 0.4
|
|
121
|
+
+ goalProgress * 0.2
|
|
122
|
+
+ predAccuracy * 0.2
|
|
123
|
+
+ knowledgeQuality * 0.1
|
|
124
|
+
+ novelty * 0.1;
|
|
125
|
+
return Math.max(0, Math.min(1, fitness));
|
|
126
|
+
}
|
|
127
|
+
// ── Run a Generation ──────────────────────────────────
|
|
128
|
+
runGeneration() {
|
|
129
|
+
this.currentGeneration++;
|
|
130
|
+
const ts = this.thoughtStream;
|
|
131
|
+
ts?.emit('evolution', 'reflecting', `Running Evolution Generation #${this.currentGeneration}...`, 'notable');
|
|
132
|
+
// 1. Get current population (or initialize if empty)
|
|
133
|
+
let population = this.getPopulationInternal(this.currentGeneration - 1);
|
|
134
|
+
if (population.length === 0) {
|
|
135
|
+
// Re-initialize if somehow empty
|
|
136
|
+
this.initializePopulation();
|
|
137
|
+
population = this.getPopulationInternal(0);
|
|
138
|
+
}
|
|
139
|
+
// 2. Evaluate fitness for each individual
|
|
140
|
+
for (const ind of population) {
|
|
141
|
+
ind.fitness = this.evaluateFitness(ind);
|
|
142
|
+
}
|
|
143
|
+
// 3. Sort by fitness descending
|
|
144
|
+
population.sort((a, b) => b.fitness - a.fitness);
|
|
145
|
+
for (let i = 0; i < population.length; i++) {
|
|
146
|
+
population[i].rank = i + 1;
|
|
147
|
+
}
|
|
148
|
+
// 4. Build next generation
|
|
149
|
+
const nextPop = [];
|
|
150
|
+
// 4a. Elitism — carry top N unchanged
|
|
151
|
+
for (let i = 0; i < Math.min(this.eliteCount, population.length); i++) {
|
|
152
|
+
const elite = population[i];
|
|
153
|
+
nextPop.push({
|
|
154
|
+
generation: this.currentGeneration,
|
|
155
|
+
genome: { ...elite.genome },
|
|
156
|
+
fitness: elite.fitness,
|
|
157
|
+
rank: 0,
|
|
158
|
+
isActive: false,
|
|
159
|
+
parentAId: elite.id ?? null,
|
|
160
|
+
parentBId: null,
|
|
161
|
+
mutationCount: 0,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
// 4b. Fill rest via tournament selection + crossover + mutation
|
|
165
|
+
while (nextPop.length < this.populationSize) {
|
|
166
|
+
const parentA = this.tournamentSelect(population, this.tournamentSize);
|
|
167
|
+
const parentB = this.tournamentSelect(population, this.tournamentSize);
|
|
168
|
+
const { child, crossoverPoints } = this.crossover(parentA, parentB);
|
|
169
|
+
const { genome: mutated, mutations } = this.mutateGenome(child, this.mutationRate);
|
|
170
|
+
nextPop.push({
|
|
171
|
+
generation: this.currentGeneration,
|
|
172
|
+
genome: mutated,
|
|
173
|
+
fitness: 0,
|
|
174
|
+
rank: 0,
|
|
175
|
+
isActive: false,
|
|
176
|
+
parentAId: parentA.id ?? null,
|
|
177
|
+
parentBId: parentB.id ?? null,
|
|
178
|
+
mutationCount: mutations,
|
|
179
|
+
_crossoverPoints: crossoverPoints,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
// 5. Deactivate all previous individuals
|
|
183
|
+
this.db.prepare('UPDATE evolution_individuals SET is_active = 0').run();
|
|
184
|
+
// 6. Insert new population and record lineage
|
|
185
|
+
for (const ind of nextPop) {
|
|
186
|
+
const id = this.insertIndividual(ind.generation, ind.genome, ind.fitness, ind.parentAId, ind.parentBId, ind.mutationCount, false);
|
|
187
|
+
// Record lineage
|
|
188
|
+
const points = ind._crossoverPoints;
|
|
189
|
+
if (ind.parentAId) {
|
|
190
|
+
this.db.prepare('INSERT INTO evolution_lineage (child_id, parent_id, crossover_point) VALUES (?, ?, ?)').run(id, ind.parentAId, points?.join(',') ?? 'elite');
|
|
191
|
+
}
|
|
192
|
+
if (ind.parentBId) {
|
|
193
|
+
this.db.prepare('INSERT INTO evolution_lineage (child_id, parent_id, crossover_point) VALUES (?, ?, ?)').run(id, ind.parentBId, points?.join(',') ?? 'crossover');
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
// 7. Activate best individual (apply its genome to registry)
|
|
197
|
+
const best = nextPop[0]; // Elites are first
|
|
198
|
+
this.activate(best.genome);
|
|
199
|
+
// Mark as active in DB
|
|
200
|
+
const bestRow = this.db.prepare('SELECT id FROM evolution_individuals WHERE generation = ? ORDER BY fitness DESC LIMIT 1').get(this.currentGeneration);
|
|
201
|
+
if (bestRow) {
|
|
202
|
+
this.db.prepare('UPDATE evolution_individuals SET is_active = 1 WHERE id = ?').run(bestRow.id);
|
|
203
|
+
}
|
|
204
|
+
// 8. Record generation stats
|
|
205
|
+
const fitnesses = population.map(p => p.fitness);
|
|
206
|
+
const avgFitness = fitnesses.length > 0 ? fitnesses.reduce((a, b) => a + b, 0) / fitnesses.length : 0;
|
|
207
|
+
const bestFitness = fitnesses.length > 0 ? Math.max(...fitnesses) : 0;
|
|
208
|
+
const worstFitness = fitnesses.length > 0 ? Math.min(...fitnesses) : 0;
|
|
209
|
+
const diversity = this.computeDiversity(nextPop.map(i => i.genome));
|
|
210
|
+
this.db.prepare(`
|
|
211
|
+
INSERT INTO evolution_generations (generation, best_fitness, avg_fitness, worst_fitness, population_size, diversity)
|
|
212
|
+
VALUES (?, ?, ?, ?, ?, ?)
|
|
213
|
+
`).run(this.currentGeneration, bestFitness, avgFitness, worstFitness, nextPop.length, diversity);
|
|
214
|
+
const gen = {
|
|
215
|
+
generation: this.currentGeneration,
|
|
216
|
+
bestFitness,
|
|
217
|
+
avgFitness,
|
|
218
|
+
worstFitness,
|
|
219
|
+
populationSize: nextPop.length,
|
|
220
|
+
diversity,
|
|
221
|
+
};
|
|
222
|
+
ts?.emit('evolution', 'reflecting', `Generation #${this.currentGeneration}: best=${bestFitness.toFixed(3)} avg=${avgFitness.toFixed(3)} diversity=${diversity.toFixed(3)}`, bestFitness > avgFitness * 1.2 ? 'notable' : 'routine');
|
|
223
|
+
return gen;
|
|
224
|
+
}
|
|
225
|
+
// ── Selection ─────────────────────────────────────────
|
|
226
|
+
tournamentSelect(population, size) {
|
|
227
|
+
const contestants = [];
|
|
228
|
+
for (let i = 0; i < Math.min(size, population.length); i++) {
|
|
229
|
+
const idx = Math.floor(Math.random() * population.length);
|
|
230
|
+
contestants.push(population[idx]);
|
|
231
|
+
}
|
|
232
|
+
contestants.sort((a, b) => b.fitness - a.fitness);
|
|
233
|
+
return contestants[0];
|
|
234
|
+
}
|
|
235
|
+
// ── Crossover ─────────────────────────────────────────
|
|
236
|
+
crossover(parentA, parentB) {
|
|
237
|
+
const child = {};
|
|
238
|
+
const crossoverPoints = [];
|
|
239
|
+
const keys = new Set([...Object.keys(parentA.genome), ...Object.keys(parentB.genome)]);
|
|
240
|
+
for (const key of keys) {
|
|
241
|
+
const fromA = Math.random() < 0.5;
|
|
242
|
+
if (fromA && key in parentA.genome) {
|
|
243
|
+
child[key] = parentA.genome[key];
|
|
244
|
+
}
|
|
245
|
+
else if (key in parentB.genome) {
|
|
246
|
+
child[key] = parentB.genome[key];
|
|
247
|
+
crossoverPoints.push(key);
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
child[key] = parentA.genome[key];
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
return { child, crossoverPoints };
|
|
254
|
+
}
|
|
255
|
+
// ── Mutation ──────────────────────────────────────────
|
|
256
|
+
mutateGenome(genome, rate) {
|
|
257
|
+
const mutated = { ...genome };
|
|
258
|
+
let mutations = 0;
|
|
259
|
+
const params = this.registry.list();
|
|
260
|
+
for (const key of Object.keys(mutated)) {
|
|
261
|
+
if (Math.random() >= rate)
|
|
262
|
+
continue;
|
|
263
|
+
const [engine, name] = key.split(':');
|
|
264
|
+
const def = params.find(p => p.engine === engine && p.name === name);
|
|
265
|
+
if (!def)
|
|
266
|
+
continue;
|
|
267
|
+
const range = def.max - def.min;
|
|
268
|
+
const noise = this.gaussianNoise() * range * 0.1; // σ = 10% of range
|
|
269
|
+
let newVal = mutated[key] + noise;
|
|
270
|
+
// Clamp to bounds
|
|
271
|
+
newVal = Math.max(def.min, Math.min(def.max, newVal));
|
|
272
|
+
mutated[key] = newVal;
|
|
273
|
+
mutations++;
|
|
274
|
+
}
|
|
275
|
+
return { genome: mutated, mutations };
|
|
276
|
+
}
|
|
277
|
+
// ── Genome Application ────────────────────────────────
|
|
278
|
+
activate(genome) {
|
|
279
|
+
for (const [key, value] of Object.entries(genome)) {
|
|
280
|
+
const [engine, name] = key.split(':');
|
|
281
|
+
if (engine && name) {
|
|
282
|
+
this.registry.set(engine, name, value, 'evolution', `Generation #${this.currentGeneration}`);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
// ── Queries ───────────────────────────────────────────
|
|
287
|
+
getStatus() {
|
|
288
|
+
const totalIndividuals = this.db.prepare('SELECT COUNT(*) AS cnt FROM evolution_individuals').get().cnt;
|
|
289
|
+
const champion = this.getBestIndividual();
|
|
290
|
+
// Get latest generation stats
|
|
291
|
+
const latestGen = this.db.prepare('SELECT * FROM evolution_generations ORDER BY generation DESC LIMIT 1').get();
|
|
292
|
+
return {
|
|
293
|
+
currentGeneration: this.currentGeneration,
|
|
294
|
+
populationSize: this.populationSize,
|
|
295
|
+
bestFitness: latestGen?.best_fitness ?? 0,
|
|
296
|
+
avgFitness: latestGen?.avg_fitness ?? 0,
|
|
297
|
+
totalIndividuals,
|
|
298
|
+
isInitialized: totalIndividuals > 0,
|
|
299
|
+
config: {
|
|
300
|
+
populationSize: this.populationSize,
|
|
301
|
+
mutationRate: this.mutationRate,
|
|
302
|
+
eliteCount: this.eliteCount,
|
|
303
|
+
tournamentSize: this.tournamentSize,
|
|
304
|
+
generationEvery: this.generationEvery,
|
|
305
|
+
},
|
|
306
|
+
champion,
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
getHistory(limit = 20) {
|
|
310
|
+
const rows = this.db.prepare('SELECT * FROM evolution_generations ORDER BY generation DESC LIMIT ?').all(limit);
|
|
311
|
+
return rows.map(r => ({
|
|
312
|
+
id: r.id,
|
|
313
|
+
generation: r.generation,
|
|
314
|
+
bestFitness: r.best_fitness,
|
|
315
|
+
avgFitness: r.avg_fitness,
|
|
316
|
+
worstFitness: r.worst_fitness,
|
|
317
|
+
populationSize: r.population_size,
|
|
318
|
+
diversity: r.diversity,
|
|
319
|
+
timestamp: r.timestamp,
|
|
320
|
+
}));
|
|
321
|
+
}
|
|
322
|
+
getBestIndividual() {
|
|
323
|
+
const row = this.db.prepare('SELECT * FROM evolution_individuals ORDER BY fitness DESC LIMIT 1').get();
|
|
324
|
+
if (!row)
|
|
325
|
+
return null;
|
|
326
|
+
return this.rowToIndividual(row);
|
|
327
|
+
}
|
|
328
|
+
getPopulation(generation) {
|
|
329
|
+
const gen = generation ?? this.currentGeneration;
|
|
330
|
+
return this.getPopulationInternal(gen);
|
|
331
|
+
}
|
|
332
|
+
getLineage(individualId) {
|
|
333
|
+
const rows = this.db.prepare('SELECT * FROM evolution_lineage WHERE child_id = ? ORDER BY id').all(individualId);
|
|
334
|
+
return rows.map(r => ({
|
|
335
|
+
id: r.id,
|
|
336
|
+
childId: r.child_id,
|
|
337
|
+
parentId: r.parent_id,
|
|
338
|
+
crossoverPoint: r.crossover_point,
|
|
339
|
+
createdAt: r.created_at,
|
|
340
|
+
}));
|
|
341
|
+
}
|
|
342
|
+
// ── Private Helpers ───────────────────────────────────
|
|
343
|
+
getCurrentGenome() {
|
|
344
|
+
const genome = {};
|
|
345
|
+
const params = this.registry.list();
|
|
346
|
+
for (const p of params) {
|
|
347
|
+
genome[`${p.engine}:${p.name}`] = p.value;
|
|
348
|
+
}
|
|
349
|
+
return genome;
|
|
350
|
+
}
|
|
351
|
+
randomVariant(base) {
|
|
352
|
+
const variant = { ...base };
|
|
353
|
+
let mutations = 0;
|
|
354
|
+
const params = this.registry.list();
|
|
355
|
+
for (const key of Object.keys(variant)) {
|
|
356
|
+
// Each parameter has a 40% chance of mutation for initial diversity
|
|
357
|
+
if (Math.random() >= 0.4)
|
|
358
|
+
continue;
|
|
359
|
+
const [engine, name] = key.split(':');
|
|
360
|
+
const def = params.find(p => p.engine === engine && p.name === name);
|
|
361
|
+
if (!def)
|
|
362
|
+
continue;
|
|
363
|
+
const range = def.max - def.min;
|
|
364
|
+
// Wider noise for initialization: σ = 20% of range
|
|
365
|
+
const noise = this.gaussianNoise() * range * 0.2;
|
|
366
|
+
variant[key] = Math.max(def.min, Math.min(def.max, variant[key] + noise));
|
|
367
|
+
mutations++;
|
|
368
|
+
}
|
|
369
|
+
return { genome: variant, mutations };
|
|
370
|
+
}
|
|
371
|
+
insertIndividual(generation, genome, fitness, parentAId, parentBId, mutationCount, isActive) {
|
|
372
|
+
const result = this.db.prepare(`
|
|
373
|
+
INSERT INTO evolution_individuals (generation, genome_json, fitness, rank, is_active, parent_a_id, parent_b_id, mutation_count)
|
|
374
|
+
VALUES (?, ?, ?, 0, ?, ?, ?, ?)
|
|
375
|
+
`).run(generation, JSON.stringify(genome), fitness, isActive ? 1 : 0, parentAId, parentBId, mutationCount);
|
|
376
|
+
return Number(result.lastInsertRowid);
|
|
377
|
+
}
|
|
378
|
+
computeNovelty(genome) {
|
|
379
|
+
// Compare to existing population — how different is this genome?
|
|
380
|
+
const rows = this.db.prepare('SELECT genome_json FROM evolution_individuals WHERE generation = ? LIMIT 50').all(this.currentGeneration);
|
|
381
|
+
if (rows.length === 0)
|
|
382
|
+
return 0.5; // Neutral novelty for first individual
|
|
383
|
+
const keys = Object.keys(genome);
|
|
384
|
+
if (keys.length === 0)
|
|
385
|
+
return 0;
|
|
386
|
+
let totalDist = 0;
|
|
387
|
+
for (const row of rows) {
|
|
388
|
+
const other = JSON.parse(row.genome_json);
|
|
389
|
+
let dist = 0;
|
|
390
|
+
for (const key of keys) {
|
|
391
|
+
const a = genome[key] ?? 0;
|
|
392
|
+
const b = other[key] ?? 0;
|
|
393
|
+
const [engine, name] = key.split(':');
|
|
394
|
+
const def = this.registry.list().find(p => p.engine === engine && p.name === name);
|
|
395
|
+
const range = def ? (def.max - def.min) : 1;
|
|
396
|
+
dist += range > 0 ? Math.abs(a - b) / range : 0;
|
|
397
|
+
}
|
|
398
|
+
totalDist += keys.length > 0 ? dist / keys.length : 0;
|
|
399
|
+
}
|
|
400
|
+
return Math.min(1, totalDist / rows.length);
|
|
401
|
+
}
|
|
402
|
+
computeDiversity(genomes) {
|
|
403
|
+
if (genomes.length < 2)
|
|
404
|
+
return 0;
|
|
405
|
+
const keys = Object.keys(genomes[0] ?? {});
|
|
406
|
+
if (keys.length === 0)
|
|
407
|
+
return 0;
|
|
408
|
+
let totalVariance = 0;
|
|
409
|
+
for (const key of keys) {
|
|
410
|
+
const values = genomes.map(g => g[key] ?? 0);
|
|
411
|
+
const mean = values.reduce((a, b) => a + b, 0) / values.length;
|
|
412
|
+
const variance = values.reduce((sum, v) => sum + (v - mean) ** 2, 0) / values.length;
|
|
413
|
+
const [engine, name] = key.split(':');
|
|
414
|
+
const def = this.registry.list().find(p => p.engine === engine && p.name === name);
|
|
415
|
+
const range = def ? (def.max - def.min) : 1;
|
|
416
|
+
// Normalize variance by range^2
|
|
417
|
+
totalVariance += range > 0 ? variance / (range * range) : 0;
|
|
418
|
+
}
|
|
419
|
+
return Math.min(1, Math.sqrt(totalVariance / keys.length));
|
|
420
|
+
}
|
|
421
|
+
getPopulationInternal(generation) {
|
|
422
|
+
const rows = this.db.prepare('SELECT * FROM evolution_individuals WHERE generation = ? ORDER BY fitness DESC').all(generation);
|
|
423
|
+
return rows.map(r => this.rowToIndividual(r));
|
|
424
|
+
}
|
|
425
|
+
rowToIndividual(r) {
|
|
426
|
+
return {
|
|
427
|
+
id: r.id,
|
|
428
|
+
generation: r.generation,
|
|
429
|
+
genome: JSON.parse(r.genome_json),
|
|
430
|
+
fitness: r.fitness,
|
|
431
|
+
rank: r.rank,
|
|
432
|
+
isActive: r.is_active === 1,
|
|
433
|
+
parentAId: r.parent_a_id,
|
|
434
|
+
parentBId: r.parent_b_id,
|
|
435
|
+
mutationCount: r.mutation_count,
|
|
436
|
+
createdAt: r.created_at,
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
/** Box-Muller transform for Gaussian noise with mean=0, σ=1 */
|
|
440
|
+
gaussianNoise() {
|
|
441
|
+
let u = 0;
|
|
442
|
+
let v = 0;
|
|
443
|
+
while (u === 0)
|
|
444
|
+
u = Math.random();
|
|
445
|
+
while (v === 0)
|
|
446
|
+
v = Math.random();
|
|
447
|
+
return Math.sqrt(-2.0 * Math.log(u)) * Math.cos(2.0 * Math.PI * v);
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
//# sourceMappingURL=evolution-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evolution-engine.js","sourceRoot":"","sources":["../../src/metacognition/evolution-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,3 +10,5 @@ export { TeachEngine, runTeachEngineMigration } from './teach-engine.js';
|
|
|
10
10
|
export type { TeachingPackage, TeachEngineStatus } from './teach-engine.js';
|
|
11
11
|
export { SimulationEngine, runSimulationMigration } from './simulation-engine.js';
|
|
12
12
|
export type { Simulation, SimulationOutcome, SimulationStatus } from './simulation-engine.js';
|
|
13
|
+
export { EvolutionEngine, runEvolutionMigration } from './evolution-engine.js';
|
|
14
|
+
export type { EvolutionConfig, Genome, Individual, Generation, LineageEntry, EvolutionDataSources, EvolutionStatus } from './evolution-engine.js';
|
|
@@ -4,4 +4,5 @@ export { AutoExperimentEngine, runAutoExperimentMigration } from './auto-experim
|
|
|
4
4
|
export { SelfTestEngine, runSelfTestMigration } from './self-test-engine.js';
|
|
5
5
|
export { TeachEngine, runTeachEngineMigration } from './teach-engine.js';
|
|
6
6
|
export { SimulationEngine, runSimulationMigration } from './simulation-engine.js';
|
|
7
|
+
export { EvolutionEngine, runEvolutionMigration } from './evolution-engine.js';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metacognition/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAG3F,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAG1F,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAG/F,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAGzE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metacognition/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAG3F,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAG1F,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAG/F,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7E,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAGzE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGlF,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -33,6 +33,7 @@ import type { DataScout } from './data-scout.js';
|
|
|
33
33
|
import type { SimulationEngine } from '../metacognition/simulation-engine.js';
|
|
34
34
|
import type { MemoryPalace } from '../memory-palace/memory-palace.js';
|
|
35
35
|
import type { GoalEngine } from '../goals/goal-engine.js';
|
|
36
|
+
import type { EvolutionEngine } from '../metacognition/evolution-engine.js';
|
|
36
37
|
import { AutoResponder } from './auto-responder.js';
|
|
37
38
|
export interface ResearchOrchestratorConfig {
|
|
38
39
|
brainName: string;
|
|
@@ -79,6 +80,7 @@ export declare class ResearchOrchestrator {
|
|
|
79
80
|
private simulationEngine;
|
|
80
81
|
private memoryPalace;
|
|
81
82
|
private goalEngine;
|
|
83
|
+
private evolutionEngine;
|
|
82
84
|
private brainName;
|
|
83
85
|
private feedbackTimer;
|
|
84
86
|
private cycleCount;
|
|
@@ -134,6 +136,8 @@ export declare class ResearchOrchestrator {
|
|
|
134
136
|
setMemoryPalace(palace: MemoryPalace): void;
|
|
135
137
|
/** Set the GoalEngine — autonomous goal setting and tracking. */
|
|
136
138
|
setGoalEngine(engine: GoalEngine): void;
|
|
139
|
+
/** Set the EvolutionEngine — evolves parameter configurations via genetic algorithm. */
|
|
140
|
+
setEvolutionEngine(engine: EvolutionEngine): void;
|
|
137
141
|
/** Set the PredictionEngine — wires journal into it. */
|
|
138
142
|
setPredictionEngine(engine: PredictionEngine): void;
|
|
139
143
|
/** Start the autonomous feedback loop timer. */
|
|
@@ -48,6 +48,7 @@ export class ResearchOrchestrator {
|
|
|
48
48
|
simulationEngine = null;
|
|
49
49
|
memoryPalace = null;
|
|
50
50
|
goalEngine = null;
|
|
51
|
+
evolutionEngine = null;
|
|
51
52
|
brainName;
|
|
52
53
|
feedbackTimer = null;
|
|
53
54
|
cycleCount = 0;
|
|
@@ -156,6 +157,8 @@ export class ResearchOrchestrator {
|
|
|
156
157
|
setMemoryPalace(palace) { this.memoryPalace = palace; }
|
|
157
158
|
/** Set the GoalEngine — autonomous goal setting and tracking. */
|
|
158
159
|
setGoalEngine(engine) { this.goalEngine = engine; }
|
|
160
|
+
/** Set the EvolutionEngine — evolves parameter configurations via genetic algorithm. */
|
|
161
|
+
setEvolutionEngine(engine) { this.evolutionEngine = engine; }
|
|
159
162
|
/** Set the PredictionEngine — wires journal into it. */
|
|
160
163
|
setPredictionEngine(engine) {
|
|
161
164
|
this.predictionEngine = engine;
|
|
@@ -536,9 +539,9 @@ export class ResearchOrchestrator {
|
|
|
536
539
|
}
|
|
537
540
|
this.feedExperimentMeasurements(anomalies.length, insights.length);
|
|
538
541
|
}
|
|
539
|
-
// 13. Periodic Dream Consolidation: don't wait for idle, consolidate every
|
|
540
|
-
if (this.dreamEngine && this.cycleCount %
|
|
541
|
-
ts?.emit('dream', 'dreaming', 'Scheduled consolidation starting (every
|
|
542
|
+
// 13. Periodic Dream Consolidation: don't wait for idle, consolidate every 10 cycles
|
|
543
|
+
if (this.dreamEngine && this.cycleCount % 10 === 0) {
|
|
544
|
+
ts?.emit('dream', 'dreaming', 'Scheduled consolidation starting (every 10 cycles)...');
|
|
542
545
|
try {
|
|
543
546
|
this.dreamEngine.consolidate('auto');
|
|
544
547
|
ts?.emit('dream', 'dreaming', 'Scheduled consolidation complete', 'notable');
|
|
@@ -911,8 +914,8 @@ export class ResearchOrchestrator {
|
|
|
911
914
|
this.log.warn(`[orchestrator] Step 25 error: ${err.message}`);
|
|
912
915
|
}
|
|
913
916
|
}
|
|
914
|
-
// Step 26: Dream Retrospective — analyze pruning regret (every
|
|
915
|
-
if (this.dreamEngine && this.cycleCount %
|
|
917
|
+
// Step 26: Dream Retrospective — analyze pruning regret (every 10 cycles)
|
|
918
|
+
if (this.dreamEngine && this.cycleCount % 10 === 0) {
|
|
916
919
|
try {
|
|
917
920
|
ts?.emit('orchestrator', 'reflecting', 'Step 26: Analyzing dream retrospective...', 'routine');
|
|
918
921
|
const retrospectives = this.dreamEngine.analyzeRetrospective(5);
|
|
@@ -1146,6 +1149,27 @@ export class ResearchOrchestrator {
|
|
|
1146
1149
|
this.log.warn(`[orchestrator] Step 35 error: ${err.message}`);
|
|
1147
1150
|
}
|
|
1148
1151
|
}
|
|
1152
|
+
// Step 36: EvolutionEngine — evolve parameter configurations (every generationEvery cycles, default 20)
|
|
1153
|
+
if (this.evolutionEngine && this.cycleCount % this.evolutionEngine.generationEvery === 0) {
|
|
1154
|
+
try {
|
|
1155
|
+
ts?.emit('evolution', 'reflecting', 'Step 36: Running evolution generation...', 'routine');
|
|
1156
|
+
const gen = this.evolutionEngine.runGeneration();
|
|
1157
|
+
this.journal.write({
|
|
1158
|
+
type: 'experiment',
|
|
1159
|
+
title: `Evolution Generation #${gen.generation}`,
|
|
1160
|
+
content: `best=${gen.bestFitness.toFixed(3)} avg=${gen.avgFitness.toFixed(3)} diversity=${gen.diversity.toFixed(3)} pop=${gen.populationSize}`,
|
|
1161
|
+
tags: [this.brainName, 'evolution', 'generation'],
|
|
1162
|
+
references: [],
|
|
1163
|
+
significance: gen.bestFitness > gen.avgFitness * 1.2 ? 'notable' : 'routine',
|
|
1164
|
+
data: { generation: gen },
|
|
1165
|
+
});
|
|
1166
|
+
if (this.metaCognitionLayer)
|
|
1167
|
+
this.metaCognitionLayer.recordStep('evolution_engine', this.cycleCount, { insights: 1, journal_entries: 1 });
|
|
1168
|
+
}
|
|
1169
|
+
catch (err) {
|
|
1170
|
+
this.log.warn(`[orchestrator] Step 36 error: ${err.message}`);
|
|
1171
|
+
}
|
|
1172
|
+
}
|
|
1149
1173
|
const duration = Date.now() - start;
|
|
1150
1174
|
ts?.emit('orchestrator', 'reflecting', `Feedback Cycle #${this.cycleCount} complete (${duration}ms)`);
|
|
1151
1175
|
this.log.info(`[orchestrator] ─── Feedback Cycle #${this.cycleCount} complete (${duration}ms) ───`);
|
|
@@ -1252,7 +1276,7 @@ export class ResearchOrchestrator {
|
|
|
1252
1276
|
}
|
|
1253
1277
|
}
|
|
1254
1278
|
const dream = summary.dream;
|
|
1255
|
-
if (dream && (dream.
|
|
1279
|
+
if (dream && (dream.totalCycles ?? 0) === 0 && this.cycleCount > 30) {
|
|
1256
1280
|
raw.push({
|
|
1257
1281
|
key: 'no_dreams', priority: 7,
|
|
1258
1282
|
suggestion: 'Tell Claude: Meine Dream-Konsolidierung funktioniert nicht — nach 30+ Cycles kein einziger Dream. Da stimmt was im Code nicht.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research-orchestrator.js","sourceRoot":"","sources":["../../src/research/research-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"research-orchestrator.js","sourceRoot":"","sources":["../../src/research/research-orchestrator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED