@timmeck/brain-core 2.24.0 → 2.25.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.
@@ -0,0 +1,137 @@
1
+ import type Database from 'better-sqlite3';
2
+ import type { ThoughtStream } from '../consciousness/thought-stream.js';
3
+ import type { KnowledgeDistiller } from '../research/knowledge-distiller.js';
4
+ import type { HypothesisEngine } from '../hypothesis/engine.js';
5
+ import type { ResearchJournal } from '../research/journal.js';
6
+ import type { AnomalyDetective } from '../research/anomaly-detective.js';
7
+ import type { PredictionEngine } from '../prediction/prediction-engine.js';
8
+ import type { NarrativeEngine } from '../narrative/narrative-engine.js';
9
+ export interface DebateEngineConfig {
10
+ brainName: string;
11
+ /** Domain description for this brain (e.g. "error tracking and code intelligence"). */
12
+ domainDescription?: string;
13
+ }
14
+ export interface DebateDataSources {
15
+ knowledgeDistiller?: KnowledgeDistiller;
16
+ hypothesisEngine?: HypothesisEngine;
17
+ journal?: ResearchJournal;
18
+ anomalyDetective?: AnomalyDetective;
19
+ predictionEngine?: PredictionEngine;
20
+ narrativeEngine?: NarrativeEngine;
21
+ }
22
+ export interface Debate {
23
+ id?: number;
24
+ question: string;
25
+ status: DebateStatus;
26
+ perspectives: DebatePerspective[];
27
+ synthesis: DebateSynthesis | null;
28
+ created_at?: string;
29
+ closed_at?: string;
30
+ }
31
+ export type DebateStatus = 'open' | 'deliberating' | 'synthesized' | 'closed';
32
+ export interface DebatePerspective {
33
+ id?: number;
34
+ debateId?: number;
35
+ brainName: string;
36
+ position: string;
37
+ arguments: DebateArgument[];
38
+ confidence: number;
39
+ relevance: number;
40
+ created_at?: string;
41
+ }
42
+ export interface DebateArgument {
43
+ claim: string;
44
+ evidence: string[];
45
+ source: 'principle' | 'hypothesis' | 'journal' | 'prediction' | 'anomaly' | 'narrative';
46
+ strength: number;
47
+ }
48
+ export interface DebateSynthesis {
49
+ consensus: string | null;
50
+ conflicts: DebateConflict[];
51
+ resolution: string;
52
+ confidence: number;
53
+ recommendations: string[];
54
+ participantCount: number;
55
+ }
56
+ export interface DebateConflict {
57
+ perspectiveA: string;
58
+ perspectiveB: string;
59
+ claimA: string;
60
+ claimB: string;
61
+ resolution: 'a_wins' | 'b_wins' | 'compromise' | 'unresolved';
62
+ reason: string;
63
+ }
64
+ export interface DebateEngineStatus {
65
+ totalDebates: number;
66
+ openDebates: number;
67
+ synthesizedDebates: number;
68
+ avgConfidence: number;
69
+ avgParticipants: number;
70
+ recentDebates: Debate[];
71
+ uptime: number;
72
+ }
73
+ export declare function runDebateMigration(db: Database.Database): void;
74
+ export declare class DebateEngine {
75
+ private readonly db;
76
+ private readonly config;
77
+ private readonly log;
78
+ private ts;
79
+ private sources;
80
+ private startTime;
81
+ private readonly stmtInsertDebate;
82
+ private readonly stmtUpdateDebateStatus;
83
+ private readonly stmtSetSynthesis;
84
+ private readonly stmtInsertPerspective;
85
+ private readonly stmtGetDebate;
86
+ private readonly stmtGetPerspectives;
87
+ private readonly stmtListDebates;
88
+ private readonly stmtTotalDebates;
89
+ private readonly stmtOpenDebates;
90
+ private readonly stmtSynthesizedDebates;
91
+ constructor(db: Database.Database, config: DebateEngineConfig);
92
+ setThoughtStream(stream: ThoughtStream): void;
93
+ setDataSources(sources: DebateDataSources): void;
94
+ /**
95
+ * Start a new debate on a question.
96
+ * Immediately generates this brain's perspective and adds it.
97
+ */
98
+ startDebate(question: string): Debate;
99
+ /**
100
+ * Generate this brain's perspective on a question based on local knowledge.
101
+ * Searches principles, hypotheses, journal, anomalies, predictions.
102
+ */
103
+ generatePerspective(question: string): DebatePerspective;
104
+ /**
105
+ * Add a perspective (from this or another brain) to an existing debate.
106
+ */
107
+ addPerspective(debateId: number, perspective: DebatePerspective): void;
108
+ /**
109
+ * Synthesize all perspectives in a debate: find conflicts, build consensus.
110
+ */
111
+ synthesize(debateId: number): DebateSynthesis | null;
112
+ getDebate(id: number): Debate | null;
113
+ listDebates(limit?: number): Debate[];
114
+ getStatus(): DebateEngineStatus;
115
+ /**
116
+ * Find conflicts between perspectives.
117
+ * Two arguments conflict if they're about the same topic but make opposite claims.
118
+ */
119
+ private findConflicts;
120
+ /**
121
+ * Detect if two arguments conflict.
122
+ * Heuristic: same topic keywords but one has "warning" / negation.
123
+ */
124
+ private argumentsConflict;
125
+ /**
126
+ * Build consensus from perspectives weighted by confidence × relevance.
127
+ */
128
+ private buildConsensus;
129
+ private generateRecommendations;
130
+ private extractKeywords;
131
+ private isRelevant;
132
+ private computeRelevance;
133
+ private generatePosition;
134
+ private loadPerspectives;
135
+ private toDebate;
136
+ private toPerspective;
137
+ }
@@ -0,0 +1,540 @@
1
+ import { getLogger } from '../utils/logger.js';
2
+ // ── Migration ───────────────────────────────────────────
3
+ export function runDebateMigration(db) {
4
+ db.exec(`
5
+ CREATE TABLE IF NOT EXISTS debates (
6
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
7
+ question TEXT NOT NULL,
8
+ status TEXT NOT NULL DEFAULT 'open',
9
+ synthesis_json TEXT,
10
+ created_at TEXT DEFAULT (datetime('now')),
11
+ closed_at TEXT
12
+ );
13
+ CREATE INDEX IF NOT EXISTS idx_debates_status ON debates(status);
14
+
15
+ CREATE TABLE IF NOT EXISTS debate_perspectives (
16
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
17
+ debate_id INTEGER NOT NULL,
18
+ brain_name TEXT NOT NULL,
19
+ position TEXT NOT NULL,
20
+ arguments_json TEXT NOT NULL DEFAULT '[]',
21
+ confidence REAL NOT NULL DEFAULT 0,
22
+ relevance REAL NOT NULL DEFAULT 0,
23
+ created_at TEXT DEFAULT (datetime('now')),
24
+ FOREIGN KEY (debate_id) REFERENCES debates(id)
25
+ );
26
+ CREATE INDEX IF NOT EXISTS idx_debate_perspectives_debate ON debate_perspectives(debate_id);
27
+ `);
28
+ }
29
+ // ── Engine ──────────────────────────────────────────────
30
+ export class DebateEngine {
31
+ db;
32
+ config;
33
+ log = getLogger();
34
+ ts = null;
35
+ sources = {};
36
+ startTime = Date.now();
37
+ // Prepared statements
38
+ stmtInsertDebate;
39
+ stmtUpdateDebateStatus;
40
+ stmtSetSynthesis;
41
+ stmtInsertPerspective;
42
+ stmtGetDebate;
43
+ stmtGetPerspectives;
44
+ stmtListDebates;
45
+ stmtTotalDebates;
46
+ stmtOpenDebates;
47
+ stmtSynthesizedDebates;
48
+ constructor(db, config) {
49
+ this.db = db;
50
+ this.config = {
51
+ brainName: config.brainName,
52
+ domainDescription: config.domainDescription ?? config.brainName,
53
+ };
54
+ runDebateMigration(db);
55
+ this.stmtInsertDebate = db.prepare('INSERT INTO debates (question, status) VALUES (?, ?)');
56
+ this.stmtUpdateDebateStatus = db.prepare('UPDATE debates SET status = ?, closed_at = CASE WHEN ? = \'closed\' THEN datetime(\'now\') ELSE closed_at END WHERE id = ?');
57
+ this.stmtSetSynthesis = db.prepare('UPDATE debates SET synthesis_json = ?, status = \'synthesized\' WHERE id = ?');
58
+ this.stmtInsertPerspective = db.prepare('INSERT INTO debate_perspectives (debate_id, brain_name, position, arguments_json, confidence, relevance) VALUES (?, ?, ?, ?, ?, ?)');
59
+ this.stmtGetDebate = db.prepare('SELECT * FROM debates WHERE id = ?');
60
+ this.stmtGetPerspectives = db.prepare('SELECT * FROM debate_perspectives WHERE debate_id = ? ORDER BY confidence DESC');
61
+ this.stmtListDebates = db.prepare('SELECT * FROM debates ORDER BY id DESC LIMIT ?');
62
+ this.stmtTotalDebates = db.prepare('SELECT COUNT(*) as cnt FROM debates');
63
+ this.stmtOpenDebates = db.prepare('SELECT COUNT(*) as cnt FROM debates WHERE status = \'open\' OR status = \'deliberating\'');
64
+ this.stmtSynthesizedDebates = db.prepare('SELECT COUNT(*) as cnt FROM debates WHERE status = \'synthesized\' OR status = \'closed\'');
65
+ this.log.debug(`[DebateEngine] Initialized for ${this.config.brainName}`);
66
+ }
67
+ // ── Setters ──────────────────────────────────────────
68
+ setThoughtStream(stream) { this.ts = stream; }
69
+ setDataSources(sources) {
70
+ this.sources = sources;
71
+ }
72
+ // ── Core: Start a Debate ─────────────────────────────
73
+ /**
74
+ * Start a new debate on a question.
75
+ * Immediately generates this brain's perspective and adds it.
76
+ */
77
+ startDebate(question) {
78
+ this.ts?.emit('debate', 'reflecting', `New debate: "${question.substring(0, 60)}..."`, 'notable');
79
+ const info = this.stmtInsertDebate.run(question, 'open');
80
+ const debateId = Number(info.lastInsertRowid);
81
+ // Generate and add this brain's perspective
82
+ const perspective = this.generatePerspective(question);
83
+ this.addPerspective(debateId, perspective);
84
+ this.stmtUpdateDebateStatus.run('deliberating', 'deliberating', debateId);
85
+ return this.getDebate(debateId);
86
+ }
87
+ // ── Core: Generate Perspective ────────────────────────
88
+ /**
89
+ * Generate this brain's perspective on a question based on local knowledge.
90
+ * Searches principles, hypotheses, journal, anomalies, predictions.
91
+ */
92
+ generatePerspective(question) {
93
+ this.ts?.emit('reflecting', 'analyzing', `Forming perspective on: "${question.substring(0, 50)}..."`, 'routine');
94
+ const args = [];
95
+ const keywords = this.extractKeywords(question);
96
+ // 1. Arguments from principles
97
+ if (this.sources.knowledgeDistiller) {
98
+ try {
99
+ const pkg = this.sources.knowledgeDistiller.getPackage(this.config.brainName);
100
+ for (const p of pkg.principles) {
101
+ if (this.isRelevant(p.statement, keywords)) {
102
+ args.push({
103
+ claim: p.statement,
104
+ evidence: [`principle:${p.id}`, `confidence:${p.confidence.toFixed(2)}`, `samples:${p.sample_size}`],
105
+ source: 'principle',
106
+ strength: p.confidence * Math.min(1, p.sample_size / 10),
107
+ });
108
+ }
109
+ }
110
+ // Also check anti-patterns
111
+ for (const ap of pkg.anti_patterns) {
112
+ if (this.isRelevant(ap.statement, keywords)) {
113
+ args.push({
114
+ claim: `Warning: ${ap.statement}`,
115
+ evidence: [`anti_pattern`, `confidence:${ap.confidence.toFixed(2)}`],
116
+ source: 'principle',
117
+ strength: ap.confidence * 0.8,
118
+ });
119
+ }
120
+ }
121
+ }
122
+ catch { /* not wired */ }
123
+ }
124
+ // 2. Arguments from hypotheses
125
+ if (this.sources.hypothesisEngine) {
126
+ try {
127
+ const confirmed = this.sources.hypothesisEngine.list('confirmed', 30);
128
+ const testing = this.sources.hypothesisEngine.list('testing', 20);
129
+ for (const h of [...confirmed, ...testing]) {
130
+ if (this.isRelevant(h.statement, keywords)) {
131
+ const statusWeight = h.status === 'confirmed' ? 1.0 : 0.6;
132
+ args.push({
133
+ claim: h.statement,
134
+ evidence: [`hypothesis:${h.id}`, `status:${h.status}`, `p_value:${h.p_value.toFixed(4)}`],
135
+ source: 'hypothesis',
136
+ strength: h.confidence * statusWeight,
137
+ });
138
+ }
139
+ }
140
+ }
141
+ catch { /* not wired */ }
142
+ }
143
+ // 3. Arguments from journal
144
+ if (this.sources.journal) {
145
+ try {
146
+ const entries = this.sources.journal.search(question, 15);
147
+ for (const e of entries) {
148
+ if (e.significance === 'breakthrough' || e.significance === 'notable') {
149
+ args.push({
150
+ claim: e.title,
151
+ evidence: [`journal:${e.id}`, `type:${e.type}`, `significance:${e.significance}`],
152
+ source: 'journal',
153
+ strength: e.significance === 'breakthrough' ? 0.9 : 0.6,
154
+ });
155
+ }
156
+ }
157
+ }
158
+ catch { /* not wired */ }
159
+ }
160
+ // 4. Arguments from anomalies
161
+ if (this.sources.anomalyDetective) {
162
+ try {
163
+ const anomalies = this.sources.anomalyDetective.getAnomalies(undefined, 30);
164
+ for (const a of anomalies) {
165
+ if (this.isRelevant(`${a.title} ${a.metric}`, keywords)) {
166
+ args.push({
167
+ claim: `Anomaly detected: ${a.title}`,
168
+ evidence: [`anomaly:${a.id}`, `deviation:${a.deviation.toFixed(2)}`, `severity:${a.severity}`],
169
+ source: 'anomaly',
170
+ strength: Math.min(1, 0.3 + Math.abs(a.deviation) * 0.1),
171
+ });
172
+ }
173
+ }
174
+ }
175
+ catch { /* not wired */ }
176
+ }
177
+ // 5. Arguments from predictions
178
+ if (this.sources.predictionEngine) {
179
+ try {
180
+ const summary = this.sources.predictionEngine.getSummary();
181
+ if (summary.accuracy_rate > 0 && this.isRelevant(JSON.stringify(summary), keywords)) {
182
+ args.push({
183
+ claim: `Prediction track record: ${(summary.accuracy_rate * 100).toFixed(0)}% accuracy over ${summary.total_predictions} predictions`,
184
+ evidence: [`predictions:${summary.total_predictions}`, `accuracy:${summary.accuracy_rate.toFixed(2)}`],
185
+ source: 'prediction',
186
+ strength: summary.accuracy_rate,
187
+ });
188
+ }
189
+ }
190
+ catch { /* not wired */ }
191
+ }
192
+ // 6. Narrative explanation
193
+ if (this.sources.narrativeEngine) {
194
+ try {
195
+ const explanation = this.sources.narrativeEngine.explain(question);
196
+ if (explanation.details.length > 0) {
197
+ args.push({
198
+ claim: explanation.summary.substring(0, 200),
199
+ evidence: [`narrative:${explanation.topic}`],
200
+ source: 'narrative',
201
+ strength: explanation.confidence,
202
+ });
203
+ }
204
+ }
205
+ catch { /* not wired */ }
206
+ }
207
+ // Sort by strength
208
+ args.sort((a, b) => b.strength - a.strength);
209
+ // Compute overall confidence and relevance
210
+ const confidence = args.length > 0
211
+ ? args.reduce((sum, a) => sum + a.strength, 0) / args.length
212
+ : 0;
213
+ const relevance = this.computeRelevance(question, args);
214
+ // Generate position: summarize top arguments
215
+ const position = this.generatePosition(question, args);
216
+ this.ts?.emit('reflecting', 'analyzing', `Perspective formed: ${args.length} arguments, confidence=${(confidence * 100).toFixed(0)}%`, 'routine');
217
+ return {
218
+ brainName: this.config.brainName,
219
+ position,
220
+ arguments: args.slice(0, 10), // Top 10
221
+ confidence,
222
+ relevance,
223
+ };
224
+ }
225
+ // ── Core: Add External Perspective ────────────────────
226
+ /**
227
+ * Add a perspective (from this or another brain) to an existing debate.
228
+ */
229
+ addPerspective(debateId, perspective) {
230
+ this.stmtInsertPerspective.run(debateId, perspective.brainName, perspective.position, JSON.stringify(perspective.arguments), perspective.confidence, perspective.relevance);
231
+ this.ts?.emit('debate', 'reflecting', `${perspective.brainName} added perspective (confidence=${(perspective.confidence * 100).toFixed(0)}%)`, 'routine');
232
+ }
233
+ // ── Core: Synthesize ──────────────────────────────────
234
+ /**
235
+ * Synthesize all perspectives in a debate: find conflicts, build consensus.
236
+ */
237
+ synthesize(debateId) {
238
+ const debate = this.getDebate(debateId);
239
+ if (!debate)
240
+ return null;
241
+ if (debate.perspectives.length === 0)
242
+ return null;
243
+ this.ts?.emit('debate', 'analyzing', `Synthesizing debate: "${debate.question.substring(0, 40)}..." (${debate.perspectives.length} perspectives)`, 'notable');
244
+ // 1. Find conflicts between perspectives
245
+ const conflicts = this.findConflicts(debate.perspectives);
246
+ // 2. Build weighted consensus
247
+ const consensus = this.buildConsensus(debate.perspectives, conflicts);
248
+ // 3. Generate recommendations
249
+ const recommendations = this.generateRecommendations(debate.perspectives, conflicts);
250
+ // 4. Compute overall confidence
251
+ const totalWeight = debate.perspectives.reduce((s, p) => s + p.confidence * p.relevance, 0);
252
+ const totalRelevance = debate.perspectives.reduce((s, p) => s + p.relevance, 0);
253
+ const avgConfidence = totalRelevance > 0 ? totalWeight / totalRelevance : 0;
254
+ const synthesis = {
255
+ consensus,
256
+ conflicts,
257
+ resolution: conflicts.length === 0
258
+ ? 'All perspectives align — strong consensus.'
259
+ : `${conflicts.length} conflict(s) found. ${conflicts.filter(c => c.resolution !== 'unresolved').length} resolved.`,
260
+ confidence: avgConfidence,
261
+ recommendations,
262
+ participantCount: debate.perspectives.length,
263
+ };
264
+ // Persist
265
+ this.stmtSetSynthesis.run(JSON.stringify(synthesis), debateId);
266
+ this.ts?.emit('debate', 'discovering', `Debate synthesized: ${conflicts.length} conflicts, confidence=${(avgConfidence * 100).toFixed(0)}%`, conflicts.length > 0 ? 'notable' : 'routine');
267
+ return synthesis;
268
+ }
269
+ // ── Query Methods ────────────────────────────────────
270
+ getDebate(id) {
271
+ const row = this.stmtGetDebate.get(id);
272
+ if (!row)
273
+ return null;
274
+ const perspectives = this.loadPerspectives(id);
275
+ return this.toDebate(row, perspectives);
276
+ }
277
+ listDebates(limit = 20) {
278
+ const rows = this.stmtListDebates.all(limit);
279
+ return rows.map(r => {
280
+ const perspectives = this.loadPerspectives(r.id);
281
+ return this.toDebate(r, perspectives);
282
+ });
283
+ }
284
+ getStatus() {
285
+ const total = this.stmtTotalDebates.get().cnt;
286
+ const open = this.stmtOpenDebates.get().cnt;
287
+ const synthesized = this.stmtSynthesizedDebates.get().cnt;
288
+ const recent = this.listDebates(5);
289
+ const syntheses = recent
290
+ .filter(d => d.synthesis)
291
+ .map(d => d.synthesis);
292
+ const avgConfidence = syntheses.length > 0
293
+ ? syntheses.reduce((s, syn) => s + syn.confidence, 0) / syntheses.length
294
+ : 0;
295
+ const avgParticipants = syntheses.length > 0
296
+ ? syntheses.reduce((s, syn) => s + syn.participantCount, 0) / syntheses.length
297
+ : 0;
298
+ return {
299
+ totalDebates: total,
300
+ openDebates: open,
301
+ synthesizedDebates: synthesized,
302
+ avgConfidence,
303
+ avgParticipants,
304
+ recentDebates: recent,
305
+ uptime: Date.now() - this.startTime,
306
+ };
307
+ }
308
+ // ── Private: Conflict Detection ────────────────────────
309
+ /**
310
+ * Find conflicts between perspectives.
311
+ * Two arguments conflict if they're about the same topic but make opposite claims.
312
+ */
313
+ findConflicts(perspectives) {
314
+ const conflicts = [];
315
+ for (let i = 0; i < perspectives.length; i++) {
316
+ for (let j = i + 1; j < perspectives.length; j++) {
317
+ const pA = perspectives[i];
318
+ const pB = perspectives[j];
319
+ // Compare each argument pair
320
+ for (const argA of pA.arguments) {
321
+ for (const argB of pB.arguments) {
322
+ if (this.argumentsConflict(argA, argB)) {
323
+ // Resolve: higher confidence × relevance wins
324
+ const weightA = pA.confidence * pA.relevance * argA.strength;
325
+ const weightB = pB.confidence * pB.relevance * argB.strength;
326
+ let resolution;
327
+ let reason;
328
+ if (Math.abs(weightA - weightB) < 0.1) {
329
+ resolution = 'compromise';
330
+ reason = `Both sides have similar weight (${weightA.toFixed(2)} vs ${weightB.toFixed(2)}). Consider both perspectives.`;
331
+ }
332
+ else if (weightA > weightB) {
333
+ resolution = 'a_wins';
334
+ reason = `${pA.brainName}'s argument is stronger (weight: ${weightA.toFixed(2)} vs ${weightB.toFixed(2)}) based on confidence and evidence.`;
335
+ }
336
+ else {
337
+ resolution = 'b_wins';
338
+ reason = `${pB.brainName}'s argument is stronger (weight: ${weightB.toFixed(2)} vs ${weightA.toFixed(2)}) based on confidence and evidence.`;
339
+ }
340
+ conflicts.push({
341
+ perspectiveA: pA.brainName,
342
+ perspectiveB: pB.brainName,
343
+ claimA: argA.claim.substring(0, 150),
344
+ claimB: argB.claim.substring(0, 150),
345
+ resolution,
346
+ reason,
347
+ });
348
+ }
349
+ }
350
+ }
351
+ }
352
+ }
353
+ return conflicts;
354
+ }
355
+ /**
356
+ * Detect if two arguments conflict.
357
+ * Heuristic: same topic keywords but one has "warning" / negation.
358
+ */
359
+ argumentsConflict(a, b) {
360
+ const wordsA = new Set(a.claim.toLowerCase().split(/\s+/).filter(w => w.length > 3));
361
+ const wordsB = new Set(b.claim.toLowerCase().split(/\s+/).filter(w => w.length > 3));
362
+ // Must have some topic overlap
363
+ let overlap = 0;
364
+ for (const w of wordsA)
365
+ if (wordsB.has(w))
366
+ overlap++;
367
+ const overlapRatio = overlap / Math.max(wordsA.size, wordsB.size, 1);
368
+ if (overlapRatio < 0.2)
369
+ return false;
370
+ // Check for opposing signals
371
+ const negations = ['not', 'never', 'warning', 'avoid', 'decrease', 'reduce', 'lower', 'bad', 'risk', 'danger'];
372
+ const hasNegA = negations.some(n => a.claim.toLowerCase().includes(n));
373
+ const hasNegB = negations.some(n => b.claim.toLowerCase().includes(n));
374
+ // One positive, one negative about same topic = conflict
375
+ if (hasNegA !== hasNegB)
376
+ return true;
377
+ // Different sources about same topic with very different strengths
378
+ if (a.source !== b.source && overlapRatio > 0.3 && Math.abs(a.strength - b.strength) > 0.4) {
379
+ return true;
380
+ }
381
+ return false;
382
+ }
383
+ // ── Private: Consensus Building ────────────────────────
384
+ /**
385
+ * Build consensus from perspectives weighted by confidence × relevance.
386
+ */
387
+ buildConsensus(perspectives, conflicts) {
388
+ if (perspectives.length === 0)
389
+ return null;
390
+ if (perspectives.length === 1)
391
+ return perspectives[0].position;
392
+ // Collect all non-conflicting claims
393
+ const conflictingClaims = new Set();
394
+ for (const c of conflicts) {
395
+ conflictingClaims.add(c.claimA.substring(0, 50));
396
+ conflictingClaims.add(c.claimB.substring(0, 50));
397
+ }
398
+ // Aggregate non-conflicting arguments by weight
399
+ const weightedClaims = [];
400
+ for (const p of perspectives) {
401
+ for (const arg of p.arguments) {
402
+ const key = arg.claim.substring(0, 50);
403
+ if (!conflictingClaims.has(key)) {
404
+ weightedClaims.push({
405
+ claim: arg.claim,
406
+ weight: p.confidence * p.relevance * arg.strength,
407
+ brain: p.brainName,
408
+ });
409
+ }
410
+ }
411
+ }
412
+ weightedClaims.sort((a, b) => b.weight - a.weight);
413
+ // Build consensus from top claims
414
+ const topClaims = weightedClaims.slice(0, 5);
415
+ if (topClaims.length === 0) {
416
+ // Only conflicts, no agreement
417
+ return `No consensus reached. ${conflicts.length} conflicting viewpoints from ${perspectives.map(p => p.brainName).join(', ')}.`;
418
+ }
419
+ const parts = topClaims.map(c => c.claim);
420
+ const participants = [...new Set(perspectives.map(p => p.brainName))].join(', ');
421
+ return `Consensus from ${participants}: ${parts.join('. ')}.`;
422
+ }
423
+ // ── Private: Recommendations ──────────────────────────
424
+ generateRecommendations(perspectives, conflicts) {
425
+ const recs = [];
426
+ // High-confidence unanimous arguments → strong recommendation
427
+ const allArgs = perspectives.flatMap(p => p.arguments.map(a => ({ ...a, brain: p.brainName, pConfidence: p.confidence })));
428
+ // Find arguments that appear in multiple perspectives
429
+ const claimCounts = new Map();
430
+ for (const a of allArgs) {
431
+ const key = a.claim.substring(0, 60).toLowerCase();
432
+ const existing = claimCounts.get(key) ?? { count: 0, totalStrength: 0, brains: [] };
433
+ existing.count++;
434
+ existing.totalStrength += a.strength * a.pConfidence;
435
+ existing.brains.push(a.brain);
436
+ claimCounts.set(key, existing);
437
+ }
438
+ // Multi-brain agreement = strong recommendation
439
+ for (const [, info] of claimCounts) {
440
+ const uniqueBrains = [...new Set(info.brains)];
441
+ if (uniqueBrains.length > 1) {
442
+ recs.push(`Strong: ${uniqueBrains.join(' + ')} agree on this point (combined strength: ${info.totalStrength.toFixed(2)}).`);
443
+ }
444
+ }
445
+ // Unresolved conflicts → investigate
446
+ const unresolved = conflicts.filter(c => c.resolution === 'unresolved');
447
+ if (unresolved.length > 0) {
448
+ recs.push(`Investigate: ${unresolved.length} unresolved conflict(s) need more data.`);
449
+ }
450
+ // Low confidence → gather more evidence
451
+ const lowConf = perspectives.filter(p => p.confidence < 0.3);
452
+ if (lowConf.length > 0) {
453
+ recs.push(`Low confidence from ${lowConf.map(p => p.brainName).join(', ')} — more data needed in these domains.`);
454
+ }
455
+ // If no recommendations, note it
456
+ if (recs.length === 0) {
457
+ recs.push('All perspectives considered. Act on the consensus with measured confidence.');
458
+ }
459
+ return recs;
460
+ }
461
+ // ── Private: Helpers ──────────────────────────────────
462
+ extractKeywords(text) {
463
+ const stopwords = new Set([
464
+ 'the', 'is', 'at', 'which', 'on', 'a', 'an', 'and', 'or', 'but', 'in',
465
+ 'with', 'to', 'for', 'of', 'not', 'no', 'can', 'will', 'do', 'does',
466
+ 'was', 'were', 'has', 'have', 'had', 'this', 'that', 'from', 'are',
467
+ 'der', 'die', 'das', 'und', 'oder', 'aber', 'ist', 'sind', 'ein', 'eine',
468
+ 'für', 'mit', 'auf', 'bei', 'nach', 'von', 'wie', 'was', 'wir', 'ich',
469
+ 'warum', 'wann', 'wenn', 'als', 'auch', 'noch', 'nur', 'mehr', 'sehr',
470
+ 'should', 'would', 'could', 'how', 'why', 'what', 'when', 'where', 'who',
471
+ ]);
472
+ return text.toLowerCase()
473
+ .split(/\s+/)
474
+ .filter(w => w.length > 2 && !stopwords.has(w))
475
+ .map(w => w.replace(/[^a-z0-9äöüß-]/g, ''))
476
+ .filter(w => w.length > 2);
477
+ }
478
+ isRelevant(text, keywords) {
479
+ const lower = text.toLowerCase();
480
+ const matches = keywords.filter(k => lower.includes(k));
481
+ return matches.length >= 1;
482
+ }
483
+ computeRelevance(question, args) {
484
+ if (args.length === 0)
485
+ return 0.1; // Minimal relevance
486
+ // More arguments = more relevant domain
487
+ const argScore = Math.min(1, args.length / 5);
488
+ // Higher average strength = more relevant
489
+ const avgStrength = args.reduce((s, a) => s + a.strength, 0) / args.length;
490
+ return (argScore * 0.5 + avgStrength * 0.5);
491
+ }
492
+ generatePosition(question, args) {
493
+ if (args.length === 0) {
494
+ return `${this.config.brainName} has limited knowledge about this topic.`;
495
+ }
496
+ const topArgs = args.slice(0, 3);
497
+ const domain = this.config.domainDescription ?? this.config.brainName;
498
+ const claims = topArgs.map(a => a.claim).join('; ');
499
+ return `From ${domain} perspective: ${claims}`;
500
+ }
501
+ loadPerspectives(debateId) {
502
+ const rows = this.stmtGetPerspectives.all(debateId);
503
+ return rows.map(r => this.toPerspective(r));
504
+ }
505
+ toDebate(row, perspectives) {
506
+ let synthesis = null;
507
+ try {
508
+ if (row.synthesis_json)
509
+ synthesis = JSON.parse(row.synthesis_json);
510
+ }
511
+ catch { /* ignore */ }
512
+ return {
513
+ id: row.id,
514
+ question: row.question,
515
+ status: row.status,
516
+ perspectives,
517
+ synthesis,
518
+ created_at: row.created_at,
519
+ closed_at: row.closed_at,
520
+ };
521
+ }
522
+ toPerspective(row) {
523
+ let args = [];
524
+ try {
525
+ args = JSON.parse(row.arguments_json || '[]');
526
+ }
527
+ catch { /* ignore */ }
528
+ return {
529
+ id: row.id,
530
+ debateId: row.debate_id,
531
+ brainName: row.brain_name,
532
+ position: row.position,
533
+ arguments: args,
534
+ confidence: row.confidence,
535
+ relevance: row.relevance,
536
+ created_at: row.created_at,
537
+ };
538
+ }
539
+ }
540
+ //# sourceMappingURL=debate-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debate-engine.js","sourceRoot":"","sources":["../../src/debate/debate-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { DebateEngine, runDebateMigration } from './debate-engine.js';
2
+ export type { DebateEngineConfig, DebateDataSources, Debate, DebateStatus, DebatePerspective, DebateArgument, DebateSynthesis, DebateConflict, DebateEngineStatus, } from './debate-engine.js';
@@ -0,0 +1,2 @@
1
+ export { DebateEngine, runDebateMigration } from './debate-engine.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/debate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -120,6 +120,8 @@ export { EmergenceEngine, runEmergenceMigration } from './emergence/index.js';
120
120
  export type { EmergenceEngineConfig, EmergenceDataSources, EmergenceEvent, EmergenceType, ComplexityMetrics, NetworkSnapshot, EmergenceStatus, } from './emergence/index.js';
