@timmeck/brain-core 2.36.59 → 2.36.61
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/command-center.html +172 -1
- package/dist/action/__tests__/action-bridge.test.js +30 -0
- package/dist/action/__tests__/action-bridge.test.js.map +1 -1
- package/dist/action/action-bridge.d.ts +5 -1
- package/dist/action/action-bridge.js +18 -0
- package/dist/action/action-bridge.js.map +1 -1
- package/dist/creative/__tests__/creative-engine.test.js +78 -0
- package/dist/creative/__tests__/creative-engine.test.js.map +1 -1
- package/dist/creative/creative-engine.d.ts +6 -0
- package/dist/creative/creative-engine.js +59 -2
- package/dist/creative/creative-engine.js.map +1 -1
- package/dist/dashboard/command-center-server.d.ts +4 -0
- package/dist/dashboard/command-center-server.js +43 -1
- package/dist/dashboard/command-center-server.js.map +1 -1
- package/dist/llm/llm-service.d.ts +6 -0
- package/dist/llm/llm-service.js +22 -9
- package/dist/llm/llm-service.js.map +1 -1
- package/dist/prediction/__tests__/prediction-engine.test.js +8 -0
- package/dist/prediction/__tests__/prediction-engine.test.js.map +1 -1
- package/dist/prediction/prediction-engine.d.ts +5 -0
- package/dist/prediction/prediction-engine.js +7 -0
- package/dist/prediction/prediction-engine.js.map +1 -1
- package/dist/research/research-orchestrator.d.ts +25 -1
- package/dist/research/research-orchestrator.js +243 -0
- package/dist/research/research-orchestrator.js.map +1 -1
- package/dist/teaching/__tests__/teaching.test.js +101 -0
- package/dist/teaching/__tests__/teaching.test.js.map +1 -1
- package/dist/teaching/teaching-protocol.d.ts +4 -0
- package/dist/teaching/teaching-protocol.js +27 -0
- package/dist/teaching/teaching-protocol.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prediction-engine.js","sourceRoot":"","sources":["../../src/prediction/prediction-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prediction-engine.js","sourceRoot":"","sources":["../../src/prediction/prediction-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,8 @@ export interface ResearchOrchestratorConfig {
|
|
|
62
62
|
agendaEvery?: number;
|
|
63
63
|
/** Journal reflection every N cycles. Default: 10 */
|
|
64
64
|
reflectEvery?: number;
|
|
65
|
+
/** Minimum cycle duration in ms. Prevents tight-looping. Default: 5000 */
|
|
66
|
+
minCycleDurationMs?: number;
|
|
65
67
|
}
|
|
66
68
|
export declare class ResearchOrchestrator {
|
|
67
69
|
readonly selfObserver: SelfObserver;
|
|
@@ -130,19 +132,23 @@ export declare class ResearchOrchestrator {
|
|
|
130
132
|
private researchRoadmap;
|
|
131
133
|
private creativeEngine;
|
|
132
134
|
private actionBridge;
|
|
135
|
+
private signalRouter;
|
|
133
136
|
private contentForge;
|
|
134
137
|
private codeForge;
|
|
135
138
|
private strategyForge;
|
|
136
139
|
private lastAutoMissionTime;
|
|
137
140
|
private lastGoalMissionTime;
|
|
141
|
+
private roadmapBootstrapped;
|
|
138
142
|
private onSuggestionCallback;
|
|
139
143
|
private db;
|
|
140
144
|
private brainName;
|
|
141
145
|
private feedbackTimer;
|
|
142
146
|
private cycleCount;
|
|
147
|
+
private lastDesireActuationCycle;
|
|
143
148
|
private distillEvery;
|
|
144
149
|
private agendaEvery;
|
|
145
150
|
private reflectEvery;
|
|
151
|
+
private minCycleDurationMs;
|
|
146
152
|
private log;
|
|
147
153
|
/** Tracks how many times each suggestion key has been emitted without being resolved. */
|
|
148
154
|
private suggestionHistory;
|
|
@@ -253,6 +259,17 @@ export declare class ResearchOrchestrator {
|
|
|
253
259
|
setCreativeEngine(engine: import('../creative/creative-engine.js').CreativeEngine): void;
|
|
254
260
|
/** Set the ActionBridgeEngine — risk-assessed action execution. */
|
|
255
261
|
setActionBridge(bridge: import('../action/action-bridge.js').ActionBridgeEngine): void;
|
|
262
|
+
/** Register outcome handler — called when actions complete/fail. */
|
|
263
|
+
setActionOutcomeHandler(handler: (action: {
|
|
264
|
+
source: string;
|
|
265
|
+
type: string;
|
|
266
|
+
title: string;
|
|
267
|
+
}, outcome: {
|
|
268
|
+
success: boolean;
|
|
269
|
+
result: unknown;
|
|
270
|
+
}) => void): void;
|
|
271
|
+
/** Set the CrossBrainSignalRouter — bidirectional signal routing. */
|
|
272
|
+
setSignalRouter(router: import('../cross-brain/signal-router.js').CrossBrainSignalRouter): void;
|
|
256
273
|
/** Set the ContentForge — autonomous content pipeline. */
|
|
257
274
|
setContentForge(forge: import('../content/content-forge.js').ContentForge): void;
|
|
258
275
|
/** Set the CodeForge — pattern extraction + auto-apply. */
|
|
@@ -295,7 +312,14 @@ export declare class ResearchOrchestrator {
|
|
|
295
312
|
/** Pick a debate topic from recent attention, anomalies, or journal insights.
|
|
296
313
|
* Avoids repeating the same topic within the last 10 debates. */
|
|
297
314
|
private pickDebateTopic;
|
|
298
|
-
|
|
315
|
+
generateSelfImprovementSuggestions(): string[];
|
|
316
|
+
/** Get structured self-improvement desires with priority and alternatives. */
|
|
317
|
+
getDesires(): Array<{
|
|
318
|
+
key: string;
|
|
319
|
+
suggestion: string;
|
|
320
|
+
alternatives: string[];
|
|
321
|
+
priority: number;
|
|
322
|
+
}>;
|
|
299
323
|
/** Check which optional engines are actually installed. */
|
|
300
324
|
getInstalledCapabilities(): {
|
|
301
325
|
installed: string[];
|
|
@@ -81,19 +81,23 @@ export class ResearchOrchestrator {
|
|
|
81
81
|
researchRoadmap = null;
|
|
82
82
|
creativeEngine = null;
|
|
83
83
|
actionBridge = null;
|
|
84
|
+
signalRouter = null;
|
|
84
85
|
contentForge = null;
|
|
85
86
|
codeForge = null;
|
|
86
87
|
strategyForge = null;
|
|
87
88
|
lastAutoMissionTime = 0;
|
|
88
89
|
lastGoalMissionTime = 0;
|
|
90
|
+
roadmapBootstrapped = false;
|
|
89
91
|
onSuggestionCallback = null;
|
|
90
92
|
db;
|
|
91
93
|
brainName;
|
|
92
94
|
feedbackTimer = null;
|
|
93
95
|
cycleCount = 0;
|
|
96
|
+
lastDesireActuationCycle = 0;
|
|
94
97
|
distillEvery;
|
|
95
98
|
agendaEvery;
|
|
96
99
|
reflectEvery;
|
|
100
|
+
minCycleDurationMs;
|
|
97
101
|
log = getLogger();
|
|
98
102
|
/** Tracks how many times each suggestion key has been emitted without being resolved. */
|
|
99
103
|
suggestionHistory = new Map();
|
|
@@ -111,6 +115,7 @@ export class ResearchOrchestrator {
|
|
|
111
115
|
this.distillEvery = config.distillEvery ?? 5;
|
|
112
116
|
this.agendaEvery = config.agendaEvery ?? 3;
|
|
113
117
|
this.reflectEvery = config.reflectEvery ?? 10;
|
|
118
|
+
this.minCycleDurationMs = config.minCycleDurationMs ?? 5000;
|
|
114
119
|
this.causalGraph = causalGraph ?? null;
|
|
115
120
|
this.selfObserver = new SelfObserver(db, { brainName: config.brainName });
|
|
116
121
|
this.adaptiveStrategy = new AdaptiveStrategyEngine(db, { brainName: config.brainName });
|
|
@@ -275,6 +280,14 @@ export class ResearchOrchestrator {
|
|
|
275
280
|
setCreativeEngine(engine) { this.creativeEngine = engine; }
|
|
276
281
|
/** Set the ActionBridgeEngine — risk-assessed action execution. */
|
|
277
282
|
setActionBridge(bridge) { this.actionBridge = bridge; }
|
|
283
|
+
/** Register outcome handler — called when actions complete/fail. */
|
|
284
|
+
setActionOutcomeHandler(handler) {
|
|
285
|
+
if (this.actionBridge) {
|
|
286
|
+
this.actionBridge.onOutcome((action, outcome) => handler(action, outcome));
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
/** Set the CrossBrainSignalRouter — bidirectional signal routing. */
|
|
290
|
+
setSignalRouter(router) { this.signalRouter = router; }
|
|
278
291
|
/** Set the ContentForge — autonomous content pipeline. */
|
|
279
292
|
setContentForge(forge) { this.contentForge = forge; }
|
|
280
293
|
/** Set the CodeForge — pattern extraction + auto-apply. */
|
|
@@ -376,6 +389,16 @@ export class ResearchOrchestrator {
|
|
|
376
389
|
this.cycleCount++;
|
|
377
390
|
const start = Date.now();
|
|
378
391
|
const ts = this.thoughtStream;
|
|
392
|
+
const stepTimings = [];
|
|
393
|
+
const profileStep = (name, fn) => {
|
|
394
|
+
const t0 = Date.now();
|
|
395
|
+
fn();
|
|
396
|
+
const elapsed = Date.now() - t0;
|
|
397
|
+
if (elapsed > 1000) {
|
|
398
|
+
stepTimings.push({ step: name, ms: elapsed });
|
|
399
|
+
this.log.warn(`[orchestrator] Slow step: ${name} took ${elapsed}ms`);
|
|
400
|
+
}
|
|
401
|
+
};
|
|
379
402
|
this.log.info(`[orchestrator] ─── Feedback Cycle #${this.cycleCount} ───`);
|
|
380
403
|
// Fix 6: Auto-instrument research cycles with TraceCollector
|
|
381
404
|
let traceId;
|
|
@@ -2371,6 +2394,19 @@ export class ResearchOrchestrator {
|
|
|
2371
2394
|
references: [],
|
|
2372
2395
|
data: { goalId: goal.id, rootCause: topCause.event, strength: topCause.strength },
|
|
2373
2396
|
});
|
|
2397
|
+
// Submit top intervention as ActionBridge proposal
|
|
2398
|
+
const topIntervention = diagnosis.suggestedInterventions[0];
|
|
2399
|
+
if (topIntervention && this.actionBridge && topCause.confidence > 0.6) {
|
|
2400
|
+
this.actionBridge.propose({
|
|
2401
|
+
source: 'research',
|
|
2402
|
+
type: 'adjust_parameter',
|
|
2403
|
+
title: `Causal Intervention: ${topIntervention.action}`,
|
|
2404
|
+
description: `Goal "${goal.title}" stagnant. Root cause: ${topCause.event}. Suggested: ${topIntervention.action}`,
|
|
2405
|
+
confidence: topCause.confidence,
|
|
2406
|
+
payload: { goalId: goal.id, rootCause: topCause.event, intervention: topIntervention.action },
|
|
2407
|
+
});
|
|
2408
|
+
ts?.emit('causal_planner', 'responding', `Proposed intervention: ${topIntervention.action}`, 'notable');
|
|
2409
|
+
}
|
|
2374
2410
|
}
|
|
2375
2411
|
}
|
|
2376
2412
|
}
|
|
@@ -2382,6 +2418,20 @@ export class ResearchOrchestrator {
|
|
|
2382
2418
|
if (this.researchRoadmap && this.goalEngine && this.cycleCount % 10 === 0) {
|
|
2383
2419
|
try {
|
|
2384
2420
|
ts?.emit('roadmap', 'analyzing', 'Step 57: Checking roadmap progress...', 'routine');
|
|
2421
|
+
// Auto-create roadmap if none exist but goals do (once per session)
|
|
2422
|
+
if (!this.roadmapBootstrapped) {
|
|
2423
|
+
const existingRoadmaps = this.researchRoadmap.listRoadmaps();
|
|
2424
|
+
if (existingRoadmaps.length === 0) {
|
|
2425
|
+
const activeGoals = this.goalEngine.listGoals('active', 5);
|
|
2426
|
+
if (activeGoals.length > 0) {
|
|
2427
|
+
const topGoal = activeGoals[0];
|
|
2428
|
+
this.researchRoadmap.createRoadmap(`Auto-Roadmap: ${topGoal.title}`, topGoal.id);
|
|
2429
|
+
ts?.emit('roadmap', 'discovering', `Created initial roadmap from goal: ${topGoal.title}`, 'notable');
|
|
2430
|
+
this.log.info(`[orchestrator] Step 57: Bootstrap roadmap from goal "${topGoal.title}"`);
|
|
2431
|
+
}
|
|
2432
|
+
}
|
|
2433
|
+
this.roadmapBootstrapped = true;
|
|
2434
|
+
}
|
|
2385
2435
|
// Check blocked goals — only evaluate goals that can start
|
|
2386
2436
|
const readyGoals = this.researchRoadmap.getReadyGoals();
|
|
2387
2437
|
if (readyGoals.length > 0) {
|
|
@@ -2395,6 +2445,8 @@ export class ResearchOrchestrator {
|
|
|
2395
2445
|
// Step 58: CreativeEngine — cross-pollination (every 20 cycles)
|
|
2396
2446
|
if (this.creativeEngine && this.cycleCount % 20 === 0) {
|
|
2397
2447
|
try {
|
|
2448
|
+
const debugInfo = this.creativeEngine.getDebugInfo();
|
|
2449
|
+
this.log.debug(`[orchestrator] Step 58: ${debugInfo.principlesCount} principles, domains: ${JSON.stringify(debugInfo.domains)}`);
|
|
2398
2450
|
ts?.emit('creative', 'discovering', 'Step 58: Cross-pollinating ideas...', 'routine');
|
|
2399
2451
|
const insights = this.creativeEngine.crossPollinate();
|
|
2400
2452
|
if (insights.length > 0) {
|
|
@@ -2410,6 +2462,9 @@ export class ResearchOrchestrator {
|
|
|
2410
2462
|
data: { insightCount: insights.length, converted },
|
|
2411
2463
|
});
|
|
2412
2464
|
}
|
|
2465
|
+
else {
|
|
2466
|
+
ts?.emit('creative', 'reflecting', `Step 58: 0 insights (${debugInfo.principlesCount} principles, ${Object.keys(debugInfo.domains).length} domains)`, 'notable');
|
|
2467
|
+
}
|
|
2413
2468
|
}
|
|
2414
2469
|
catch (err) {
|
|
2415
2470
|
this.log.warn(`[orchestrator] Step 58 (creative) error: ${err.message}`);
|
|
@@ -2512,6 +2567,140 @@ export class ResearchOrchestrator {
|
|
|
2512
2567
|
this.log.warn(`[orchestrator] Step 62 error: ${err.message}`);
|
|
2513
2568
|
}
|
|
2514
2569
|
}
|
|
2570
|
+
// Step 63: Cross-Brain Signal Emission (every 10 cycles)
|
|
2571
|
+
if (this.signalRouter && this.cycleCount % 10 === 0) {
|
|
2572
|
+
try {
|
|
2573
|
+
ts?.emit('signal_router', 'analyzing', 'Step 63: Emitting cross-brain signals...', 'routine');
|
|
2574
|
+
let emitted = 0;
|
|
2575
|
+
// 1. Confirmed hypotheses → research_insight to peer brains
|
|
2576
|
+
if (this.hypothesisEngine) {
|
|
2577
|
+
const confirmed = this.hypothesisEngine.list('confirmed', 5);
|
|
2578
|
+
for (const hyp of confirmed.slice(0, 2)) {
|
|
2579
|
+
if ((hyp.confidence ?? 0) > 0.7) {
|
|
2580
|
+
const peers = this.brainName === 'brain' ? ['trading-brain', 'marketing-brain'] : ['brain'];
|
|
2581
|
+
for (const peer of peers) {
|
|
2582
|
+
await this.signalRouter.emit({
|
|
2583
|
+
targetBrain: peer,
|
|
2584
|
+
signalType: 'research_insight',
|
|
2585
|
+
payload: { hypothesis: hyp.statement, domain: hyp.type, confidence: hyp.confidence },
|
|
2586
|
+
confidence: hyp.confidence,
|
|
2587
|
+
});
|
|
2588
|
+
emitted++;
|
|
2589
|
+
}
|
|
2590
|
+
}
|
|
2591
|
+
}
|
|
2592
|
+
}
|
|
2593
|
+
// 2. Anomalies → anomaly_signal to all peers
|
|
2594
|
+
if (anomalies.length > 0) {
|
|
2595
|
+
const topAnomaly = anomalies[0];
|
|
2596
|
+
const peers = this.brainName === 'brain' ? ['trading-brain', 'marketing-brain'] : ['brain'];
|
|
2597
|
+
for (const peer of peers) {
|
|
2598
|
+
await this.signalRouter.emit({
|
|
2599
|
+
targetBrain: peer,
|
|
2600
|
+
signalType: 'anomaly_signal',
|
|
2601
|
+
payload: { title: topAnomaly.title ?? 'anomaly', type: topAnomaly.type },
|
|
2602
|
+
confidence: 0.6,
|
|
2603
|
+
});
|
|
2604
|
+
emitted++;
|
|
2605
|
+
}
|
|
2606
|
+
}
|
|
2607
|
+
if (emitted > 0) {
|
|
2608
|
+
ts?.emit('signal_router', 'discovering', `Emitted ${emitted} cross-brain signal(s)`, 'notable');
|
|
2609
|
+
this.log.info(`[orchestrator] Step 63: Emitted ${emitted} cross-brain signals`);
|
|
2610
|
+
}
|
|
2611
|
+
if (this.metaCognitionLayer)
|
|
2612
|
+
this.metaCognitionLayer.recordStep('signal_emission', this.cycleCount, { insights: emitted });
|
|
2613
|
+
}
|
|
2614
|
+
catch (err) {
|
|
2615
|
+
this.log.warn(`[orchestrator] Step 63 (signal emission) error: ${err.message}`);
|
|
2616
|
+
}
|
|
2617
|
+
}
|
|
2618
|
+
// Step 64: DesireActuator — convert top desire to action (every 15 cycles)
|
|
2619
|
+
if (this.actionBridge && this.cycleCount - this.lastDesireActuationCycle >= 15) {
|
|
2620
|
+
try {
|
|
2621
|
+
const desires = this.getDesires();
|
|
2622
|
+
const topDesire = desires.find(d => d.priority >= 5);
|
|
2623
|
+
if (topDesire) {
|
|
2624
|
+
ts?.emit('desire', 'analyzing', `Step 64: Actuating desire "${topDesire.key}" (P${topDesire.priority})...`, 'notable');
|
|
2625
|
+
// Map desire key → action type
|
|
2626
|
+
let actionType = 'create_goal';
|
|
2627
|
+
if (topDesire.key.startsWith('contradiction_')) {
|
|
2628
|
+
actionType = 'start_mission';
|
|
2629
|
+
}
|
|
2630
|
+
else if (topDesire.key.startsWith('no_predictions') || topDesire.key.startsWith('low_accuracy')) {
|
|
2631
|
+
actionType = 'adjust_parameter';
|
|
2632
|
+
}
|
|
2633
|
+
const actionId = this.actionBridge.propose({
|
|
2634
|
+
source: 'desire',
|
|
2635
|
+
type: actionType,
|
|
2636
|
+
title: `Desire: ${topDesire.suggestion.substring(0, 80)}`,
|
|
2637
|
+
description: topDesire.suggestion,
|
|
2638
|
+
confidence: Math.min(topDesire.priority / 10, 0.9),
|
|
2639
|
+
payload: { desireKey: topDesire.key, priority: topDesire.priority, alternatives: topDesire.alternatives },
|
|
2640
|
+
});
|
|
2641
|
+
if (actionId > 0) {
|
|
2642
|
+
this.log.info(`[orchestrator] Step 64: Desire "${topDesire.key}" → Action #${actionId} (${actionType})`);
|
|
2643
|
+
this.journal.write({
|
|
2644
|
+
title: `Desire Actuation: ${topDesire.key}`,
|
|
2645
|
+
content: `Converted desire (P${topDesire.priority}) to ${actionType} action #${actionId}: ${topDesire.suggestion}`,
|
|
2646
|
+
type: 'insight',
|
|
2647
|
+
significance: 'notable',
|
|
2648
|
+
tags: [this.brainName, 'desire', 'actuation'],
|
|
2649
|
+
references: [],
|
|
2650
|
+
data: { desireKey: topDesire.key, actionId, actionType },
|
|
2651
|
+
});
|
|
2652
|
+
}
|
|
2653
|
+
this.lastDesireActuationCycle = this.cycleCount;
|
|
2654
|
+
}
|
|
2655
|
+
}
|
|
2656
|
+
catch (err) {
|
|
2657
|
+
this.log.warn(`[orchestrator] Step 64 (desire actuation) error: ${err.message}`);
|
|
2658
|
+
}
|
|
2659
|
+
}
|
|
2660
|
+
// Step 65: Action-Outcome Review (every 20 cycles)
|
|
2661
|
+
if (this.actionBridge && this.cycleCount % 20 === 0) {
|
|
2662
|
+
try {
|
|
2663
|
+
const history = this.actionBridge.getHistory(10);
|
|
2664
|
+
const recentCompleted = history.filter(a => a.status === 'completed' && a.outcome?.success);
|
|
2665
|
+
const recentFailed = history.filter(a => a.status === 'failed' || (a.outcome && !a.outcome.success));
|
|
2666
|
+
if (recentCompleted.length > 0 || recentFailed.length > 0) {
|
|
2667
|
+
ts?.emit('orchestrator', 'reflecting', `Step 65: Reviewing ${recentCompleted.length} successes, ${recentFailed.length} failures`, 'routine');
|
|
2668
|
+
// Success → journal lesson learned
|
|
2669
|
+
for (const action of recentCompleted.slice(0, 3)) {
|
|
2670
|
+
const lesson = action.outcome?.learnedLesson ?? `Action "${action.title}" succeeded`;
|
|
2671
|
+
this.journal.write({
|
|
2672
|
+
title: `Action Outcome: ${action.title}`,
|
|
2673
|
+
content: `${action.type} from ${action.source} succeeded. Lesson: ${lesson}`,
|
|
2674
|
+
type: 'insight',
|
|
2675
|
+
significance: 'routine',
|
|
2676
|
+
tags: [this.brainName, 'action-outcome', 'success'],
|
|
2677
|
+
references: [],
|
|
2678
|
+
data: { actionId: action.id, type: action.type, source: action.source },
|
|
2679
|
+
});
|
|
2680
|
+
}
|
|
2681
|
+
// Failure → journal + hypothesis rejection
|
|
2682
|
+
for (const action of recentFailed.slice(0, 3)) {
|
|
2683
|
+
this.journal.write({
|
|
2684
|
+
title: `Action Failed: ${action.title}`,
|
|
2685
|
+
content: `${action.type} from ${action.source} failed: ${action.outcome?.result ?? 'unknown'}`,
|
|
2686
|
+
type: 'anomaly',
|
|
2687
|
+
significance: 'notable',
|
|
2688
|
+
tags: [this.brainName, 'action-outcome', 'failure'],
|
|
2689
|
+
references: [],
|
|
2690
|
+
data: { actionId: action.id, type: action.type, source: action.source },
|
|
2691
|
+
});
|
|
2692
|
+
}
|
|
2693
|
+
if (this.metaCognitionLayer) {
|
|
2694
|
+
this.metaCognitionLayer.recordStep('action_outcome_review', this.cycleCount, {
|
|
2695
|
+
insights: recentCompleted.length + recentFailed.length,
|
|
2696
|
+
});
|
|
2697
|
+
}
|
|
2698
|
+
}
|
|
2699
|
+
}
|
|
2700
|
+
catch (err) {
|
|
2701
|
+
this.log.warn(`[orchestrator] Step 65 (outcome review) error: ${err.message}`);
|
|
2702
|
+
}
|
|
2703
|
+
}
|
|
2515
2704
|
const duration = Date.now() - start;
|
|
2516
2705
|
ts?.emit('orchestrator', 'reflecting', `Feedback Cycle #${this.cycleCount} complete (${duration}ms)`);
|
|
2517
2706
|
this.log.info(`[orchestrator] ─── Feedback Cycle #${this.cycleCount} complete (${duration}ms) ───`);
|
|
@@ -2537,6 +2726,15 @@ export class ResearchOrchestrator {
|
|
|
2537
2726
|
}
|
|
2538
2727
|
catch { /* checkpoint save should never break the cycle */ }
|
|
2539
2728
|
}
|
|
2729
|
+
// Step-profiling summary: log slow steps if any
|
|
2730
|
+
if (stepTimings.length > 0) {
|
|
2731
|
+
this.log.warn(`[orchestrator] Cycle #${this.cycleCount} slow steps: ${stepTimings.map(s => `${s.step}(${s.ms}ms)`).join(', ')}`);
|
|
2732
|
+
}
|
|
2733
|
+
// Cycle-pacing: ensure minimum cycle duration to prevent tight-looping
|
|
2734
|
+
const remaining = this.minCycleDurationMs - duration;
|
|
2735
|
+
if (remaining > 0) {
|
|
2736
|
+
await new Promise(resolve => setTimeout(resolve, remaining));
|
|
2737
|
+
}
|
|
2540
2738
|
}
|
|
2541
2739
|
/** Analyze Brain's own state and generate concrete improvement suggestions.
|
|
2542
2740
|
* Tracks suggestion history — if a suggestion repeats 3+ times without resolution,
|
|
@@ -2931,6 +3129,51 @@ export class ResearchOrchestrator {
|
|
|
2931
3129
|
}
|
|
2932
3130
|
return result;
|
|
2933
3131
|
}
|
|
3132
|
+
/** Get structured self-improvement desires with priority and alternatives. */
|
|
3133
|
+
getDesires() {
|
|
3134
|
+
const raw = [];
|
|
3135
|
+
const summary = this.getSummary();
|
|
3136
|
+
// Reuse the same diagnosis logic but return structured data
|
|
3137
|
+
const pred = summary.prediction;
|
|
3138
|
+
if (pred) {
|
|
3139
|
+
const total = pred.total_predictions ?? 0;
|
|
3140
|
+
if (total === 0) {
|
|
3141
|
+
raw.push({ key: 'no_predictions', priority: 10, suggestion: 'No predictions yet — need more data.', alternatives: ['Use own cycle metrics as prediction input.'] });
|
|
3142
|
+
}
|
|
3143
|
+
}
|
|
3144
|
+
const knowledge = summary.knowledge;
|
|
3145
|
+
const hypSummary = summary.hypotheses;
|
|
3146
|
+
const confirmedHypotheses = hypSummary?.confirmed ?? 0;
|
|
3147
|
+
if (knowledge) {
|
|
3148
|
+
const principles = knowledge.principles ?? 0;
|
|
3149
|
+
const antiPatterns = knowledge.antiPatterns ?? 0;
|
|
3150
|
+
if (principles === 0 && antiPatterns === 0 && confirmedHypotheses === 0 && this.cycleCount > 10) {
|
|
3151
|
+
raw.push({ key: 'no_knowledge', priority: 8, suggestion: 'No distilled knowledge after 10+ cycles.', alternatives: ['Need more diverse data to confirm hypotheses.'] });
|
|
3152
|
+
}
|
|
3153
|
+
}
|
|
3154
|
+
if (this.curiosityEngine) {
|
|
3155
|
+
try {
|
|
3156
|
+
const gaps = this.curiosityEngine.getGaps(5);
|
|
3157
|
+
const highPrioGap = gaps.find(g => g.gapScore > 0.6);
|
|
3158
|
+
if (highPrioGap) {
|
|
3159
|
+
raw.push({ key: `curiosity_gap_${highPrioGap.topic?.substring(0, 20) ?? highPrioGap.gapType}`, priority: 5, suggestion: `Knowledge gap: "${highPrioGap.topic}" (score: ${(highPrioGap.gapScore * 100).toFixed(0)}%)`, alternatives: [] });
|
|
3160
|
+
}
|
|
3161
|
+
}
|
|
3162
|
+
catch { /* engine might not be fully initialized */ }
|
|
3163
|
+
}
|
|
3164
|
+
if (this.narrativeEngine) {
|
|
3165
|
+
try {
|
|
3166
|
+
const contradictions = this.narrativeEngine.findContradictions();
|
|
3167
|
+
if (contradictions.length > 0) {
|
|
3168
|
+
const cont = contradictions[0];
|
|
3169
|
+
raw.push({ key: `contradiction_${cont.type.substring(0, 15)}`, priority: 6, suggestion: `Contradiction: "${cont.statement_a}" vs "${cont.statement_b}"`, alternatives: [] });
|
|
3170
|
+
}
|
|
3171
|
+
}
|
|
3172
|
+
catch { /* */ }
|
|
3173
|
+
}
|
|
3174
|
+
raw.sort((a, b) => b.priority - a.priority);
|
|
3175
|
+
return raw;
|
|
3176
|
+
}
|
|
2934
3177
|
/** Check which optional engines are actually installed. */
|
|
2935
3178
|
getInstalledCapabilities() {
|
|
2936
3179
|
const engines = [
|