@timmeck/brain-core 2.36.74 → 2.36.75

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.
Files changed (44) hide show
  1. package/command-center.html +46 -0
  2. package/dist/codegen/feature-extractor.js +1 -0
  3. package/dist/codegen/feature-extractor.js.map +1 -1
  4. package/dist/curiosity/curiosity-engine.js +2 -2
  5. package/dist/curiosity/curiosity-engine.js.map +1 -1
  6. package/dist/debate/debate-engine.js +1 -1
  7. package/dist/debate/debate-engine.js.map +1 -1
  8. package/dist/governance/engine-token-budget.d.ts +65 -0
  9. package/dist/governance/engine-token-budget.js +198 -0
  10. package/dist/governance/engine-token-budget.js.map +1 -0
  11. package/dist/governance/governance-layer.d.ts +3 -0
  12. package/dist/governance/governance-layer.js +24 -1
  13. package/dist/governance/governance-layer.js.map +1 -1
  14. package/dist/governance/index.d.ts +2 -0
  15. package/dist/governance/index.js +1 -0
  16. package/dist/governance/index.js.map +1 -1
  17. package/dist/hypothesis/engine.js +1 -1
  18. package/dist/hypothesis/engine.js.map +1 -1
  19. package/dist/index.d.ts +4 -0
  20. package/dist/index.js +3 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/llm/llm-service.d.ts +14 -0
  23. package/dist/llm/llm-service.js +59 -7
  24. package/dist/llm/llm-service.js.map +1 -1
  25. package/dist/llm/middleware.d.ts +1 -0
  26. package/dist/missions/mission-engine.js +4 -4
  27. package/dist/missions/mission-engine.js.map +1 -1
  28. package/dist/narrative/narrative-engine.js +4 -4
  29. package/dist/narrative/narrative-engine.js.map +1 -1
  30. package/dist/rag/rag-engine.js +1 -1
  31. package/dist/rag/rag-engine.js.map +1 -1
  32. package/dist/research/cycle-outcome-tracker.d.ts +107 -0
  33. package/dist/research/cycle-outcome-tracker.js +216 -0
  34. package/dist/research/cycle-outcome-tracker.js.map +1 -0
  35. package/dist/research/research-orchestrator.d.ts +3 -0
  36. package/dist/research/research-orchestrator.js +34 -0
  37. package/dist/research/research-orchestrator.js.map +1 -1
  38. package/dist/research/semantic-compressor.js +1 -1
  39. package/dist/research/semantic-compressor.js.map +1 -1
  40. package/dist/techradar/daily-digest.js +2 -1
  41. package/dist/techradar/daily-digest.js.map +1 -1
  42. package/dist/techradar/relevance-scorer.js +1 -1
  43. package/dist/techradar/relevance-scorer.js.map +1 -1
  44. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"rag-engine.js","sourceRoot":"","sources":["../../src/rag/rag-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rag-engine.js","sourceRoot":"","sources":["../../src/rag/rag-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * CycleOutcomeTracker — Measures whether Brain improves over time.
3
+ *
4
+ * Tracks 4 hard metrics per cycle:
5
+ *
6
+ * 1. productive_rate — Cycles with at least one measurable artifact:
7
+ * confirmed hypothesis, learned rule, completed experiment, or actionable insight.
8
+ * Detection of anomalies alone does NOT count — a problem found is not a problem solved.
9
+ * Formula: count(productive) / count(total) over window
10
+ *
11
+ * 2. failed_rate — Cycles that consumed resources but produced nothing:
12
+ * errored/aborted cycles, OR cycles with tokens > 0 but zero productive outputs.
13
+ * Formula: count(failed) / count(total) over window
14
+ *
15
+ * 3. novelty_rate — Cycles with genuinely new output, not repetition:
16
+ * Each productive output gets a content fingerprint. If the fingerprint was already
17
+ * seen in the last 100 cycles, it's a repeat. Novelty = new fingerprints only.
18
+ * Formula: count(cycles with novel output) / count(productive cycles) over window
19
+ *
20
+ * 4. efficiency_rate — Productive outputs per 1k tokens consumed:
21
+ * Formula: sum(productive_outputs) / max(sum(tokens_used), 1) * 1000
22
+ *
23
+ * All outcomes are persisted to SQLite and can be aggregated over any time window.
24
+ */
25
+ import type Database from 'better-sqlite3';
26
+ export interface CycleOutcomeRecord {
27
+ cycle: number;
28
+ timestamp: number;
29
+ durationMs: number;
30
+ tokensUsed: number;
31
+ insightsFound: number;
32
+ rulesLearned: number;
33
+ hypothesesConfirmed: number;
34
+ experimentsCompleted: number;
35
+ actionsExecuted: number;
36
+ errored: boolean;
37
+ outputFingerprints: string[];
38
+ }
39
+ export type CycleClassification = 'productive' | 'failed' | 'idle';
40
+ export interface CycleRates {
41
+ window: string;
42
+ totalCycles: number;
43
+ productiveRate: number;
44
+ failedRate: number;
45
+ noveltyRate: number;
46
+ efficiencyRate: number;
47
+ avgDurationMs: number;
48
+ }
49
+ export interface CycleOutcomeRow {
50
+ id: number;
51
+ cycle: number;
52
+ timestamp: number;
53
+ duration_ms: number;
54
+ tokens_used: number;
55
+ insights_found: number;
56
+ rules_learned: number;
57
+ hypotheses_confirmed: number;
58
+ experiments_completed: number;
59
+ actions_executed: number;
60
+ errored: number;
61
+ classification: string;
62
+ novel_outputs: number;
63
+ total_outputs: number;
64
+ output_fingerprints: string;
65
+ }
66
+ export declare class CycleOutcomeTracker {
67
+ private db;
68
+ private log;
69
+ constructor(db: Database.Database);
70
+ private ensureTable;
71
+ /**
72
+ * Record one cycle's outcome.
73
+ * Call this at the end of each ResearchOrchestrator cycle.
74
+ */
75
+ recordOutcome(record: CycleOutcomeRecord): CycleClassification;
76
+ /**
77
+ * Get aggregated rates for a time window.
78
+ * @param windowHours Hours to look back (0 = all time)
79
+ */
80
+ getRates(windowHours?: number): CycleRates;
81
+ /**
82
+ * Get rate history as time series (one point per day).
83
+ * @param days Number of days to look back
84
+ */
85
+ getRateHistory(days?: number): Array<{
86
+ date: string;
87
+ } & CycleRates>;
88
+ /** Get the last N cycle outcomes. */
89
+ getRecent(limit?: number): CycleOutcomeRow[];
90
+ /**
91
+ * Classify a cycle. Rules:
92
+ * - errored → 'failed'
93
+ * - tokens > 0 but totalOutputs === 0 → 'failed' (consumed resources, produced nothing)
94
+ * - totalOutputs > 0 → 'productive'
95
+ * - everything else → 'idle' (no tokens, no output — scheduler skipped or trivial)
96
+ */
97
+ private classify;
98
+ /**
99
+ * Count how many of this cycle's fingerprints are genuinely new
100
+ * (not seen in the last NOVELTY_LOOKBACK_CYCLES cycles).
101
+ */
102
+ private countNovelOutputs;
103
+ }
104
+ /** Create a content fingerprint for novelty detection. */
105
+ export declare function fingerprint(content: string): string;
106
+ /** Run the cycle_outcomes migration (idempotent). */
107
+ export declare function runCycleOutcomeMigration(db: Database.Database): void;
@@ -0,0 +1,216 @@
1
+ /**
2
+ * CycleOutcomeTracker — Measures whether Brain improves over time.
3
+ *
4
+ * Tracks 4 hard metrics per cycle:
5
+ *
6
+ * 1. productive_rate — Cycles with at least one measurable artifact:
7
+ * confirmed hypothesis, learned rule, completed experiment, or actionable insight.
8
+ * Detection of anomalies alone does NOT count — a problem found is not a problem solved.
9
+ * Formula: count(productive) / count(total) over window
10
+ *
11
+ * 2. failed_rate — Cycles that consumed resources but produced nothing:
12
+ * errored/aborted cycles, OR cycles with tokens > 0 but zero productive outputs.
13
+ * Formula: count(failed) / count(total) over window
14
+ *
15
+ * 3. novelty_rate — Cycles with genuinely new output, not repetition:
16
+ * Each productive output gets a content fingerprint. If the fingerprint was already
17
+ * seen in the last 100 cycles, it's a repeat. Novelty = new fingerprints only.
18
+ * Formula: count(cycles with novel output) / count(productive cycles) over window
19
+ *
20
+ * 4. efficiency_rate — Productive outputs per 1k tokens consumed:
21
+ * Formula: sum(productive_outputs) / max(sum(tokens_used), 1) * 1000
22
+ *
23
+ * All outcomes are persisted to SQLite and can be aggregated over any time window.
24
+ */
25
+ import { createHash } from 'node:crypto';
26
+ import { getLogger } from '../utils/logger.js';
27
+ // ── Constants ───────────────────────────────────────────
28
+ /** How many recent cycles to check for fingerprint deduplication. */
29
+ const NOVELTY_LOOKBACK_CYCLES = 100;
30
+ // ── Tracker ─────────────────────────────────────────────
31
+ export class CycleOutcomeTracker {
32
+ db;
33
+ log = getLogger();
34
+ constructor(db) {
35
+ this.db = db;
36
+ this.ensureTable();
37
+ }
38
+ ensureTable() {
39
+ this.db.exec(`
40
+ CREATE TABLE IF NOT EXISTS cycle_outcomes (
41
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
42
+ cycle INTEGER NOT NULL,
43
+ timestamp INTEGER NOT NULL,
44
+ duration_ms INTEGER NOT NULL DEFAULT 0,
45
+ tokens_used INTEGER NOT NULL DEFAULT 0,
46
+ insights_found INTEGER NOT NULL DEFAULT 0,
47
+ rules_learned INTEGER NOT NULL DEFAULT 0,
48
+ hypotheses_confirmed INTEGER NOT NULL DEFAULT 0,
49
+ experiments_completed INTEGER NOT NULL DEFAULT 0,
50
+ actions_executed INTEGER NOT NULL DEFAULT 0,
51
+ errored INTEGER NOT NULL DEFAULT 0,
52
+ classification TEXT NOT NULL DEFAULT 'idle',
53
+ novel_outputs INTEGER NOT NULL DEFAULT 0,
54
+ total_outputs INTEGER NOT NULL DEFAULT 0,
55
+ output_fingerprints TEXT NOT NULL DEFAULT '[]',
56
+ created_at TEXT NOT NULL DEFAULT (datetime('now'))
57
+ );
58
+ CREATE INDEX IF NOT EXISTS idx_cycle_outcomes_cycle ON cycle_outcomes(cycle);
59
+ CREATE INDEX IF NOT EXISTS idx_cycle_outcomes_ts ON cycle_outcomes(timestamp);
60
+ `);
61
+ }
62
+ /**
63
+ * Record one cycle's outcome.
64
+ * Call this at the end of each ResearchOrchestrator cycle.
65
+ */
66
+ recordOutcome(record) {
67
+ const totalOutputs = record.insightsFound + record.rulesLearned
68
+ + record.hypothesesConfirmed + record.experimentsCompleted + record.actionsExecuted;
69
+ const classification = this.classify(record, totalOutputs);
70
+ const novelOutputs = this.countNovelOutputs(record.cycle, record.outputFingerprints);
71
+ this.db.prepare(`
72
+ INSERT INTO cycle_outcomes
73
+ (cycle, timestamp, duration_ms, tokens_used, insights_found, rules_learned,
74
+ hypotheses_confirmed, experiments_completed, actions_executed, errored,
75
+ classification, novel_outputs, total_outputs, output_fingerprints)
76
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
77
+ `).run(record.cycle, record.timestamp, record.durationMs, record.tokensUsed, record.insightsFound, record.rulesLearned, record.hypothesesConfirmed, record.experimentsCompleted, record.actionsExecuted, record.errored ? 1 : 0, classification, novelOutputs, totalOutputs, JSON.stringify(record.outputFingerprints));
78
+ this.log.debug(`[CycleOutcome] Cycle #${record.cycle}: ${classification}, ${totalOutputs} outputs (${novelOutputs} novel), ${record.tokensUsed} tokens`);
79
+ return classification;
80
+ }
81
+ /**
82
+ * Get aggregated rates for a time window.
83
+ * @param windowHours Hours to look back (0 = all time)
84
+ */
85
+ getRates(windowHours = 0) {
86
+ const windowLabel = windowHours === 0 ? 'all'
87
+ : windowHours <= 24 ? `${windowHours}h`
88
+ : `${Math.round(windowHours / 24)}d`;
89
+ const whereClause = windowHours > 0
90
+ ? `WHERE timestamp > ${Date.now() - windowHours * 3_600_000}`
91
+ : '';
92
+ const rows = this.db.prepare(`
93
+ SELECT
94
+ COUNT(*) as total,
95
+ SUM(CASE WHEN classification = 'productive' THEN 1 ELSE 0 END) as productive,
96
+ SUM(CASE WHEN classification = 'failed' THEN 1 ELSE 0 END) as failed,
97
+ SUM(CASE WHEN classification = 'productive' AND novel_outputs > 0 THEN 1 ELSE 0 END) as novel_productive,
98
+ SUM(total_outputs) as total_outputs,
99
+ SUM(tokens_used) as total_tokens,
100
+ AVG(duration_ms) as avg_duration
101
+ FROM cycle_outcomes ${whereClause}
102
+ `).get();
103
+ if (!rows || rows.total === 0) {
104
+ return {
105
+ window: windowLabel, totalCycles: 0,
106
+ productiveRate: 0, failedRate: 0, noveltyRate: 0, efficiencyRate: 0, avgDurationMs: 0,
107
+ };
108
+ }
109
+ return {
110
+ window: windowLabel,
111
+ totalCycles: rows.total,
112
+ productiveRate: rows.productive / rows.total,
113
+ failedRate: rows.failed / rows.total,
114
+ noveltyRate: rows.productive > 0 ? rows.novel_productive / rows.productive : 0,
115
+ efficiencyRate: (rows.total_outputs / Math.max(rows.total_tokens, 1)) * 1000,
116
+ avgDurationMs: rows.avg_duration,
117
+ };
118
+ }
119
+ /**
120
+ * Get rate history as time series (one point per day).
121
+ * @param days Number of days to look back
122
+ */
123
+ getRateHistory(days = 30) {
124
+ const since = Date.now() - days * 86_400_000;
125
+ const rows = this.db.prepare(`
126
+ SELECT
127
+ date(created_at) as day,
128
+ COUNT(*) as total,
129
+ SUM(CASE WHEN classification = 'productive' THEN 1 ELSE 0 END) as productive,
130
+ SUM(CASE WHEN classification = 'failed' THEN 1 ELSE 0 END) as failed,
131
+ SUM(CASE WHEN classification = 'productive' AND novel_outputs > 0 THEN 1 ELSE 0 END) as novel_productive,
132
+ SUM(total_outputs) as total_outputs,
133
+ SUM(tokens_used) as total_tokens,
134
+ AVG(duration_ms) as avg_duration
135
+ FROM cycle_outcomes
136
+ WHERE timestamp > ?
137
+ GROUP BY day
138
+ ORDER BY day
139
+ `).all(since);
140
+ return rows.map(r => ({
141
+ date: r.day,
142
+ window: '1d',
143
+ totalCycles: r.total,
144
+ productiveRate: r.productive / r.total,
145
+ failedRate: r.failed / r.total,
146
+ noveltyRate: r.productive > 0 ? r.novel_productive / r.productive : 0,
147
+ efficiencyRate: (r.total_outputs / Math.max(r.total_tokens, 1)) * 1000,
148
+ avgDurationMs: r.avg_duration,
149
+ }));
150
+ }
151
+ /** Get the last N cycle outcomes. */
152
+ getRecent(limit = 20) {
153
+ return this.db.prepare(`
154
+ SELECT * FROM cycle_outcomes ORDER BY cycle DESC LIMIT ?
155
+ `).all(limit);
156
+ }
157
+ // ── Classification ────────────────────────────────────
158
+ /**
159
+ * Classify a cycle. Rules:
160
+ * - errored → 'failed'
161
+ * - tokens > 0 but totalOutputs === 0 → 'failed' (consumed resources, produced nothing)
162
+ * - totalOutputs > 0 → 'productive'
163
+ * - everything else → 'idle' (no tokens, no output — scheduler skipped or trivial)
164
+ */
165
+ classify(record, totalOutputs) {
166
+ if (record.errored)
167
+ return 'failed';
168
+ if (totalOutputs > 0)
169
+ return 'productive';
170
+ if (record.tokensUsed > 0)
171
+ return 'failed'; // consumed tokens but produced nothing
172
+ return 'idle';
173
+ }
174
+ // ── Novelty detection ─────────────────────────────────
175
+ /**
176
+ * Count how many of this cycle's fingerprints are genuinely new
177
+ * (not seen in the last NOVELTY_LOOKBACK_CYCLES cycles).
178
+ */
179
+ countNovelOutputs(currentCycle, fingerprints) {
180
+ if (fingerprints.length === 0)
181
+ return 0;
182
+ // Get all fingerprints from recent cycles
183
+ const recentRows = this.db.prepare(`
184
+ SELECT output_fingerprints FROM cycle_outcomes
185
+ WHERE cycle > ? AND cycle < ?
186
+ ORDER BY cycle DESC
187
+ `).all(currentCycle - NOVELTY_LOOKBACK_CYCLES, currentCycle);
188
+ const seenFingerprints = new Set();
189
+ for (const row of recentRows) {
190
+ try {
191
+ const fps = JSON.parse(row.output_fingerprints);
192
+ for (const fp of fps)
193
+ seenFingerprints.add(fp);
194
+ }
195
+ catch { /* skip malformed */ }
196
+ }
197
+ let novel = 0;
198
+ for (const fp of fingerprints) {
199
+ if (!seenFingerprints.has(fp))
200
+ novel++;
201
+ }
202
+ return novel;
203
+ }
204
+ }
205
+ // ── Utility ─────────────────────────────────────────────
206
+ /** Create a content fingerprint for novelty detection. */
207
+ export function fingerprint(content) {
208
+ // Normalize whitespace and case, then hash
209
+ const normalized = content.toLowerCase().replace(/\s+/g, ' ').trim();
210
+ return createHash('sha256').update(normalized).digest('hex').slice(0, 16);
211
+ }
212
+ /** Run the cycle_outcomes migration (idempotent). */
213
+ export function runCycleOutcomeMigration(db) {
214
+ new CycleOutcomeTracker(db);
215
+ }
216
+ //# sourceMappingURL=cycle-outcome-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cycle-outcome-tracker.js","sourceRoot":"","sources":["../../src/research/cycle-outcome-tracker.ts"],"names":[],"mappings":"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"}
@@ -142,6 +142,7 @@ export declare class ResearchOrchestrator {
142
142
  private loopDetector;
143
143
  private governanceLayer;
144
144
  private adaptiveScheduler;
145
+ private cycleOutcomeTracker;
145
146
  private lastAutoMissionTime;
146
147
  private lastGoalMissionTime;
147
148
  private roadmapBootstrapped;
@@ -177,6 +178,8 @@ export declare class ResearchOrchestrator {
177
178
  setOnSuggestion(callback: (suggestions: string[]) => void): void;
178
179
  /** Set the AdaptiveScheduler for dynamic cycle intervals. */
179
180
  setAdaptiveScheduler(scheduler: AdaptiveScheduler): void;
181
+ /** Set the CycleOutcomeTracker for long-term cycle metrics. */
182
+ setCycleOutcomeTracker(tracker: import('./cycle-outcome-tracker.js').CycleOutcomeTracker): void;
180
183
  /** Get the AdaptiveScheduler instance. */
181
184
  getAdaptiveScheduler(): AdaptiveScheduler | null;
182
185
  /** Set the DataMiner instance for DB-driven engine feeding. */
@@ -90,6 +90,7 @@ export class ResearchOrchestrator {
90
90
  loopDetector = null;
91
91
  governanceLayer = null;
92
92
  adaptiveScheduler = null;
93
+ cycleOutcomeTracker = null;
93
94
  lastAutoMissionTime = 0;
94
95
  lastGoalMissionTime = 0;
95
96
  roadmapBootstrapped = false;
@@ -151,6 +152,10 @@ export class ResearchOrchestrator {
151
152
  setAdaptiveScheduler(scheduler) {
152
153
  this.adaptiveScheduler = scheduler;
153
154
  }
155
+ /** Set the CycleOutcomeTracker for long-term cycle metrics. */
156
+ setCycleOutcomeTracker(tracker) {
157
+ this.cycleOutcomeTracker = tracker;
158
+ }
154
159
  /** Get the AdaptiveScheduler instance. */
155
160
  getAdaptiveScheduler() {
156
161
  return this.adaptiveScheduler;
@@ -3143,6 +3148,35 @@ export class ResearchOrchestrator {
3143
3148
  durationMs: duration,
3144
3149
  });
3145
3150
  }
3151
+ // Cycle Outcome Tracking: long-term productive/failed/novelty/efficiency rates
3152
+ if (this.cycleOutcomeTracker) {
3153
+ try {
3154
+ const { fingerprint } = await import('./cycle-outcome-tracker.js');
3155
+ const hypSummary = this.hypothesisEngine.getSummary();
3156
+ const llmStats = this.llmService?.getStats?.();
3157
+ // Build output fingerprints from this cycle's concrete artifacts
3158
+ const fps = [];
3159
+ for (const ins of insights.slice(0, 10)) {
3160
+ fps.push(fingerprint(ins.title ?? ins.type ?? JSON.stringify(ins)));
3161
+ }
3162
+ this.cycleOutcomeTracker.recordOutcome({
3163
+ cycle: this.cycleCount,
3164
+ timestamp: Date.now(),
3165
+ durationMs: duration,
3166
+ tokensUsed: llmStats?.tokensThisHour ?? 0,
3167
+ insightsFound: insights.length,
3168
+ rulesLearned: 0,
3169
+ hypothesesConfirmed: hypSummary.confirmed ?? 0,
3170
+ experimentsCompleted: 0, // tracked externally via AutoExperimentEngine
3171
+ actionsExecuted: 0,
3172
+ errored: false,
3173
+ outputFingerprints: fps,
3174
+ });
3175
+ }
3176
+ catch (err) {
3177
+ this.log.debug(`[orchestrator] CycleOutcomeTracker error: ${err.message}`);
3178
+ }
3179
+ }
3146
3180
  // Step-profiling summary: log slow steps if any
3147
3181
  if (stepTimings.length > 0) {
3148
3182
  this.log.warn(`[orchestrator] Cycle #${this.cycleCount} slow steps: ${stepTimings.map(s => `${s.step}(${s.ms}ms)`).join(', ')}`);