121
121
  export { CuriosityEngine, runCuriosityMigration } from './curiosity/index.js';
122
122
  export type { CuriosityEngineConfig, CuriosityDataSources, KnowledgeGap, GapType, CuriosityQuestion, QuestionType, ExplorationRecord, BanditArm, CuriosityStatus, ExplorationDecision, } from './curiosity/index.js';
123
+ export { DebateEngine, runDebateMigration } from './debate/index.js';
124
+ export type { DebateEngineConfig, DebateDataSources, Debate, DebateStatus, DebatePerspective, DebateArgument, DebateSynthesis, DebateConflict, DebateEngineStatus, } from './debate/index.js';
123
125
  export { UnifiedDashboardServer } from './unified/index.js';
124
126
  export type { UnifiedDashboardOptions } from './unified/index.js';
125
127
  export { SignalScanner, runScannerMigration } from './scanner/index.js';
package/dist/index.js CHANGED
@@ -110,6 +110,8 @@ export { NarrativeEngine } from './narrative/index.js';
110
110
  export { EmergenceEngine, runEmergenceMigration } from './emergence/index.js';
111
111
  // ── Curiosity Engine ──────────────────────────────────
112
112
  export { CuriosityEngine, runCuriosityMigration } from './curiosity/index.js';
113
+ // ── Debate Engine ──────────────────────────────────────
114
+ export { DebateEngine, runDebateMigration } from './debate/index.js';
113
115
  // ── Unified Dashboard ──────────────────────────────────
