@timmeck/brain-core 2.32.0 → 2.34.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 +76 -28
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/research/bootstrap-service.d.ts +57 -0
- package/dist/research/bootstrap-service.js +325 -0
- package/dist/research/bootstrap-service.js.map +1 -0
- package/dist/research/data-miner.d.ts +1 -0
- package/dist/research/data-miner.js +22 -5
- package/dist/research/data-miner.js.map +1 -1
- package/dist/research/research-orchestrator.d.ts +4 -0
- package/dist/research/research-orchestrator.js +30 -0
- package/dist/research/research-orchestrator.js.map +1 -1
- package/dist/unified/unified-server.d.ts +17 -0
- package/dist/unified/unified-server.js +226 -0
- package/dist/unified/unified-server.js.map +1 -1
- package/package.json +1 -1
- package/unified-dashboard.html +1198 -1006
package/README.md
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
[](https://github.com/timmeck/brain-ecosystem)
|
|
7
7
|
|
|
8
|
-
**Shared infrastructure for the Brain Ecosystem —
|
|
8
|
+
**Shared infrastructure for the Brain Ecosystem — 30+ autonomous engines, synapses, IPC, MCP, dream mode, consciousness, prediction, reasoning, emotions, evolution, self-modification, and more.**
|
|
9
9
|
|
|
10
|
-
Brain Core is the nervous system that powers all three Brain MCP servers ([Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/brain), [Trading Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/trading-brain), [Marketing Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/marketing-brain)). All packages live in the [brain-ecosystem](https://github.com/timmeck/brain-ecosystem) monorepo.
|
|
10
|
+
Brain Core is the nervous system that powers all three Brain MCP servers ([Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/brain), [Trading Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/trading-brain), [Marketing Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/marketing-brain)). A 40-step feedback orchestrator runs 30+ engines in autonomic cycles — the brain observes itself, forms hypotheses, runs experiments, dreams, debates, reasons in chains, feels emotions, evolves strategies genetically, and modifies its own source code. All packages live in the [brain-ecosystem](https://github.com/timmeck/brain-ecosystem) monorepo.
|
|
11
11
|
|
|
12
12
|
## What's Included
|
|
13
13
|
|
|
@@ -40,7 +40,9 @@ Brain Core is the nervous system that powers all three Brain MCP servers ([Brain
|
|
|
40
40
|
| **Wilson Score** | Statistical confidence intervals for win rates |
|
|
41
41
|
| **Time Decay** | Exponential half-life decay for rule freshness |
|
|
42
42
|
|
|
43
|
-
###
|
|
43
|
+
### 30+ Autonomous Engines
|
|
44
|
+
|
|
45
|
+
#### Core Research (9 engines)
|
|
44
46
|
|
|
45
47
|
| Engine | Description |
|
|
46
48
|
|--------|-------------|
|
|
@@ -54,16 +56,52 @@ Brain Core is the nervous system that powers all three Brain MCP servers ([Brain
|
|
|
54
56
|
| **CounterfactualEngine** | "What if" analysis — estimates impact of hypothetical interventions |
|
|
55
57
|
| **ResearchJournal** | Logs all discoveries, experiments, and breakthroughs |
|
|
56
58
|
|
|
57
|
-
|
|
59
|
+
#### Intelligence & Awareness
|
|
60
|
+
|
|
61
|
+
| Engine | Description |
|
|
62
|
+
|--------|-------------|
|
|
63
|
+
| **AttentionEngine** | Dynamic focus, context detection, burst detection, engine weight allocation |
|
|
64
|
+
| **TransferEngine** | Cross-brain knowledge transfer, analogies, cross-domain rules |
|
|
65
|
+
| **NarrativeEngine** | Brain explains itself in natural language, finds contradictions, generates digests |
|
|
66
|
+
| **CuriosityEngine** | Knowledge gap detection, UCB1 explore/exploit, blind spot detection |
|
|
67
|
+
| **EmergenceEngine** | Emergent behavior detection, complexity metrics (entropy, phi), phase transitions |
|
|
68
|
+
| **DebateEngine** | Multi-agent debates, advocatus diaboli, consensus synthesis |
|
|
69
|
+
| **ReasoningEngine** | Forward chaining, abductive reasoning, temporal inference, counterfactuals |
|
|
70
|
+
| **EmotionalModel** | 8 emotion dimensions, 6 moods, mood-based behavior recommendations |
|
|
71
|
+
|
|
72
|
+
#### Meta-Cognition & Optimization
|
|
73
|
+
|
|
74
|
+
| Engine | Description |
|
|
75
|
+
|--------|-------------|
|
|
76
|
+
| **ParameterRegistry** | Central tunable parameter store with 30+ parameters, bounds, snapshots |
|
|
77
|
+
| **MetaCognitionLayer** | Engine performance grading (A-F), frequency adjustment |
|
|
78
|
+
| **AutoExperimentEngine** | Autonomous parameter tuning with snapshot/rollback |
|
|
79
|
+
| **EvolutionEngine** | Genetic algorithm — tournament selection, crossover, mutation, elitism |
|
|
80
|
+
| **GoalEngine** | Goal planning with progress tracking, linear regression forecasting |
|
|
81
|
+
| **MemoryPalace** | Knowledge graph with BFS pathfinding and auto-connection building |
|
|
82
|
+
|
|
83
|
+
#### Autonomy & Self-Improvement
|
|
84
|
+
|
|
85
|
+
| Engine | Description |
|
|
86
|
+
|--------|-------------|
|
|
87
|
+
| **SelfTestEngine** | Tests if brain truly understands its principles vs memorization |
|
|
88
|
+
| **TeachEngine** | Generates teaching packages for other brains |
|
|
89
|
+
| **DataScout** | External data acquisition from GitHub/npm/HN |
|
|
90
|
+
| **SimulationEngine** | What-if scenarios via CausalGraph + PredictionEngine |
|
|
91
|
+
| **SelfScanner** | Indexes own TypeScript source code with SHA256 change detection |
|
|
92
|
+
| **SelfModificationEngine** | Generates and tests code changes autonomously via Claude API |
|
|
93
|
+
| **BootstrapService** | Cold-start fix: seeds data so engines produce output from cycle 1 |
|
|
94
|
+
|
|
95
|
+
### Orchestration & Core
|
|
58
96
|
|
|
59
97
|
| Module | Description |
|
|
60
98
|
|--------|-------------|
|
|
61
|
-
| **ResearchOrchestrator** |
|
|
99
|
+
| **ResearchOrchestrator** | 40-step feedback cycle orchestrating all engines every 5 minutes |
|
|
62
100
|
| **DataMiner** | Bootstraps historical DB data into engines with adapter pattern |
|
|
63
101
|
| **AutonomousResearchScheduler** | Self-directed research cycle execution |
|
|
64
102
|
| **MetaLearningEngine** | Hyper-parameter optimization with Bayesian exploration |
|
|
65
103
|
| **CausalGraph** | Granger causality analysis for event relationships |
|
|
66
|
-
| **HypothesisEngine** | Forms and tests hypotheses (temporal, correlation, threshold,
|
|
104
|
+
| **HypothesisEngine** | Forms and tests hypotheses (temporal, correlation, threshold, creative) |
|
|
67
105
|
| **AutoResponder** | Anomaly → automatic parameter adjustment, escalation, resolution |
|
|
68
106
|
| **PredictionEngine** | Holt-Winters + EWMA forecasting with auto-calibration |
|
|
69
107
|
|
|
@@ -87,6 +125,15 @@ Brain Core is the nervous system that powers all three Brain MCP servers ([Brain
|
|
|
87
125
|
| **CodegenServer** | HTTP + SSE dashboard for code review with approve/reject workflow |
|
|
88
126
|
| **SignalScanner** | GitHub trending repos, Hacker News, crypto signal tracking |
|
|
89
127
|
|
|
128
|
+
### Dashboards
|
|
129
|
+
|
|
130
|
+
| Dashboard | Port | Description |
|
|
131
|
+
|-----------|------|-------------|
|
|
132
|
+
| **Consciousness** | 7784/7785/7786 | Live neural graph, thought stream, engine status |
|
|
133
|
+
| **CodeGen** | 7787 | Generated code review, mined patterns, self-modification |
|
|
134
|
+
| **Hub** | — | Cross-brain status overview |
|
|
135
|
+
| **Unified** | 7788 | Single UI for all brains with deep links |
|
|
136
|
+
|
|
90
137
|
### Cross-Brain & Services
|
|
91
138
|
|
|
92
139
|
| Module | Description |
|
|
@@ -131,7 +178,7 @@ import {
|
|
|
131
178
|
// 1. Database
|
|
132
179
|
const db = createConnection('~/.my-brain/my-brain.db');
|
|
133
180
|
|
|
134
|
-
// 2. Research Orchestrator (
|
|
181
|
+
// 2. Research Orchestrator (30+ engines, 40-step feedback cycle)
|
|
135
182
|
const orchestrator = new ResearchOrchestrator(db, { brainName: 'my-brain' });
|
|
136
183
|
orchestrator.start();
|
|
137
184
|
|
|
@@ -160,40 +207,41 @@ prediction.start();
|
|
|
160
207
|
├── MCP ────────── stdio server, HTTP/SSE server
|
|
161
208
|
├── API ────────── BaseApiServer, RateLimiter, security middleware
|
|
162
209
|
├── Synapses ───── Hebbian, Decay, Activation, Pathfinder, BaseSynapseManager
|
|
163
|
-
├── Research ───── ResearchOrchestrator, DataMiner,
|
|
164
|
-
│ ├──
|
|
165
|
-
│ ├──
|
|
210
|
+
├── Research ───── ResearchOrchestrator (40 steps), DataMiner, BootstrapService
|
|
211
|
+
│ ├── Core ───── SelfObserver, AnomalyDetective, Experiment, Adaptive, Agenda
|
|
212
|
+
│ ├── Core ───── KnowledgeDistiller, Counterfactual, CrossDomain, Journal
|
|
166
213
|
│ └── AutoResp ─ AutoResponder (anomaly → action)
|
|
214
|
+
├── Intelligence ─ Attention, Transfer, Narrative, Curiosity, Emergence, Debate
|
|
215
|
+
├── Reasoning ──── ReasoningEngine (forward chain, abduction, temporal, counterfactual)
|
|
216
|
+
├── Emotional ──── EmotionalModel (8 dimensions, 6 moods)
|
|
217
|
+
├── MetaCog ────── ParameterRegistry, MetaCognitionLayer, AutoExperimentEngine
|
|
218
|
+
├── Evolution ──── EvolutionEngine (genetic algorithm)
|
|
219
|
+
├── Goals ─────── GoalEngine (planning, progress, forecasting)
|
|
220
|
+
├── MemoryPalace ─ Knowledge graph, BFS pathfinding
|
|
221
|
+
├── SelfAware ──── SelfTest, Teach, DataScout, Simulation
|
|
222
|
+
├── SelfMod ────── SelfScanner, SelfModificationEngine
|
|
167
223
|
├── Dream ──────── DreamEngine, DreamConsolidator
|
|
168
224
|
├── Consciousness ThoughtStream, ConsciousnessServer
|
|
169
225
|
├── Prediction ─── PredictionEngine, Holt-Winters, EWMA, Calibration
|
|
170
|
-
├── CodeGen ────── CodeGenerator, CodeMiner, PatternExtractor,
|
|
226
|
+
├── CodeGen ────── CodeGenerator, CodeMiner, PatternExtractor, CodegenServer
|
|
171
227
|
├── Scanner ────── SignalScanner, GitHubCollector, HnCollector, CryptoCollector
|
|
172
|
-
├──
|
|
173
|
-
├── Causal ─────── CausalGraph (Granger causality)
|
|
174
|
-
├── Hypothesis ─── HypothesisEngine
|
|
228
|
+
├── Causal ─────── CausalGraph (Granger causality), HypothesisEngine
|
|
175
229
|
├── Cross-Brain ── Client, Notifier, Correlator, Subscriptions
|
|
176
|
-
├──
|
|
177
|
-
├──
|
|
178
|
-
├──
|
|
179
|
-
├── Backup ─────── BackupService (timestamped, integrity check)
|
|
180
|
-
├── Memory ─────── BaseMemoryEngine, types, interfaces
|
|
181
|
-
├── Math ──────── Wilson Score, Time Decay
|
|
182
|
-
├── Config ─────── deepMerge, loadConfigFile
|
|
183
|
-
├── Dashboard ──── DashboardServer, Hub, Research dashboard
|
|
184
|
-
├── CLI ────────── colors, formatting
|
|
230
|
+
├── Dashboard ──── Consciousness, CodeGen, Hub, Research, Unified
|
|
231
|
+
├── Services ───── Webhook, Export, Backup, Ecosystem
|
|
232
|
+
├── Memory ─────── BaseMemoryEngine, types
|
|
185
233
|
├── DB ─────────── SQLite connection (WAL mode)
|
|
186
|
-
└── Utils ─────── hash, logger, paths, events
|
|
234
|
+
└── Utils ─────── hash, logger, paths, events, math, config, CLI
|
|
187
235
|
```
|
|
188
236
|
|
|
189
237
|
## Brain Ecosystem
|
|
190
238
|
|
|
191
239
|
| Brain | Version | Purpose | Ports |
|
|
192
240
|
|-------|---------|---------|-------|
|
|
193
|
-
| [Brain](../brain) | v3.
|
|
194
|
-
| [Trading Brain](../trading-brain) | v2.
|
|
195
|
-
| [Marketing Brain](../marketing-brain) | v1.
|
|
196
|
-
| **Brain Core** | v2.
|
|
241
|
+
| [Brain](../brain) | v3.33.0 | Error memory, code intelligence, full autonomy & self-modification | 7777/7778/7784/7787/7788 |
|
|
242
|
+
| [Trading Brain](../trading-brain) | v2.28.0 | Adaptive trading intelligence with signal learning & backtesting | 7779/7780/7785 |
|
|
243
|
+
| [Marketing Brain](../marketing-brain) | v1.29.0 | Content strategy, engagement & cross-platform optimization | 7781/7782/7783/7786 |
|
|
244
|
+
| **Brain Core** | v2.33.0 | Shared infrastructure — 30+ engines (this package) | — |
|
|
197
245
|
|
|
198
246
|
## Support
|
|
199
247
|
|
package/dist/index.d.ts
CHANGED
|
@@ -94,6 +94,8 @@ export type { ResearchOrchestratorConfig } from './research/research-orchestrato
|
|
|
94
94
|
export { DataMiner, runDataMinerMigration } from './research/data-miner.js';
|
|
95
95
|
export type { DataMinerAdapter, DataMinerEngines, DataMinerState, MineResult, MinedObservation, MinedCausalEvent, MinedMetric, MinedHypothesisObservation, MinedCrossDomainEvent } from './research/data-miner.js';
|
|
96
96
|
export { BrainDataMinerAdapter, TradingDataMinerAdapter, MarketingDataMinerAdapter, ScannerDataMinerAdapter } from './research/adapters/index.js';
|
|
97
|
+
export { BootstrapService, runBootstrapMigration } from './research/bootstrap-service.js';
|
|
98
|
+
export type { BootstrapConfig, BootstrapEngines, BootstrapState, BootstrapResult } from './research/bootstrap-service.js';
|
|
97
99
|
export { DreamEngine, runDreamMigration } from './dream/index.js';
|
|
98
100
|
export { DreamConsolidator } from './dream/index.js';
|
|
99
101
|
export type { DreamEngineConfig, DreamCycleReport, DreamStatus, DreamHistoryEntry, DreamTrigger, MemoryReplayResult, SynapsePruneResult, MemoryCompressionResult, MemoryCluster, ImportanceDecayResult, DreamRetrospective, PruningEfficiency } from './dream/index.js';
|
package/dist/index.js
CHANGED
|
@@ -85,6 +85,8 @@ export { ResearchOrchestrator } from './research/research-orchestrator.js';
|
|
|
85
85
|
// ── DataMiner ────────────────────────────────────────
|
|
86
86
|
export { DataMiner, runDataMinerMigration } from './research/data-miner.js';
|
|
87
87
|
export { BrainDataMinerAdapter, TradingDataMinerAdapter, MarketingDataMinerAdapter, ScannerDataMinerAdapter } from './research/adapters/index.js';
|
|
88
|
+
// ── Bootstrap ────────────────────────────────────────
|
|
89
|
+
export { BootstrapService, runBootstrapMigration } from './research/bootstrap-service.js';
|
|
88
90
|
// ── Dream Mode ──────────────────────────────────────
|
|
89
91
|
export { DreamEngine, runDreamMigration } from './dream/index.js';
|
|
90
92
|
export { DreamConsolidator } from './dream/index.js';
|
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,57 @@
|
|
|
1
|
+
import type Database from 'better-sqlite3';
|
|
2
|
+
import type { SelfObserver } from './self-observer.js';
|
|
3
|
+
import type { AnomalyDetective } from './anomaly-detective.js';
|
|
4
|
+
import type { ResearchJournal } from './journal.js';
|
|
5
|
+
import type { HypothesisEngine } from '../hypothesis/engine.js';
|
|
6
|
+
import type { PredictionEngine } from '../prediction/prediction-engine.js';
|
|
7
|
+
import type { ParameterRegistry } from '../metacognition/parameter-registry.js';
|
|
8
|
+
export interface BootstrapConfig {
|
|
9
|
+
brainName: string;
|
|
10
|
+
engineCount: number;
|
|
11
|
+
mcpToolCount: number;
|
|
12
|
+
version: string;
|
|
13
|
+
}
|
|
14
|
+
export interface BootstrapEngines {
|
|
15
|
+
selfObserver?: SelfObserver;
|
|
16
|
+
anomalyDetective?: AnomalyDetective;
|
|
17
|
+
journal?: ResearchJournal;
|
|
18
|
+
hypothesisEngine?: HypothesisEngine;
|
|
19
|
+
predictionEngine?: PredictionEngine;
|
|
20
|
+
parameterRegistry?: ParameterRegistry;
|
|
21
|
+
}
|
|
22
|
+
export interface BootstrapState {
|
|
23
|
+
bootstrapped: boolean;
|
|
24
|
+
bootstrapped_at: number | null;
|
|
25
|
+
observations_seeded: number;
|
|
26
|
+
journal_entries_seeded: number;
|
|
27
|
+
hypotheses_seeded: number;
|
|
28
|
+
predictions_seeded: number;
|
|
29
|
+
updated_at: string;
|
|
30
|
+
}
|
|
31
|
+
export interface BootstrapResult {
|
|
32
|
+
alreadyBootstrapped: boolean;
|
|
33
|
+
observations: number;
|
|
34
|
+
journalEntries: number;
|
|
35
|
+
hypotheses: number;
|
|
36
|
+
predictions: number;
|
|
37
|
+
metrics: number;
|
|
38
|
+
}
|
|
39
|
+
export declare function runBootstrapMigration(db: Database.Database): void;
|
|
40
|
+
export declare class BootstrapService {
|
|
41
|
+
private db;
|
|
42
|
+
private config;
|
|
43
|
+
private engines;
|
|
44
|
+
private log;
|
|
45
|
+
constructor(db: Database.Database, config: BootstrapConfig);
|
|
46
|
+
/** Wire engines after construction — missing engines are gracefully skipped. */
|
|
47
|
+
setEngines(engines: BootstrapEngines): void;
|
|
48
|
+
/** Run the 5-phase bootstrap. Idempotent — only runs once. */
|
|
49
|
+
bootstrap(): BootstrapResult;
|
|
50
|
+
/** Get current bootstrap state. */
|
|
51
|
+
getState(): BootstrapState;
|
|
52
|
+
private seedObservations;
|
|
53
|
+
private seedJournal;
|
|
54
|
+
private seedHypotheses;
|
|
55
|
+
private seedPredictions;
|
|
56
|
+
private seedMetrics;
|
|
57
|
+
}
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
import { getLogger } from '../utils/logger.js';
|
|
2
|
+
// ── Known research tables ───────────────────────────────
|
|
3
|
+
const RESEARCH_TABLES = [
|
|
4
|
+
'self_observations', 'self_insights', 'research_journal', 'hypotheses', 'observations',
|
|
5
|
+
'anomalies', 'metric_history', 'experiments', 'knowledge_base', 'research_agenda',
|
|
6
|
+
'cross_domain_events', 'cross_domain_correlations', 'causal_events', 'causal_edges',
|
|
7
|
+
'predictions', 'prediction_metrics', 'dream_history',
|
|
8
|
+
];
|
|
9
|
+
// ── Migration ───────────────────────────────────────────
|
|
10
|
+
export function runBootstrapMigration(db) {
|
|
11
|
+
db.exec(`
|
|
12
|
+
CREATE TABLE IF NOT EXISTS bootstrap_state (
|
|
13
|
+
id INTEGER PRIMARY KEY CHECK (id = 1),
|
|
14
|
+
bootstrapped INTEGER NOT NULL DEFAULT 0,
|
|
15
|
+
bootstrapped_at INTEGER,
|
|
16
|
+
observations_seeded INTEGER NOT NULL DEFAULT 0,
|
|
17
|
+
journal_entries_seeded INTEGER NOT NULL DEFAULT 0,
|
|
18
|
+
hypotheses_seeded INTEGER NOT NULL DEFAULT 0,
|
|
19
|
+
predictions_seeded INTEGER NOT NULL DEFAULT 0,
|
|
20
|
+
updated_at TEXT DEFAULT (datetime('now'))
|
|
21
|
+
);
|
|
22
|
+
INSERT OR IGNORE INTO bootstrap_state (id) VALUES (1);
|
|
23
|
+
`);
|
|
24
|
+
}
|
|
25
|
+
// ── BootstrapService ────────────────────────────────────
|
|
26
|
+
export class BootstrapService {
|
|
27
|
+
db;
|
|
28
|
+
config;
|
|
29
|
+
engines = {};
|
|
30
|
+
log = getLogger();
|
|
31
|
+
constructor(db, config) {
|
|
32
|
+
this.db = db;
|
|
33
|
+
this.config = config;
|
|
34
|
+
runBootstrapMigration(db);
|
|
35
|
+
}
|
|
36
|
+
/** Wire engines after construction — missing engines are gracefully skipped. */
|
|
37
|
+
setEngines(engines) {
|
|
38
|
+
this.engines = engines;
|
|
39
|
+
}
|
|
40
|
+
/** Run the 5-phase bootstrap. Idempotent — only runs once. */
|
|
41
|
+
bootstrap() {
|
|
42
|
+
const state = this.getState();
|
|
43
|
+
if (state.bootstrapped) {
|
|
44
|
+
this.log.info(`[bootstrap] Already bootstrapped at ${state.bootstrapped_at}`);
|
|
45
|
+
return { alreadyBootstrapped: true, observations: 0, journalEntries: 0, hypotheses: 0, predictions: 0, metrics: 0 };
|
|
46
|
+
}
|
|
47
|
+
this.log.info(`[bootstrap] Starting cold-start bootstrap for ${this.config.brainName}...`);
|
|
48
|
+
const start = Date.now();
|
|
49
|
+
const observations = this.seedObservations();
|
|
50
|
+
const journalEntries = this.seedJournal();
|
|
51
|
+
const hypotheses = this.seedHypotheses();
|
|
52
|
+
const predictions = this.seedPredictions();
|
|
53
|
+
const metrics = this.seedMetrics();
|
|
54
|
+
// Mark as bootstrapped
|
|
55
|
+
this.db.prepare(`
|
|
56
|
+
UPDATE bootstrap_state SET
|
|
57
|
+
bootstrapped = 1,
|
|
58
|
+
bootstrapped_at = ?,
|
|
59
|
+
observations_seeded = ?,
|
|
60
|
+
journal_entries_seeded = ?,
|
|
61
|
+
hypotheses_seeded = ?,
|
|
62
|
+
predictions_seeded = ?,
|
|
63
|
+
updated_at = datetime('now')
|
|
64
|
+
WHERE id = 1
|
|
65
|
+
`).run(Date.now(), observations, journalEntries, hypotheses, predictions);
|
|
66
|
+
const duration = Date.now() - start;
|
|
67
|
+
this.log.info(`[bootstrap] Complete in ${duration}ms: ${observations} observations, ${journalEntries} journal, ` +
|
|
68
|
+
`${hypotheses} hypotheses, ${predictions} predictions, ${metrics} metrics seeded`);
|
|
69
|
+
return { alreadyBootstrapped: false, observations, journalEntries, hypotheses, predictions, metrics };
|
|
70
|
+
}
|
|
71
|
+
/** Get current bootstrap state. */
|
|
72
|
+
getState() {
|
|
73
|
+
const row = this.db.prepare('SELECT * FROM bootstrap_state WHERE id = 1').get();
|
|
74
|
+
if (!row) {
|
|
75
|
+
return { bootstrapped: false, bootstrapped_at: null, observations_seeded: 0, journal_entries_seeded: 0, hypotheses_seeded: 0, predictions_seeded: 0, updated_at: '' };
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
bootstrapped: row.bootstrapped === 1,
|
|
79
|
+
bootstrapped_at: row.bootstrapped_at,
|
|
80
|
+
observations_seeded: row.observations_seeded,
|
|
81
|
+
journal_entries_seeded: row.journal_entries_seeded,
|
|
82
|
+
hypotheses_seeded: row.hypotheses_seeded,
|
|
83
|
+
predictions_seeded: row.predictions_seeded,
|
|
84
|
+
updated_at: row.updated_at,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
// ── Phase 1: Seed Observations ────────────────────────
|
|
88
|
+
seedObservations() {
|
|
89
|
+
if (!this.engines.selfObserver)
|
|
90
|
+
return 0;
|
|
91
|
+
let count = 0;
|
|
92
|
+
// 1a. DB table sizes — count rows in known research tables
|
|
93
|
+
for (const table of RESEARCH_TABLES) {
|
|
94
|
+
try {
|
|
95
|
+
const row = this.db.prepare(`SELECT COUNT(*) as cnt FROM ${table}`).get();
|
|
96
|
+
this.engines.selfObserver.record({
|
|
97
|
+
category: 'tool_usage',
|
|
98
|
+
event_type: `table_size:${table}`,
|
|
99
|
+
metrics: { row_count: row.cnt, table },
|
|
100
|
+
});
|
|
101
|
+
count++;
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
// Table doesn't exist yet — skip
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// 1b. Parameter landscape — read up to 15 parameters
|
|
108
|
+
if (this.engines.parameterRegistry) {
|
|
109
|
+
try {
|
|
110
|
+
const params = this.engines.parameterRegistry.list();
|
|
111
|
+
const toSeed = params.slice(0, 15);
|
|
112
|
+
for (const p of toSeed) {
|
|
113
|
+
this.engines.selfObserver.record({
|
|
114
|
+
category: 'tool_usage',
|
|
115
|
+
event_type: `parameter:${p.engine}.${p.name}`,
|
|
116
|
+
metrics: { value: p.value, min: p.min, max: p.max },
|
|
117
|
+
});
|
|
118
|
+
count++;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// ParameterRegistry not ready
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// 1c. System state — 5 observations
|
|
126
|
+
const systemObs = [
|
|
127
|
+
{ event_type: 'system:engine_count', metrics: { count: this.config.engineCount } },
|
|
128
|
+
{ event_type: 'system:mcp_tool_count', metrics: { count: this.config.mcpToolCount } },
|
|
129
|
+
{ event_type: 'system:startup_time', metrics: { timestamp: Date.now() } },
|
|
130
|
+
{ event_type: 'system:memory_rss', metrics: { bytes: process.memoryUsage().rss } },
|
|
131
|
+
{ event_type: 'system:version', metrics: { version: this.config.version, brain: this.config.brainName } },
|
|
132
|
+
];
|
|
133
|
+
for (const obs of systemObs) {
|
|
134
|
+
this.engines.selfObserver.record({
|
|
135
|
+
category: 'tool_usage',
|
|
136
|
+
event_type: obs.event_type,
|
|
137
|
+
metrics: obs.metrics,
|
|
138
|
+
});
|
|
139
|
+
count++;
|
|
140
|
+
}
|
|
141
|
+
this.log.info(`[bootstrap] Phase 1: ${count} observations seeded`);
|
|
142
|
+
return count;
|
|
143
|
+
}
|
|
144
|
+
// ── Phase 2: Seed Journal ─────────────────────────────
|
|
145
|
+
seedJournal() {
|
|
146
|
+
if (!this.engines.journal)
|
|
147
|
+
return 0;
|
|
148
|
+
let count = 0;
|
|
149
|
+
const { brainName, version, engineCount, mcpToolCount } = this.config;
|
|
150
|
+
// Entry 1: Brain initialized
|
|
151
|
+
this.engines.journal.write({
|
|
152
|
+
type: 'milestone',
|
|
153
|
+
title: `${brainName} initialized (v${version})`,
|
|
154
|
+
content: `Brain started with ${engineCount} engines and ${mcpToolCount} MCP tools. Cold-start bootstrap active.`,
|
|
155
|
+
tags: [brainName, 'bootstrap', 'init'],
|
|
156
|
+
references: [],
|
|
157
|
+
significance: 'notable',
|
|
158
|
+
data: { version, engineCount, mcpToolCount, phase: 'bootstrap' },
|
|
159
|
+
});
|
|
160
|
+
count++;
|
|
161
|
+
// Entry 2: Architecture baseline
|
|
162
|
+
const tableCounts = {};
|
|
163
|
+
for (const table of RESEARCH_TABLES) {
|
|
164
|
+
try {
|
|
165
|
+
const row = this.db.prepare(`SELECT COUNT(*) as cnt FROM ${table}`).get();
|
|
166
|
+
tableCounts[table] = row.cnt;
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
// skip
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
this.engines.journal.write({
|
|
173
|
+
type: 'discovery',
|
|
174
|
+
title: 'Architecture baseline recorded',
|
|
175
|
+
content: `Database has ${Object.keys(tableCounts).length} research tables. ${JSON.stringify(tableCounts)}`,
|
|
176
|
+
tags: [brainName, 'bootstrap', 'baseline'],
|
|
177
|
+
references: [],
|
|
178
|
+
significance: 'routine',
|
|
179
|
+
data: { tableCounts },
|
|
180
|
+
});
|
|
181
|
+
count++;
|
|
182
|
+
// Entry 3: Cold-start bootstrap complete
|
|
183
|
+
this.engines.journal.write({
|
|
184
|
+
type: 'discovery',
|
|
185
|
+
title: 'Cold-start bootstrap complete',
|
|
186
|
+
content: 'Initial seed data generated from self-introspection. Engines should now have enough data to produce output from cycle 1.',
|
|
187
|
+
tags: [brainName, 'bootstrap', 'cold-start'],
|
|
188
|
+
references: [],
|
|
189
|
+
significance: 'routine',
|
|
190
|
+
data: { phase: 'complete' },
|
|
191
|
+
});
|
|
192
|
+
count++;
|
|
193
|
+
// Entry 4: Parameter count (only if registry available)
|
|
194
|
+
if (this.engines.parameterRegistry) {
|
|
195
|
+
try {
|
|
196
|
+
const params = this.engines.parameterRegistry.list();
|
|
197
|
+
this.engines.journal.write({
|
|
198
|
+
type: 'discovery',
|
|
199
|
+
title: `${params.length} tunable parameters registered`,
|
|
200
|
+
content: `ParameterRegistry contains ${params.length} parameters across ${new Set(params.map(p => p.engine)).size} engines.`,
|
|
201
|
+
tags: [brainName, 'bootstrap', 'parameters'],
|
|
202
|
+
references: [],
|
|
203
|
+
significance: 'routine',
|
|
204
|
+
data: { parameterCount: params.length },
|
|
205
|
+
});
|
|
206
|
+
count++;
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
// skip
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
this.log.info(`[bootstrap] Phase 2: ${count} journal entries seeded`);
|
|
213
|
+
return count;
|
|
214
|
+
}
|
|
215
|
+
// ── Phase 3: Seed Hypotheses ──────────────────────────
|
|
216
|
+
seedHypotheses() {
|
|
217
|
+
if (!this.engines.hypothesisEngine)
|
|
218
|
+
return 0;
|
|
219
|
+
let count = 0;
|
|
220
|
+
const seeds = [
|
|
221
|
+
{
|
|
222
|
+
statement: 'Higher dream.prune_threshold leads to fewer but higher-quality memories',
|
|
223
|
+
variables: ['dream.prune_threshold', 'memory_quality'],
|
|
224
|
+
condition: { type: 'correlation', params: { strategy: 'bootstrap_seed', domain: 'dream' } },
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
statement: 'Attention decay rate correlates with focus duration',
|
|
228
|
+
variables: ['attention.decay_rate', 'focus_duration'],
|
|
229
|
+
condition: { type: 'correlation', params: { strategy: 'bootstrap_seed', domain: 'attention' } },
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
statement: 'More observation types lead to more hypotheses per cycle',
|
|
233
|
+
variables: ['observation_type_count', 'hypothesis_per_cycle'],
|
|
234
|
+
condition: { type: 'correlation', params: { strategy: 'bootstrap_seed', domain: 'hypothesis' } },
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
statement: 'Journal entry count grows linearly over cycles',
|
|
238
|
+
variables: ['journal_entries', 'cycle_count'],
|
|
239
|
+
condition: { type: 'threshold', params: { strategy: 'bootstrap_seed', domain: 'journal' } },
|
|
240
|
+
},
|
|
241
|
+
];
|
|
242
|
+
for (const seed of seeds) {
|
|
243
|
+
// Duplicate check
|
|
244
|
+
const existing = this.db.prepare("SELECT id FROM hypotheses WHERE statement = ? AND status != 'rejected'").get(seed.statement);
|
|
245
|
+
if (existing)
|
|
246
|
+
continue;
|
|
247
|
+
try {
|
|
248
|
+
this.engines.hypothesisEngine.propose({
|
|
249
|
+
statement: seed.statement,
|
|
250
|
+
type: 'correlation',
|
|
251
|
+
source: 'bootstrap',
|
|
252
|
+
variables: seed.variables,
|
|
253
|
+
condition: seed.condition,
|
|
254
|
+
});
|
|
255
|
+
count++;
|
|
256
|
+
}
|
|
257
|
+
catch {
|
|
258
|
+
// skip
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
this.log.info(`[bootstrap] Phase 3: ${count} hypotheses seeded`);
|
|
262
|
+
return count;
|
|
263
|
+
}
|
|
264
|
+
// ── Phase 4: Seed Predictions ─────────────────────────
|
|
265
|
+
seedPredictions() {
|
|
266
|
+
if (!this.engines.predictionEngine)
|
|
267
|
+
return 0;
|
|
268
|
+
let count = 0;
|
|
269
|
+
const now = Date.now();
|
|
270
|
+
const metricsToSeed = ['journal_entries', 'observation_count', 'hypothesis_count'];
|
|
271
|
+
for (const metric of metricsToSeed) {
|
|
272
|
+
// Seed 5 data points with slightly varying values over the last 5 intervals
|
|
273
|
+
for (let i = 4; i >= 0; i--) {
|
|
274
|
+
const timestamp = now - (i * 300_000); // 5-min intervals
|
|
275
|
+
const baseValue = metric === 'journal_entries' ? 3 + i : metric === 'observation_count' ? 10 + i * 2 : 1 + i;
|
|
276
|
+
this.db.prepare(`
|
|
277
|
+
INSERT INTO prediction_metrics (metric, value, domain, timestamp) VALUES (?, ?, ?, ?)
|
|
278
|
+
`).run(metric, baseValue, 'metric', timestamp);
|
|
279
|
+
count++;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
this.log.info(`[bootstrap] Phase 4: ${count} prediction data points seeded`);
|
|
283
|
+
return count;
|
|
284
|
+
}
|
|
285
|
+
// ── Phase 5: Seed Metrics ─────────────────────────────
|
|
286
|
+
seedMetrics() {
|
|
287
|
+
if (!this.engines.anomalyDetective)
|
|
288
|
+
return 0;
|
|
289
|
+
let count = 0;
|
|
290
|
+
const now = Date.now();
|
|
291
|
+
const anomalyMetrics = ['insight_count', 'anomaly_count', 'cycle_duration_ms', 'journal_entries', 'hypothesis_count'];
|
|
292
|
+
for (const metric of anomalyMetrics) {
|
|
293
|
+
// Seed 5 baseline data points over the last 5 intervals
|
|
294
|
+
for (let i = 4; i >= 0; i--) {
|
|
295
|
+
const timestamp = now - (i * 300_000);
|
|
296
|
+
let baseValue;
|
|
297
|
+
switch (metric) {
|
|
298
|
+
case 'insight_count':
|
|
299
|
+
baseValue = 1 + Math.floor(i * 0.5);
|
|
300
|
+
break;
|
|
301
|
+
case 'anomaly_count':
|
|
302
|
+
baseValue = 0;
|
|
303
|
+
break;
|
|
304
|
+
case 'cycle_duration_ms':
|
|
305
|
+
baseValue = 150 + i * 10;
|
|
306
|
+
break;
|
|
307
|
+
case 'journal_entries':
|
|
308
|
+
baseValue = 3 + i;
|
|
309
|
+
break;
|
|
310
|
+
case 'hypothesis_count':
|
|
311
|
+
baseValue = 1 + i;
|
|
312
|
+
break;
|
|
313
|
+
default: baseValue = 0;
|
|
314
|
+
}
|
|
315
|
+
this.db.prepare(`
|
|
316
|
+
INSERT INTO metric_history (metric, value, timestamp) VALUES (?, ?, ?)
|
|
317
|
+
`).run(metric, baseValue, timestamp);
|
|
318
|
+
count++;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
this.log.info(`[bootstrap] Phase 5: ${count} anomaly baseline metrics seeded`);
|
|
322
|
+
return count;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
//# sourceMappingURL=bootstrap-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-service.js","sourceRoot":"","sources":["../../src/research/bootstrap-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,7 @@ export interface DataMinerEngines {
|
|
|
60
60
|
export interface DataMinerState {
|
|
61
61
|
last_mined_at: number;
|
|
62
62
|
bootstrap_complete: boolean;
|
|
63
|
+
bootstrap_attempts: number;
|
|
63
64
|
total_observations_mined: number;
|
|
64
65
|
total_causal_events_mined: number;
|
|
65
66
|
total_metrics_mined: number;
|