@timmeck/brain-core 2.36.64 → 2.36.65

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.
@@ -345,6 +345,28 @@ canvas{display:block;width:100%;height:100%}
345
345
  </div>
346
346
  </div>
347
347
 
348
+ <!-- Governance -->
349
+ <div class="section">
350
+ <div class="section-title"><span class="icon">&#x2696;</span> Engine Governance</div>
351
+ <div class="card" id="governanceCard">
352
+ <div class="grid grid-3" style="text-align:center">
353
+ <div>
354
+ <div style="font-size:11px;color:var(--text-dim)">Engines</div>
355
+ <div id="govEngineCount" style="font-size:18px;font-weight:700">--</div>
356
+ </div>
357
+ <div>
358
+ <div style="font-size:11px;color:var(--text-dim)">Active Loops</div>
359
+ <div id="govLoopCount" style="font-size:18px;font-weight:700;color:var(--success)">--</div>
360
+ </div>
361
+ <div>
362
+ <div style="font-size:11px;color:var(--text-dim)">Gov Actions</div>
363
+ <div id="govActionCount" style="font-size:18px;font-weight:700">--</div>
364
+ </div>
365
+ </div>
366
+ <div id="govDetails" style="margin-top:8px;font-size:12px;color:var(--text-dim)"></div>
367
+ </div>
368
+ </div>
369
+
348
370
  <!-- Error Log -->
349
371
  <div class="section">
350
372
  <div class="section-title"><span class="icon">&#x26A0;</span> <span data-t="Letzte Fehler & Warnungen">Letzte Fehler & Warnungen</span> <span id="errorCount" style="color:var(--text-dim);font-weight:400;font-size:12px"></span></div>
@@ -870,7 +892,8 @@ const state = {
870
892
  llm:null, thoughts:[], connected:false, lastThoughtTime:0,
871
893
  errors:null, selfmod:null, missions:null, knowledge:null, debates:null,
872
894
  emotional:null, attention:null,
873
- desires:null, teaching:null, calibration:null
895
+ desires:null, teaching:null, calibration:null,
896
+ governance:null
874
897
  };
875
898
 
876
899
  // ── i18n ──────────────────────────────────────────────────
@@ -1060,6 +1083,7 @@ function connectSSE() {
1060
1083
  es.addEventListener('desires', e => { state.desires = JSON.parse(e.data); renderDesires(); });
1061
1084
  es.addEventListener('teaching', e => { state.teaching = JSON.parse(e.data); renderTeaching(); });
1062
1085
  es.addEventListener('calibration', e => { state.calibration = JSON.parse(e.data); renderCalibration(); });
1086
+ es.addEventListener('governance', e => { state.governance = JSON.parse(e.data); renderGovernance(); });
1063
1087
  es.onerror = () => { state.connected = false; updateConnection(); };
1064
1088
  }
1065
1089
 
@@ -1086,12 +1110,13 @@ async function loadInitial() {
1086
1110
  state.desires = data.desires;
1087
1111
  state.teaching = data.teaching;
1088
1112
  state.calibration = data.calibration;
1113
+ state.governance = data.governance;
1089
1114
  if (data.thoughts) { state.thoughts = data.thoughts; renderThoughts(); }
1090
1115
  renderEcosystem(); renderEngines(); renderWatchdog(); renderPlugins();
1091
1116
  renderBorg(); renderAnalytics(); renderLLM(); renderErrors();
1092
1117
  renderSelfMod(); renderMissions(); renderRepoAbsorber(); renderIntelligence(); renderKnowledge(); renderDebates();
1093
1118
  renderGuardrails(); renderRoadmaps(); renderCreativeInsights(); renderForgeWidgets();
1094
- renderDesires(); renderTeaching(); renderCalibration();
1119
+ renderDesires(); renderTeaching(); renderCalibration(); renderGovernance();
1095
1120
  } catch {}
1096
1121
  }
1097
1122
 