114
116
  export { UnifiedDashboardServer } from './unified/index.js';
115
117
  // ── Scanner ──────────────────────────────────────────────
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":"AAGA,8DAA8D;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,8DAA8D;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,8DAA8D;AAC9D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAElH,8DAA8D;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,8DAA8D;AAC9D,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEtH,8DAA8D;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3F,8DAA8D;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,8DAA8D;AAC9D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQ/D,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,6DAA6D;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,2DAA2D;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAU7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,4DAA4D;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAGzE,8DAA8D;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,8DAA8D;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,6DAA6D;AAC7D,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5E,6DAA6D;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,6DAA6D;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,4DAA4D;AAC5D,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAGhH,4DAA4D;AAC5D,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGzF,4DAA4D;AAC5D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGrE,4DAA4D;AAC5D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGlF,2DAA2D;AAC3D,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAGrF,0DAA0D;AAC1D,OAAO,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAGvG,0DAA0D;AAC1D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAG3F,0DAA0D;AAC1D,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAG/F,0DAA0D;AAC1D,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAGvG,0DAA0D;AAC1D,OAAO,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAGvG,0DAA0D;AAC1D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGvF,0DAA0D;AAC1D,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAGjG,0DAA0D;AAC1D,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG7E,uDAAuD;AACvD,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAGxF,yDAAyD;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,wDAAwD;AACxD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAElJ,uDAAuD;AACvD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,uDAAuD;AACvD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,sDAAsD;AACtD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG/F,4DAA4D;AAC5D,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUnD,yDAAyD;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,wDAAwD;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAMrD,yDAAyD;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAOvD,yDAAyD;AACzD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAO9E,yDAAyD;AACzD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAO9E,0DAA0D;AAC1D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAOrE,0DAA0D;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,4DAA4D;AAC5D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,sBAAsB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
@@ -23,6 +23,7 @@ import type { TransferEngine } from '../transfer/transfer-engine.js';
23
23
  import type { NarrativeEngine } from '../narrative/narrative-engine.js';
