@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 CHANGED
@@ -5,9 +5,9 @@
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
6
6
  [![GitHub stars](https://img.shields.io/github/stars/timmeck/brain-ecosystem?style=social)](https://github.com/timmeck/brain-ecosystem)
7
7
 
8
- **Shared infrastructure for the Brain Ecosystem — 9 research engines, synapses, IPC, MCP, dream mode, consciousness, prediction, code generation, and more.**
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
- ### 9 Autonomous Research Engines
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
- ### Orchestration & Autonomy
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** | Feedback loops between all 9 engines, runs every 5 minutes |
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, frequency) |
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 (all 9 engines)
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, 9 Engines
164
- │ ├── Engines ── SelfObserver, AnomalyDetective, Experiment, Adaptive, Agenda
165
- │ ├── Engines ── KnowledgeDistiller, Counterfactual, CrossDomain, Journal
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, ContextBuilder, CodegenServer
226
+ ├── CodeGen ────── CodeGenerator, CodeMiner, PatternExtractor, CodegenServer
171
227
  ├── Scanner ────── SignalScanner, GitHubCollector, HnCollector, CryptoCollector
172
- ├── Autonomous ─── AutonomousResearchScheduler, MetaLearningEngine
173
- ├── Causal ─────── CausalGraph (Granger causality)
174
- ├── Hypothesis ─── HypothesisEngine
228
+ ├── Causal ─────── CausalGraph (Granger causality), HypothesisEngine
175
229
  ├── Cross-Brain ── Client, Notifier, Correlator, Subscriptions
176
- ├── Ecosystem ──── EcosystemService, health scoring
177
- ├── Webhooks ───── WebhookService (HMAC, retry, history)
178
- ├── Export ─────── ExportService (JSON/CSV)
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.19.0 | Error memory, code intelligence, autonomous research & code generation | 7777/7778/7784/7787 |
194
- | [Trading Brain](../trading-brain) | v2.13.0 | Adaptive trading intelligence with signal learning & backtesting | 7779/7780/7785 |
195
- | [Marketing Brain](../marketing-brain) | v1.14.0 | Content strategy, engagement & cross-platform optimization | 7781/7782/7783/7786 |
196
- | **Brain Core** | v2.18.0 | Shared infrastructure (this package) | — |
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;