@@ -2330,6 +2355,38 @@ function renderCalibration() {
2330
2355
  </div>`;
2331
2356
  }
2332
2357
 
2358
+ // ── Governance ───────────────────────────────────────────
2359
+ function renderGovernance() {
2360
+ const d = state.governance; if (!d) return;
2361
+ const engineEl = document.getElementById('govEngineCount');
2362
+ const loopEl = document.getElementById('govLoopCount');
2363
+ const actionEl = document.getElementById('govActionCount');
2364
+ const detailsEl = document.getElementById('govDetails');
2365
+
2366
+ if (engineEl) engineEl.textContent = String(d.registry?.totalEngines ?? d.engineCount ?? '--');
2367
+ if (loopEl) {
2368
+ const loops = d.loops?.activeDetections ?? d.loopCount ?? 0;
2369
+ loopEl.textContent = String(loops);
2370
+ loopEl.style.color = loops > 0 ? 'var(--orange)' : 'var(--green)';
2371
+ }
2372
+ if (actionEl) actionEl.textContent = String(d.actions?.activeActions ?? d.actionCount ?? 0);
2373
+
2374
+ if (detailsEl) {
2375
+ const parts = [];
2376
+ if (d.registry?.enabledEngines != null) parts.push(`${d.registry.enabledEngines} enabled`);
2377
+ if (d.actions?.throttledEngines?.length) parts.push(`Throttled: ${d.actions.throttledEngines.join(', ')}`);
2378
+ if (d.actions?.isolatedEngines?.length) parts.push(`<span style="color:var(--red)">Isolated: ${d.actions.isolatedEngines.join(', ')}</span>`);
2379
+ if (d.loops?.recentDetections?.length) {
2380
+ const recent = d.loops.recentDetections.slice(0, 3);
2381
+ for (const loop of recent) {
2382
+ const sevCol = loop.severity === 'critical' ? 'var(--red)' : loop.severity === 'high' ? 'var(--orange)' : 'var(--yellow)';
2383
+ parts.push(`<span style="color:${sevCol}">${loop.loopType}: ${loop.enginesInvolved || loop.engines_involved || '?'}</span>`);
2384
+ }
2385
+ }
2386
+ detailsEl.innerHTML = parts.join(' · ');
2387
+ }
2388
+ }
2389
+
2333
2390
  // ── Chat ──────────────────────────────────────────────────
2334
2391
  const chatSessionId = 'dashboard-' + Date.now().toString(36);
2335
2392
  function toggleChat() {
@@ -45,6 +45,7 @@ export interface CommandCenterOptions {
45
45
  getTeachingStatus?: () => unknown;
46
46
  getTeachingHistory?: (limit?: number) => unknown;
47
47
  getCalibrationStatus?: () => unknown;
48
+ getGovernanceStatus?: () => unknown;
48
49
  chatMessage?: (sessionId: string, content: string) => Promise<unknown>;
49
50
  chatHistory?: (sessionId: string) => unknown;
50
51
  chatStatus?: () => unknown;
@@ -408,6 +408,17 @@ export class CommandCenterServer {
408
408
  }
409
409
  catch { /* ignore */ }
410
410
  }, 30_000));
411
+ // Governance (30s)
412
+ this.timers.push(setInterval(() => {
413
+ if (this.clients.size === 0)
414
+ return;
415
+ if (!this.options.getGovernanceStatus)
416
+ return;
417
+ try {
418
+ this.broadcast('governance', this.options.getGovernanceStatus());
419
+ }
420
+ catch { /* ignore */ }
421
+ }, 30_000));
411
422
  // Heartbeat (30s)
412
423
  this.timers.push(setInterval(() => {
413
424
  if (this.clients.size > 0) {
@@ -515,7 +526,8 @@ export class CommandCenterServer {
515
526
  history: this.options.getTeachingHistory?.(20) ?? [],
516
527
  } : null;
517
528
  const calibration = this.options.getCalibrationStatus?.() ?? null;
518
- this.json(res, { ecosystem, engines: engineResults, watchdog, plugins, borg, analytics, llm, thoughts, errors, selfmod, missions, knowledge, debates, intelligence, repoAbsorber, emotional, guardrailHealth, roadmaps, creativeInsights, desires, teaching, calibration });
529
+ const governance = this.options.getGovernanceStatus?.() ?? null;
530
+ this.json(res, { ecosystem, engines: engineResults, watchdog, plugins, borg, analytics, llm, thoughts, errors, selfmod, missions, knowledge, debates, intelligence, repoAbsorber, emotional, guardrailHealth, roadmaps, creativeInsights, desires, teaching, calibration, governance });
519
531
  }
520
532
  catch (err) {
521
533
  this.json(res, { error: err.message }, 500);
@@ -1 +1 @@
1
- {"version":3,"file":"command-center-server.js","sourceRoot":"","sources":["../../src/dashboard/command-center-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-center-server.js","sourceRoot":"","sources":["../../src/dashboard/command-center-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * EngineRegistry — Declarative engine profiles with dependency tracking.
3
+ * Each engine gets a formal profile: reads, writes, emits, subscribes, risk, invariants.
4
+ */
5
+ import type Database from 'better-sqlite3';
6
+ export interface EngineProfile {
7
+ id: string;
8
+ reads: string[];
9
+ writes: string[];
10
+ emits: string[];
11
+ subscribes: string[];
12
+ frequency: 'every_cycle' | 'every_N' | 'on_demand';
13
+ frequencyN: number;
14
+ riskClass: 'low' | 'medium' | 'high';
15
+ expectedEffects: string[];
16
+ invariants: string[];
17
+ enabled: boolean;
18
+ }
19
+ export interface EngineRegistryStatus {
20
+ totalEngines: number;
21
+ enabledEngines: number;
22
+ disabledEngines: number;
23
+ riskDistribution: Record<string, number>;
24
+ dependencyEdges: number;
25
+ }
26
+ export declare function runEngineRegistryMigration(db: Database.Database): void;
27
+ export declare class EngineRegistry {
28
+ private db;
29
+ private cache;
30
+ private log;
31
+ constructor(db: Database.Database);
32
+ /** Register or update an engine profile. */
33
+ register(profile: EngineProfile): void;
34
+ /** Get a single engine profile. */
35
+ get(id: string): EngineProfile | undefined;
36
+ /** List all registered engine profiles. */
37
+ list(): EngineProfile[];
38
+ /** List only enabled engine profiles. */
39
+ listEnabled(): EngineProfile[];
40
+ /**
41
+ * Build a dependency graph: engine → engines it depends on.
42
+ * Engine A depends on Engine B if A.reads intersects B.writes.
43
+ */
44
+ getDependencyGraph(): Map<string, string[]>;
45
+ /** Get reverse dependencies: engine → engines that depend on it. */
46
+ getReverseDependencyGraph(): Map<string, string[]>;
47
+ /** Enable an engine. */
48
+ enable(id: string): void;
49
+ /** Disable an engine. */
50
+ disable(id: string): void;
51
+ /** Get overall status. */
52
+ getStatus(): EngineRegistryStatus;
53
+ /** Find engines by risk class. */
54
+ getByRisk(riskClass: 'low' | 'medium' | 'high'): EngineProfile[];
55
+ /** Find engines that write to a specific resource. */
56
+ findWriters(resource: string): EngineProfile[];
57
+ /** Find engines that read from a specific resource. */
58
+ findReaders(resource: string): EngineProfile[];
59
+ private loadAll;
60
+ }
61
+ export declare function getDefaultEngineProfiles(): EngineProfile[];
@@ -0,0 +1,301 @@
1
+ import { getLogger } from '../utils/logger.js';
2
+ // ── Migration ───────────────────────────────────────────
3
+ export function runEngineRegistryMigration(db) {
4
+ db.exec(`
5
+ CREATE TABLE IF NOT EXISTS engine_registry (
6
+ id TEXT PRIMARY KEY,
7
+ reads_json TEXT NOT NULL DEFAULT '[]',
8
+ writes_json TEXT NOT NULL DEFAULT '[]',
9
+ emits_json TEXT NOT NULL DEFAULT '[]',
10
+ subscribes_json TEXT NOT NULL DEFAULT '[]',
11
+ frequency TEXT NOT NULL DEFAULT 'every_cycle',
12
+ frequency_n INTEGER NOT NULL DEFAULT 1,
13
+ risk_class TEXT NOT NULL DEFAULT 'low',
14
+ expected_effects_json TEXT NOT NULL DEFAULT '[]',
15
+ invariants_json TEXT NOT NULL DEFAULT '[]',
16
+ enabled INTEGER NOT NULL DEFAULT 1,
17
+ updated_at TEXT DEFAULT (datetime('now'))
18
+ );
19
+ `);
20
+ }
21
+ // ── Registry ────────────────────────────────────────────
22
+ export class EngineRegistry {
23
+ db;
24
+ cache = new Map();
25
+ log = getLogger();
26
+ constructor(db) {
27
+ this.db = db;
28
+ runEngineRegistryMigration(db);
29
+ this.loadAll();
30
+ }
31
+ /** Register or update an engine profile. */
32
+ register(profile) {
33
+ this.db.prepare(`
34
+ INSERT INTO engine_registry (id, reads_json, writes_json, emits_json, subscribes_json, frequency, frequency_n, risk_class, expected_effects_json, invariants_json, enabled, updated_at)
35
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now'))
36
+ ON CONFLICT(id) DO UPDATE SET
37
+ reads_json = excluded.reads_json,
38
+ writes_json = excluded.writes_json,
39
+ emits_json = excluded.emits_json,
40
+ subscribes_json = excluded.subscribes_json,
41
+ frequency = excluded.frequency,
42
+ frequency_n = excluded.frequency_n,
43
+ risk_class = excluded.risk_class,
44
+ expected_effects_json = excluded.expected_effects_json,
45
+ invariants_json = excluded.invariants_json,
46
+ enabled = excluded.enabled,
47
+ updated_at = datetime('now')
48
+ `).run(profile.id, JSON.stringify(profile.reads), JSON.stringify(profile.writes), JSON.stringify(profile.emits), JSON.stringify(profile.subscribes), profile.frequency, profile.frequencyN, profile.riskClass, JSON.stringify(profile.expectedEffects), JSON.stringify(profile.invariants), profile.enabled ? 1 : 0);
49
+ this.cache.set(profile.id, { ...profile });
50
+ this.log.debug(`[engine-registry] Registered: ${profile.id} (risk=${profile.riskClass})`);
51
+ }
52
+ /** Get a single engine profile. */
53
+ get(id) {
54
+ return this.cache.get(id);
55
+ }
56
+ /** List all registered engine profiles. */
57
+ list() {
58
+ return [...this.cache.values()];
59
+ }
60
+ /** List only enabled engine profiles. */
61
+ listEnabled() {
62
+ return [...this.cache.values()].filter(p => p.enabled);
63
+ }
64
+ /**
65
+ * Build a dependency graph: engine → engines it depends on.
66
+ * Engine A depends on Engine B if A.reads intersects B.writes.
67
+ */
68
+ getDependencyGraph() {
69
+ const graph = new Map();
70
+ const profiles = this.list();
71
+ for (const consumer of profiles) {
72
+ const deps = [];
73
+ for (const producer of profiles) {
74
+ if (producer.id === consumer.id)
75
+ continue;
76
+ // Consumer reads what producer writes
77
+ const overlap = consumer.reads.some(r => producer.writes.includes(r));
78
+ if (overlap)
79
+ deps.push(producer.id);
80
+ }
81
+ graph.set(consumer.id, deps);
82
+ }
83
+ return graph;
84
+ }
85
+ /** Get reverse dependencies: engine → engines that depend on it. */
86
+ getReverseDependencyGraph() {
87
+ const forward = this.getDependencyGraph();
88
+ const reverse = new Map();
89
+ for (const id of this.cache.keys()) {
90
+ reverse.set(id, []);
91
+ }
92
+ for (const [consumer, deps] of forward) {
93
+ for (const dep of deps) {
94
+ const arr = reverse.get(dep);
95
+ if (arr)
96
+ arr.push(consumer);
97
+ }
98
+ }
99
+ return reverse;
100
+ }
101
+ /** Enable an engine. */
102
+ enable(id) {
103
+ const profile = this.cache.get(id);
104
+ if (!profile)
105
+ return;
106
+ profile.enabled = true;
107
+ this.db.prepare('UPDATE engine_registry SET enabled = 1, updated_at = datetime(\'now\') WHERE id = ?').run(id);
108
+ this.log.info(`[engine-registry] Enabled: ${id}`);
109
+ }
110
+ /** Disable an engine. */
111
+ disable(id) {
112
+ const profile = this.cache.get(id);
113
+ if (!profile)
114
+ return;
115
+ profile.enabled = false;
116
+ this.db.prepare('UPDATE engine_registry SET enabled = 0, updated_at = datetime(\'now\') WHERE id = ?').run(id);
117
+ this.log.info(`[engine-registry] Disabled: ${id}`);
118
+ }
119
+ /** Get overall status. */
120
+ getStatus() {
121
+ const profiles = this.list();
122
+ const enabled = profiles.filter(p => p.enabled).length;
123
+ const risk = { low: 0, medium: 0, high: 0 };
124
+ for (const p of profiles) {
125
+ risk[p.riskClass] = (risk[p.riskClass] || 0) + 1;
126
+ }
127
+ let edgeCount = 0;
128
+ for (const deps of this.getDependencyGraph().values()) {
129
+ edgeCount += deps.length;
130
+ }
131
+ return {
132
+ totalEngines: profiles.length,
133
+ enabledEngines: enabled,
134
+ disabledEngines: profiles.length - enabled,
135
+ riskDistribution: risk,
136
+ dependencyEdges: edgeCount,
137
+ };
138
+ }
139
+ /** Find engines by risk class. */
140
+ getByRisk(riskClass) {
141
+ return this.list().filter(p => p.riskClass === riskClass);
142
+ }
143
+ /** Find engines that write to a specific resource. */
144
+ findWriters(resource) {
145
+ return this.list().filter(p => p.writes.includes(resource));
146
+ }
147
+ /** Find engines that read from a specific resource. */
148
+ findReaders(resource) {
149
+ return this.list().filter(p => p.reads.includes(resource));
150
+ }
151
+ // ── Private ─────────────────────────────────────────────
152
+ loadAll() {
153
+ const rows = this.db.prepare('SELECT * FROM engine_registry').all();
154
+ for (const row of rows) {
155
+ this.cache.set(row.id, {
156
+ id: row.id,
157
+ reads: JSON.parse(row.reads_json),
158
+ writes: JSON.parse(row.writes_json),
159
+ emits: JSON.parse(row.emits_json),
160
+ subscribes: JSON.parse(row.subscribes_json),
161
+ frequency: row.frequency,
162
+ frequencyN: row.frequency_n,
163
+ riskClass: row.risk_class,
164
+ expectedEffects: JSON.parse(row.expected_effects_json),
165
+ invariants: JSON.parse(row.invariants_json),
166
+ enabled: row.enabled === 1,
167
+ });
168
+ }
169
+ }
170
+ }
171
+ // ── Default Engine Profiles ─────────────────────────────
172
+ export function getDefaultEngineProfiles() {
173
+ return [
174
+ {
175
+ id: 'self_observer', reads: ['journal_entries', 'engine_metrics'], writes: ['self_observations', 'self_insights'],
176
+ emits: ['self_observer:reflecting'], subscribes: [], frequency: 'every_cycle', frequencyN: 1,
177
+ riskClass: 'low', expectedEffects: ['self-awareness improvement'], invariants: ['observations always non-negative'], enabled: true,
178
+ },
179
+ {
180
+ id: 'adaptive_strategy', reads: ['strategies', 'experiment_results'], writes: ['strategies'],
181
+ emits: ['strategy:adapting'], subscribes: [], frequency: 'every_cycle', frequencyN: 1,
182
+ riskClass: 'medium', expectedEffects: ['strategy optimization'], invariants: ['at least one active strategy'], enabled: true,
183
+ },
184
+ {
185
+ id: 'experiment_engine', reads: ['experiments', 'hypotheses'], writes: ['experiments', 'experiment_conclusions'],
186
+ emits: ['experiment:running'], subscribes: [], frequency: 'every_cycle', frequencyN: 1,
187
+ riskClass: 'medium', expectedEffects: ['hypothesis validation'], invariants: ['experiment count >= 0'], enabled: true,
188
+ },
189
+ {
190
+ id: 'cross_domain', reads: ['insights', 'anomalies'], writes: ['cross_domain_correlations'],
191
+ emits: ['cross_domain:correlating'], subscribes: [], frequency: 'every_cycle', frequencyN: 1,
192
+ riskClass: 'low', expectedEffects: ['cross-domain correlation discovery'], invariants: [], enabled: true,
193
+ },
194
+ {
195
+ id: 'knowledge_distiller', reads: ['insights', 'journal_entries', 'hypotheses'], writes: ['principles', 'anti_patterns', 'knowledge_strategies'],
196
+ emits: ['distiller:distilling'], subscribes: [], frequency: 'every_N', frequencyN: 5,
197
+ riskClass: 'low', expectedEffects: ['knowledge consolidation'], invariants: ['principles count non-decreasing'], enabled: true,
198
+ },
199
+ {
200
+ id: 'anomaly_detective', reads: ['engine_metrics', 'insights'], writes: ['anomalies'],
201
+ emits: ['anomaly:detected'], subscribes: [], frequency: 'every_cycle', frequencyN: 1,
202
+ riskClass: 'low', expectedEffects: ['anomaly detection'], invariants: [], enabled: true,
203
+ },
204
+ {
205
+ id: 'hypothesis_engine', reads: ['observations', 'insights'], writes: ['hypotheses'],
206
+ emits: ['hypothesis:testing'], subscribes: [], frequency: 'every_cycle', frequencyN: 1,
207
+ riskClass: 'low', expectedEffects: ['hypothesis generation and validation'], invariants: ['confidence in [0,1]'], enabled: true,
208
+ },
209
+ {
210
+ id: 'causal_graph', reads: ['causal_events'], writes: ['causal_edges'],
211
+ emits: ['causal:discovering'], subscribes: [], frequency: 'every_cycle', frequencyN: 1,
212
+ riskClass: 'low', expectedEffects: ['causal relationship discovery'], invariants: ['edge strength in [0,1]'], enabled: true,
213
+ },
214
+ {
215
+ id: 'prediction_engine', reads: ['engine_metrics', 'causal_edges'], writes: ['predictions'],
216
+ emits: ['prediction:forecasting'], subscribes: [], frequency: 'every_N', frequencyN: 3,
217
+ riskClass: 'medium', expectedEffects: ['metric forecasting', 'prediction accuracy improvement'], invariants: ['predictions have confidence'], enabled: true,
218
+ },
219
+ {
220
+ id: 'dream_engine', reads: ['insights', 'synapses', 'journal_entries'], writes: ['dream_history', 'synapses'],
221
+ emits: ['dream:consolidating'], subscribes: [], frequency: 'every_N', frequencyN: 10,
222
+ riskClass: 'medium', expectedEffects: ['memory consolidation', 'synapse pruning'], invariants: ['synapse count stable after prune'], enabled: true,
223
+ },
224
+ {
225
+ id: 'attention_engine', reads: ['engine_metrics', 'thoughts'], writes: ['attention_scores', 'context_switches'],
226
+ emits: ['attention:focusing'], subscribes: [], frequency: 'every_cycle', frequencyN: 1,
227
+ riskClass: 'low', expectedEffects: ['focus prioritization'], invariants: ['total weight = 1.0'], enabled: true,
228
+ },
229
+ {
230
+ id: 'curiosity_engine', reads: ['knowledge_gaps', 'insights'], writes: ['knowledge_gaps', 'exploration_records'],
231
+ emits: ['curiosity:exploring'], subscribes: [], frequency: 'every_N', frequencyN: 5,
232
+ riskClass: 'low', expectedEffects: ['knowledge gap identification', 'exploration'], invariants: [], enabled: true,
233
+ },
234
+ {
235
+ id: 'emergence_engine', reads: ['insights', 'synapses', 'causal_edges'], writes: ['emergence_events'],
236
+ emits: ['emergence:detecting'], subscribes: [], frequency: 'every_N', frequencyN: 10,
237
+ riskClass: 'low', expectedEffects: ['emergent pattern detection'], invariants: [], enabled: true,
238
+ },
239
+ {
240
+ id: 'meta_cognition', reads: ['engine_metrics', 'engine_report_cards'], writes: ['engine_report_cards', 'frequency_adjustments'],
241
+ emits: ['metacognition:evaluating'], subscribes: [], frequency: 'every_N', frequencyN: 10,
242
+ riskClass: 'medium', expectedEffects: ['engine frequency optimization', 'performance grading'], invariants: ['grades in A-F range'], enabled: true,
243
+ },
244
+ {
245
+ id: 'evolution_engine', reads: ['parameter_registry', 'engine_report_cards'], writes: ['evolution_individuals', 'evolution_generations', 'parameter_registry'],
246
+ emits: ['evolution:reflecting'], subscribes: [], frequency: 'every_N', frequencyN: 20,
247
+ riskClass: 'high', expectedEffects: ['parameter optimization', 'fitness improvement'], invariants: ['fitness >= 0', 'parameters within bounds'], enabled: true,
248
+ },
249
+ {
250
+ id: 'narrative_engine', reads: ['journal_entries', 'insights', 'predictions'], writes: ['narratives', 'contradictions'],
251
+ emits: ['narrative:synthesizing'], subscribes: [], frequency: 'every_N', frequencyN: 10,
252
+ riskClass: 'low', expectedEffects: ['narrative coherence', 'contradiction detection'], invariants: [], enabled: true,
253
+ },
254
+ {
255
+ id: 'reasoning_engine', reads: ['hypotheses', 'causal_edges', 'principles'], writes: ['inference_chains', 'abductive_explanations'],
256
+ emits: ['reasoning:inferring'], subscribes: [], frequency: 'every_N', frequencyN: 5,
257
+ riskClass: 'low', expectedEffects: ['logical inference', 'abductive reasoning'], invariants: [], enabled: true,
258
+ },
259
+ {
260
+ id: 'creative_engine', reads: ['principles', 'hypotheses', 'knowledge_distiller'], writes: ['creative_insights'],
261
+ emits: ['creative:pollinating'], subscribes: [], frequency: 'every_N', frequencyN: 10,
262
+ riskClass: 'low', expectedEffects: ['cross-domain idea generation', 'analogy discovery'], invariants: ['novelty_score in [0,1]'], enabled: true,
263
+ },
264
+ {
265
+ id: 'action_bridge', reads: ['action_queue'], writes: ['action_queue', 'action_outcomes'],
266
+ emits: ['action:executing'], subscribes: [], frequency: 'every_N', frequencyN: 5,
267
+ riskClass: 'high', expectedEffects: ['autonomous action execution'], invariants: ['risk-assessed before execution'], enabled: true,
268
+ },
269
+ {
270
+ id: 'content_forge', reads: ['creative_insights'], writes: ['content_pieces', 'content_engagement'],
271
+ emits: ['content:generating'], subscribes: [], frequency: 'every_N', frequencyN: 10,
272
+ riskClass: 'medium', expectedEffects: ['content generation from insights'], invariants: [], enabled: true,
273
+ },
274
+ {
275
+ id: 'code_forge', reads: ['code_health_scans'], writes: ['code_patterns', 'code_products'],
276
+ emits: ['codeforge:extracting'], subscribes: [], frequency: 'every_N', frequencyN: 15,
277
+ riskClass: 'medium', expectedEffects: ['code pattern extraction'], invariants: [], enabled: true,
278
+ },
279
+ {
280
+ id: 'strategy_forge', reads: ['principles', 'knowledge_distiller'], writes: ['strategies', 'strategy_rules'],
281
+ emits: ['strategy:executing'], subscribes: [], frequency: 'every_N', frequencyN: 20,
282
+ riskClass: 'high', expectedEffects: ['strategy creation and execution'], invariants: ['rule confidence in [0,1]'], enabled: true,
283
+ },
284
+ {
285
+ id: 'guardrail_engine', reads: ['parameter_registry', 'goals'], writes: ['guardrail_changelog', 'health_reports'],
286
+ emits: ['guardrails:checking'], subscribes: [], frequency: 'every_N', frequencyN: 50,
287
+ riskClass: 'low', expectedEffects: ['parameter bounds enforcement', 'circuit breaker protection'], invariants: ['circuit breaker state consistent'], enabled: true,
288
+ },
289
+ {
290
+ id: 'debate_engine', reads: ['principles', 'hypotheses', 'journal_entries'], writes: ['debates'],
291
+ emits: ['debate:starting'], subscribes: [], frequency: 'every_N', frequencyN: 10,
292
+ riskClass: 'low', expectedEffects: ['multi-perspective analysis'], invariants: [], enabled: true,
293
+ },
294
+ {
295
+ id: 'signal_router', reads: ['hypotheses', 'anomalies'], writes: ['cross_brain_signals'],
296
+ emits: ['signal:emitting'], subscribes: ['trade_signal', 'engagement_signal', 'research_insight'], frequency: 'every_N', frequencyN: 10,
297
+ riskClass: 'medium', expectedEffects: ['cross-brain signal propagation'], invariants: ['confidence in [0,1]'], enabled: true,
298
+ },
299
+ ];
300
+ }
301
+ //# sourceMappingURL=engine-registry.js.map