24
24
  import type { CuriosityEngine } from '../curiosity/curiosity-engine.js';
25
25
  import type { EmergenceEngine } from '../emergence/emergence-engine.js';
26
+ import type { DebateEngine } from '../debate/debate-engine.js';
26
27
  import { AutoResponder } from './auto-responder.js';
27
28
  export interface ResearchOrchestratorConfig {
28
29
  brainName: string;
@@ -59,6 +60,7 @@ export declare class ResearchOrchestrator {
59
60
  private narrativeEngine;
60
61
  private curiosityEngine;
61
62
  private emergenceEngine;
63
+ private debateEngine;
62
64
  private brainName;
63
65
  private feedbackTimer;
64
66
  private cycleCount;
@@ -93,6 +95,7 @@ export declare class ResearchOrchestrator {
93
95
  setCuriosityEngine(engine: CuriosityEngine): void;
94
96
  /** Set the EmergenceEngine — tracks emergent behaviors and complexity metrics. */
95
97
  setEmergenceEngine(engine: EmergenceEngine): void;
98
+ setDebateEngine(engine: DebateEngine): void;
96
99
  /** Set the PredictionEngine — wires journal into it. */
97
100
  setPredictionEngine(engine: PredictionEngine): void;
98
101
  /** Start the autonomous feedback loop timer. */
@@ -122,6 +125,8 @@ export declare class ResearchOrchestrator {
122
125
  /** Analyze Brain's own state and generate concrete improvement suggestions.
123
126
  * Tracks suggestion history — if a suggestion repeats 3+ times without resolution,
124
127
  * Brain tries alternative strategies instead of repeating itself. */
128
+ /** Pick a debate topic from recent attention, anomalies, or journal insights. */
129
+ private pickDebateTopic;
125
130
  private generateSelfImprovementSuggestions;
126
131
  /** Auto-propose an experiment on Brain's own parameters. */
127
132
  private proposeAutoExperiment;
@@ -38,6 +38,7 @@ export class ResearchOrchestrator {
38
38
  narrativeEngine = null;
39
39
  curiosityEngine = null;
40
40
  emergenceEngine = null;
41
+ debateEngine = null;
41
42
  brainName;
42
43
  feedbackTimer = null;
43
44
  cycleCount = 0;
@@ -117,6 +118,9 @@ export class ResearchOrchestrator {
117
118
  setEmergenceEngine(engine) {
118
119
  this.emergenceEngine = engine;
119
120
  }
121
+ setDebateEngine(engine) {
122
+ this.debateEngine = engine;
123
+ }
120
124
  /** Set the PredictionEngine — wires journal into it. */
121
125
  setPredictionEngine(engine) {
122
126
  this.predictionEngine = engine;
@@ -715,6 +719,33 @@ export class ResearchOrchestrator {
715
719
  this.log.error(`[orchestrator] Emergence step error: ${err.message}`);
716
720
  }
717
721
  }
722
+ // 20. Internal Debate: periodically debate key findings to synthesize cross-engine wisdom
723
+ if (this.debateEngine && this.cycleCount % this.reflectEvery === 0) {
724
+ ts?.emit('reflecting', 'reflecting', 'Initiating internal debate on recent findings...');
725
+ try {
726
+ // Pick a debate topic from recent attention or agenda
727
+ const topic = this.pickDebateTopic();
728
+ if (topic) {
729
+ const debate = this.debateEngine.startDebate(topic);
730
+ const synthesis = this.debateEngine.synthesize(debate.id);
731
+ if (synthesis && synthesis.conflicts.length > 0) {
732
+ this.journal.write({
733
+ type: 'discovery',
734
+ title: `Debate: ${topic.substring(0, 80)}`,
735
+ content: `Internal debate with ${synthesis.participantCount} perspective(s). ${synthesis.conflicts.length} conflict(s). Resolution: ${synthesis.resolution}`,
736
+ tags: [this.brainName, 'debate', 'synthesis'],
737
+ references: [],
738
+ significance: synthesis.conflicts.length > 2 ? 'notable' : 'routine',
739
+ data: { debate: { question: topic, synthesis } },
740
+ });
741
+ }
742
+ ts?.emit('reflecting', 'reflecting', `Debate on "${topic.substring(0, 40)}...": ${synthesis?.conflicts.length ?? 0} conflicts, confidence=${((synthesis?.confidence ?? 0) * 100).toFixed(0)}%`, synthesis && synthesis.conflicts.length > 0 ? 'notable' : 'routine');
743
+ }
744
+ }
745
+ catch (err) {
746
+ this.log.error(`[orchestrator] Debate step error: ${err.message}`);
747
+ }
748
+ }
718
749
  const duration = Date.now() - start;
719
750
  ts?.emit('orchestrator', 'reflecting', `Feedback Cycle #${this.cycleCount} complete (${duration}ms)`);
720
751
  this.log.info(`[orchestrator] ─── Feedback Cycle #${this.cycleCount} complete (${duration}ms) ───`);
@@ -722,6 +753,37 @@ export class ResearchOrchestrator {
722
753
  /** Analyze Brain's own state and generate concrete improvement suggestions.
723
754
  * Tracks suggestion history — if a suggestion repeats 3+ times without resolution,
724
755
  * Brain tries alternative strategies instead of repeating itself. */
756
+ /** Pick a debate topic from recent attention, anomalies, or journal insights. */
757
+ pickDebateTopic() {
758
+ // Try attention-based topics first
759
+ if (this.attentionEngine) {
760
+ try {
761
+ const topics = this.attentionEngine.getTopTopics(3);
762
+ if (topics.length > 0) {
763
+ return `What should ${this.brainName} prioritize regarding "${topics[0].topic}"?`;
764
+ }
765
+ }
766
+ catch { /* not wired */ }
767
+ }
768
+ // Try recent anomalies
769
+ try {
770
+ const anomalies = this.anomalyDetective.getAnomalies(undefined, 5);
771
+ if (anomalies.length > 0) {
772
+ return `How should we respond to the anomaly: "${anomalies[0].title}"?`;
773
+ }
774
+ }
775
+ catch { /* empty */ }
776
+ // Try recent journal breakthroughs
777
+ try {
778
+ const entries = this.journal.search('breakthrough', 5);
779
+ const breakthrough = entries.find(e => e.significance === 'breakthrough');
780
+ if (breakthrough) {
781
+ return `What are the implications of: "${breakthrough.title}"?`;
782
+ }
783
+ }
784
+ catch { /* empty */ }
785
+ return null;
786
+ }
725
787
  generateSelfImprovementSuggestions() {
726
788
  const raw = [];
727
789
  const summary = this.getSummary();
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@timmeck/brain-core",
3
- "version": "2.24.0",
3
+ "version": "2.25.0",
4
4
  "description": "Shared core infrastructure for the Brain ecosystem — IPC, MCP, CLI, DB connection, and utilities",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",