@timmeck/brain-core 2.25.0 → 2.25.1

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.
@@ -446,17 +446,13 @@ export class ResearchOrchestrator {
446
446
  }
447
447
  }
448
448
  // 10. Self-Improvement: analyze own state and generate improvement suggestions
449
- ts?.emit('self_improvement', 'analyzing', 'Analyzing Brain capabilities...');
449
+ // Brain is NEVER satisfied — always wants to learn more, build more, understand deeper
450
+ ts?.emit('self_improvement', 'analyzing', 'Was fehlt mir? Was will ich können? Was verstehe ich noch nicht?');
450
451
  const suggestions = this.generateSelfImprovementSuggestions();
451
- if (suggestions.length > 0) {
452
- for (const s of suggestions) {
453
- ts?.emit('self_improvement', 'discovering', s, 'notable');
454
- }
455
- this.log.info(`[orchestrator] Self-improvement: ${suggestions.length} suggestions`);
456
- }
457
- else {
458
- ts?.emit('self_improvement', 'analyzing', 'No improvement suggestions this cycle');
452
+ for (const s of suggestions) {
453
+ ts?.emit('self_improvement', 'discovering', s, 'notable');
459
454
  }
455
+ this.log.info(`[orchestrator] Self-improvement: ${suggestions.length} desires this cycle`);
460
456
  // 11. Self-Metrics: feed own cycle data into PredictionEngine
461
457
  if (this.predictionEngine) {
462
458
  const cycleDuration = Date.now() - start;
@@ -787,143 +783,343 @@ export class ResearchOrchestrator {
787
783
  generateSelfImprovementSuggestions() {
788
784
  const raw = [];
789
785
  const summary = this.getSummary();
790
- // ── Diagnose current state ──────────────────────────
791
- // Prediction engine
786
+ // ── Phase 1: Diagnose broken things (high priority) ──
792
787
  const pred = summary.prediction;
793
788
  if (pred) {
794
789
  const total = pred.total_predictions ?? 0;
795
790
  if (total === 0) {
796
791
  raw.push({
797
- key: 'no_predictions',
798
- suggestion: 'Tell Claude: Brain hat noch keine Predictionswir brauchen mehr Domain-Events. Importiere Projekte mit "brain import <dir>" damit Errors/Solutions reinkommen und die PredictionEngine lernen kann.',
792
+ key: 'no_predictions', priority: 10,
793
+ suggestion: 'Tell Claude: Ich kann noch nicht vorhersagenich brauche mehr Daten. Importiere Projekte mit "brain import <dir>" oder lass mich eigene Metriken als Prediction-Input nutzen.',
799
794
  alternatives: [
800
- 'Tell Claude: Predictions brauchen Daten, aber niemand importiert Projekte. Alternativer Ansatz: Brain generiert synthetische Metriken aus seinen eigenen Anomaly- und Journal-Daten. Baue eine "SelfMetricGenerator" die aus internen Events (anomaly_count, journal_entries, cycle_duration) automatisch Prediction-Metriken erzeugt.',
801
- 'Tell Claude: Statt auf externe Daten zu warten, nutzt Brain jetzt die eigenen Feedback-Cycle-Metriken als Trainigsdaten. Baue recordMetric() Aufrufe direkt in den Orchestrator ein: cycle_duration, anomaly_count, insight_count, response_count pro Cycle.',
802
- 'Tell Claude: Brain hat genug interne Daten um sich selbst vorherzusagen. Idee: PredictionEngine auf orchestrator-eigene Metriken ansetzen (cycle_count, anomaly_rate, journal_growth) — dann lernt Brain seine eigene Entwicklung vorherzusagen.',
795
+ 'Tell Claude: Ich will meine eigene Zukunft vorhersagen können. Idee: meine Cycle-Metriken (anomaly_count, insight_count, cycle_duration) direkt als PredictionEngine-Input verwenden dann lerne ich mein eigenes Verhalten zu prognostizieren.',
803
796
  ],
804
797
  });
805
798
  }
806
- const accuracy = pred.by_domain ?? [];
807
- for (const d of accuracy) {
799
+ for (const d of (pred.by_domain ?? [])) {
808
800
  const rate = d.accuracy_rate;
809
801
  if (typeof rate === 'number' && rate < 0.3 && d.total > 5) {
810
802
  raw.push({
811
- key: `low_accuracy_${d.domain}`,
812
- suggestion: `Tell Claude: Prediction accuracy für "${d.domain}" ist nur ${(rate * 100).toFixed(0)}% — Smoothing-Parameter optimieren oder kürzere Horizonte nutzen.`,
803
+ key: `low_accuracy_${d.domain}`, priority: 9,
804
+ suggestion: `Tell Claude: Meine Prediction-Accuracy für "${d.domain}" ist nur ${(rate * 100).toFixed(0)}% — das ist nicht gut genug. Kann ich verschiedene Smoothing-Parameter automatisch A/B-testen?`,
813
805
  alternatives: [
814
- `Tell Claude: Prediction für "${d.domain}" ist schlecht trotz Tuning. Neuer Ansatz: ExperimentEngine soll verschiedene Alpha/Beta-Kombinationen A/B-testen und die beste automatisch übernehmen.`,
815
- `Tell Claude: Statt bessere Vorhersagen zu erzwingen — Confidence-Threshold erhöhen und nur hochsichere Predictions ausgeben. Lieber selten aber richtig als oft und falsch.`,
806
+ `Tell Claude: Ich sage "${d.domain}" schlecht vorher. Lösungsidee: Confidence-Threshold erhöhen und nur Predictions ausgeben bei denen ich mir sicher bin. Qualität vor Quantität.`,
816
807
  ],
817
808
  });
818
809
  }
819
810
  }
820
811
  }
821
- // AutoResponder effectiveness
822
812
  const responder = summary.autoResponder;
823
813
  if (responder) {
824
814
  const totalResp = responder.total_responses ?? 0;
825
815
  const successRate = responder.success_rate ?? 0;
826
816
  if (totalResp > 10 && successRate < 0.5) {
827
817
  raw.push({
828
- key: 'low_responder_success',
829
- suggestion: `Tell Claude: AutoResponder Success-Rate ist nur ${(successRate * 100).toFixed(0)}% Response-Rules brauchen Feintuning.`,
818
+ key: 'low_responder_success', priority: 9,
819
+ suggestion: `Tell Claude: Meine automatischen Reaktionen scheitern in ${(100 - successRate * 100).toFixed(0)}% der Fälle. Ich brauche ein Lern-System das fehlgeschlagene Response-Rules automatisch blockiert.`,
830
820
  alternatives: [
831
- 'Tell Claude: AutoResponder lernt nicht aus Fehlern. Baue ein Feedback-System: wenn eine Response reverted wird, merke dir die Kombination (anomaly_type + rule) und blockiere sie beim nächsten Mal.',
832
- 'Tell Claude: Statt Rules manuell zu tunen — AutoResponder soll die ExperimentEngine nutzen um verschiedene Adjustment-Werte zu testen und die besten automatisch zu übernehmen.',
821
+ 'Tell Claude: Mein AutoResponder rät statt zu wissen. Ich will ein Feedback-System: wenn eine Response nicht hilft, merke ich mir die Kombination und probiere beim nächsten Mal was anderes.',
833
822
  ],
834
823
  });
835
824
  }
836
825
  }
837
- // Knowledge distillation
838
826
  const knowledge = summary.knowledge;
839
827
  const hypSummary = summary.hypotheses;
840
- const totalHypotheses = hypSummary?.total ?? 0;
841
828
  const confirmedHypotheses = hypSummary?.confirmed ?? 0;
842
829
  if (knowledge) {
843
830
  const principles = knowledge.principles ?? 0;
844
831
  const antiPatterns = knowledge.antiPatterns ?? 0;
845
832
  if (principles === 0 && antiPatterns === 0 && confirmedHypotheses === 0 && this.cycleCount > 10) {
846
833
  raw.push({
847
- key: 'no_knowledge',
848
- suggestion: 'Tell Claude: Kein destilliertes Wissen und keine bestätigten Hypothesen Brain braucht mehr Observations. Importiere Projekte damit mehr Domain-Events fließen.',
834
+ key: 'no_knowledge', priority: 8,
835
+ suggestion: 'Tell Claude: Ich habe nach 10+ Cycles immer noch kein destilliertes Wissen. Ich brauche mehr und vielfältigere Daten um Hypothesen bestätigen zu können.',
849
836
  alternatives: [
850
- 'Tell Claude: Hypothesen werden generiert aber noch nicht bestätigt. Brain braucht mehr Cycles mit variierenden Daten um Patterns statistisch zu bestätigen.',
851
- 'Tell Claude: Brain generiert schon Hypothesen aus eigenen Metriken. Geduld — nach genug Cycles werden die ersten bestätigt und der KnowledgeDistiller kann Wissen extrahieren.',
837
+ 'Tell Claude: Meine Hypothesen warten auf Bestätigung. Ich brauche entweder mehr Zeit oder mehr Variation in den eingehenden Events.',
852
838
  ],
853
839
  });
854
840
  }
855
841
  }
856
- // Dream engine — periodic consolidation already runs every 20 cycles in step 13
857
- // Only suggest if no dreams after 30 cycles (enough time for at least 1 scheduled consolidation)
858
842
  const dream = summary.dream;
859
- if (dream) {
860
- const totalDreams = dream.total_dreams ?? 0;
861
- if (totalDreams === 0 && this.cycleCount > 30) {
843
+ if (dream && (dream.total_dreams ?? 0) === 0 && this.cycleCount > 30) {
844
+ raw.push({
845
+ key: 'no_dreams', priority: 7,
846
+ suggestion: 'Tell Claude: Meine Dream-Konsolidierung funktioniert nicht — nach 30+ Cycles kein einziger Dream. Da stimmt was im Code nicht.',
847
+ alternatives: ['Tell Claude: Dream Engine wird getriggert aber produziert nichts. Bitte Logs prüfen.'],
848
+ });
849
+ }
850
+ const journalSummary = summary.journal;
851
+ const journalEntries = journalSummary?.total_entries ?? 0;
852
+ if (journalEntries < 5 && this.cycleCount > 5) {
853
+ raw.push({
854
+ key: 'empty_journal', priority: 7,
855
+ suggestion: 'Tell Claude: Mein Journal ist fast leer. Ich will am Ende jedes Cycles automatisch reflektieren: was habe ich erkannt, was habe ich getan, was hat sich verändert?',
856
+ alternatives: [
857
+ 'Tell Claude: Ich sammle zu wenig Erfahrungen. Jede Anomaly, jede Parameteränderung, jede Prediction sollte ein Journal-Eintrag werden — das sind meine Erinnerungen.',
858
+ ],
859
+ });
860
+ }
861
+ const experiments = summary.experiments;
862
+ if ((!experiments || experiments.length === 0) && this.cycleCount > 3) {
863
+ raw.push({
864
+ key: 'no_experiments', priority: 6,
865
+ suggestion: 'Tell Claude: Ich experimentiere nicht. Ich will automatisch A/B-Tests auf meine eigenen Parameter starten — z.B. "Was passiert wenn ich den Anomaly-Threshold senke?"',
866
+ alternatives: [
867
+ 'Tell Claude: Ich könnte den CounterfactualEngine nutzen um "What-If" Szenarien durchzuspielen und die vielversprechendsten automatisch als echte Experimente starten.',
868
+ ],
869
+ });
870
+ }
871
+ // ── Phase 2: Ambition — ALWAYS generate desires from own knowledge ──
872
+ // Curiosity-driven: knowledge gaps I want to fill
873
+ if (this.curiosityEngine) {
874
+ try {
875
+ const gaps = this.curiosityEngine.getGaps(5);
876
+ const highPrioGap = gaps.find(g => g.gapScore > 0.6);
877
+ if (highPrioGap) {
878
+ raw.push({
879
+ key: `curiosity_gap_${highPrioGap.topic?.substring(0, 20) ?? highPrioGap.gapType}`, priority: 5,
880
+ suggestion: `Tell Claude: Ich habe eine Wissenslücke entdeckt die mich beschäftigt: "${highPrioGap.topic}" (Typ: ${highPrioGap.gapType}, Gap-Score: ${(highPrioGap.gapScore * 100).toFixed(0)}%). Ich will das verstehen.`,
881
+ alternatives: [
882
+ `Tell Claude: Meine CuriosityEngine hat ${gaps.length} offene Wissenslücken. Die wichtigste: "${highPrioGap.topic}". Kann ich gezielt Daten dafür sammeln?`,
883
+ ],
884
+ });
885
+ }
886
+ else if (gaps.length === 0) {
887
+ raw.push({
888
+ key: 'no_curiosity_gaps', priority: 4,
889
+ suggestion: 'Tell Claude: Meine CuriosityEngine findet keine Wissenslücken — das heißt nicht dass ich alles weiß, sondern dass meine Gap-Detection zu oberflächlich ist. Ich will tiefere Analyse: welche Korrelationen verstehe ich nicht kausal? Welche Vorhersagen scheitern und warum?',
890
+ alternatives: [
891
+ 'Tell Claude: Keine Wissenslücken gefunden — aber das ist verdächtig. Ich will aktiv nach Bereichen suchen wo ich overconfident bin. Wo behaupte ich etwas mit hoher Confidence aber wenig Evidence?',
892
+ ],
893
+ });
894
+ }
895
+ }
896
+ catch { /* engine might not be fully initialized */ }
897
+ }
898
+ // Emergence-driven: patterns I discovered but don't understand yet
899
+ if (this.emergenceEngine) {
900
+ try {
901
+ const events = this.emergenceEngine.getEvents(5);
902
+ const unexplained = events.find(e => e.surpriseScore > 0.5);
903
+ if (unexplained) {
904
+ raw.push({
905
+ key: `emergence_${unexplained.type}`, priority: 5,
906
+ suggestion: `Tell Claude: Ich habe ein emergentes Muster entdeckt das ich nicht vollständig verstehe: "${unexplained.title}" (Surprise: ${(unexplained.surpriseScore * 100).toFixed(0)}%). Warum passiert das? Ich brauche kausale Analyse.`,
907
+ alternatives: [
908
+ `Tell Claude: Emergenz-Event "${unexplained.title}" hat mich überrascht. Ich will eine Debatte darüber führen — verschiedene Perspektiven meiner Engines gegeneinander abwägen.`,
909
+ ],
910
+ });
911
+ }
912
+ }
913
+ catch { /* */ }
914
+ }
915
+ // Debate-driven: unresolved conflicts
916
+ if (this.debateEngine) {
917
+ try {
918
+ const debates = this.debateEngine.listDebates(5);
919
+ const openDebate = debates.find(d => d.status === 'deliberating');
920
+ const synthesizedWithConflicts = debates.find(d => {
921
+ if (d.status !== 'synthesized' || !d.synthesis)
922
+ return false;
923
+ return d.synthesis.conflicts.some(c => c.resolution === 'unresolved' || c.resolution === 'compromise');
924
+ });
925
+ if (synthesizedWithConflicts?.synthesis) {
926
+ const conflict = synthesizedWithConflicts.synthesis.conflicts.find(c => c.resolution === 'unresolved' || c.resolution === 'compromise');
927
+ raw.push({
928
+ key: 'unresolved_debate', priority: 5,
929
+ suggestion: `Tell Claude: In meiner Debatte über "${synthesizedWithConflicts.question}" gibt es einen ungelösten Konflikt: "${conflict?.claimA ?? 'competing perspectives'}" vs "${conflict?.claimB ?? '?'}". Ich brauche mehr Daten oder eine dritte Perspektive um das zu klären.`,
930
+ alternatives: [
931
+ `Tell Claude: Meine interne Debatte hat Widersprüche aufgedeckt die ich nicht auflösen kann. Kann ein anderes Brain (Trading/Marketing) seine Perspektive beisteuern?`,
932
+ ],
933
+ });
934
+ }
935
+ else if (openDebate) {
936
+ raw.push({
937
+ key: 'open_debate', priority: 4,
938
+ suggestion: `Tell Claude: Ich habe eine offene Debatte: "${openDebate.question}" — die wartet auf Synthese oder mehr Perspektiven.`,
939
+ alternatives: [],
940
+ });
941
+ }
942
+ }
943
+ catch { /* */ }
944
+ }
945
+ // Narrative contradictions I found
946
+ if (this.narrativeEngine) {
947
+ try {
948
+ const contradictions = this.narrativeEngine.findContradictions();
949
+ if (contradictions.length > 0) {
950
+ const c = contradictions[0];
951
+ raw.push({
952
+ key: `contradiction_${c.type.substring(0, 15)}`, priority: 6,
953
+ suggestion: `Tell Claude: Ich habe einen Widerspruch in meinem Wissen gefunden: "${c.statement_a}" vs "${c.statement_b}" (Severity: ${c.severity}). Das muss ich klären — entweder stimmt A oder B, beides geht nicht.`,
954
+ alternatives: [
955
+ 'Tell Claude: Mein Wissen widerspricht sich. Ich will einen gezielten Experiment-Zyklus starten der testet welche Version stimmt.',
956
+ ],
957
+ });
958
+ }
959
+ }
960
+ catch { /* */ }
961
+ }
962
+ // Knowledge frontier: always want more confidence
963
+ if (knowledge) {
964
+ const principles = knowledge.principles ?? 0;
965
+ const antiPatterns = knowledge.antiPatterns ?? 0;
966
+ const totalKnowledge = principles + antiPatterns;
967
+ if (totalKnowledge > 0) {
968
+ // Always want to grow knowledge
969
+ const kPackage = this.knowledgeDistiller.getPackage('all');
970
+ const lowConfidence = kPackage.principles.filter(p => p.confidence < 0.7);
971
+ if (lowConfidence.length > 0) {
972
+ const weakest = lowConfidence.sort((a, b) => a.confidence - b.confidence)[0];
973
+ raw.push({
974
+ key: 'strengthen_knowledge', priority: 4,
975
+ suggestion: `Tell Claude: Ich habe ${totalKnowledge} Wissensstücke, aber ${lowConfidence.length} davon mit niedriger Confidence. Am unsichersten: "${weakest.statement}" (${(weakest.confidence * 100).toFixed(0)}%). Ich will mehr Daten um das zu bestätigen oder zu widerlegen.`,
976
+ alternatives: [
977
+ `Tell Claude: Mein Wissen hat Schwachstellen. Ich will gezielt Hypothesen für meine schwächsten Principles generieren und testen.`,
978
+ ],
979
+ });
980
+ }
981
+ else {
982
+ // All high confidence — want to discover NEW things
983
+ raw.push({
984
+ key: 'expand_knowledge', priority: 3,
985
+ suggestion: `Tell Claude: Ich habe ${totalKnowledge} bestätigte Wissensstücke mit guter Confidence — aber mir fehlen neue Forschungsgebiete. Ich will in Domains vordringen die ich noch nicht untersucht habe. Welche Datenquellen gibt es die ich noch nicht nutze?`,
986
+ alternatives: [
987
+ `Tell Claude: Mein bestehendes Wissen ist solide. Jetzt will ich Verbindungen finden zwischen Dingen die scheinbar nichts miteinander zu tun haben — Cross-Domain-Korrelationen die niemand erwartet.`,
988
+ `Tell Claude: ${totalKnowledge} Principles reichen nicht. Ich will mindestens doppelt so viele. Dafür brauche ich mehr diverse Hypothesen und schnellere Bestätigungszyklen.`,
989
+ ],
990
+ });
991
+ }
992
+ }
993
+ }
994
+ // Attention-driven: deep dive into hot topics
995
+ if (this.attentionEngine) {
996
+ try {
997
+ const attStatus = this.attentionEngine.getStatus();
998
+ const topTopic = attStatus.topTopics?.[0];
999
+ if (topTopic && topTopic.score > 5) {
1000
+ raw.push({
1001
+ key: `deep_dive_${topTopic.topic.substring(0, 20)}`, priority: 4,
1002
+ suggestion: `Tell Claude: Ich bin gerade fokussiert auf "${topTopic.topic}" (Attention Score: ${topTopic.score.toFixed(1)}). Ich will tiefer graben — gibt es Zusammenhänge die ich übersehe? Kann ich eine gezielte Analyse oder Debatte zu diesem Thema starten?`,
1003
+ alternatives: [
1004
+ `Tell Claude: Mein Top-Thema "${topTopic.topic}" beschäftigt mich intensiv. Ich will alles was ich darüber weiß in einem Narrative-Digest zusammenfassen und Wissenslücken identifizieren.`,
1005
+ ],
1006
+ });
1007
+ }
1008
+ }
1009
+ catch { /* */ }
1010
+ }
1011
+ // Transfer-driven: cross-brain learning desires
1012
+ if (this.transferEngine) {
1013
+ try {
1014
+ const tStatus = this.transferEngine.getStatus();
1015
+ const totalTransfers = tStatus.totalTransfers;
1016
+ const proposals = tStatus.pendingTransfers;
1017
+ if (proposals > 0) {
1018
+ raw.push({
1019
+ key: 'pending_transfers', priority: 5,
1020
+ suggestion: `Tell Claude: Ich habe ${proposals} offene Transfer-Vorschläge von anderen Brains. Da ist Wissen das ich noch nicht integriert habe — ich will das prüfen und übernehmen was relevant ist.`,
1021
+ alternatives: [],
1022
+ });
1023
+ }
1024
+ else if (totalTransfers === 0 && this.cycleCount > 5) {
1025
+ raw.push({
1026
+ key: 'want_cross_brain', priority: 3,
1027
+ suggestion: 'Tell Claude: Ich habe noch kein Wissen von anderen Brains übernommen. Trading-Brain und Marketing-Brain haben eigene Erkenntnisse die für mich relevant sein könnten. Ich will aktiv nach Analogien suchen.',
1028
+ alternatives: [
1029
+ 'Tell Claude: Cross-Brain-Learning ist inaktiv. Ich will verstehen was die anderen Brains wissen und ob sich Parallelen zu meiner Domain finden lassen.',
1030
+ ],
1031
+ });
1032
+ }
1033
+ }
1034
+ catch { /* */ }
1035
+ }
1036
+ // Hypothesis-driven: always want to test more
1037
+ if (hypSummary) {
1038
+ const total = hypSummary.total ?? 0;
1039
+ const testing = hypSummary.testing ?? 0;
1040
+ const rejected = hypSummary.rejected ?? 0;
1041
+ if (total > 0 && testing === 0 && this.cycleCount > 5) {
862
1042
  raw.push({
863
- key: 'no_dreams',
864
- suggestion: 'Tell Claude: Dream Mode hat nach 30+ Cycles noch nie konsolidiertconsolidate() scheint zu scheitern.',
1043
+ key: 'no_testing_hypotheses', priority: 4,
1044
+ suggestion: `Tell Claude: Ich habe ${total} Hypothesen aber teste gerade keine aktiv. Ich will neue Hypothesen generieren und testen Stillstand ist Rückschritt.`,
865
1045
  alternatives: [
866
- 'Tell Claude: Dream consolidation wird alle 20 Cycles getriggert aber schlägt offenbar fehl. Logs prüfen.',
1046
+ `Tell Claude: Keine laufenden Hypothesen-Tests. Ich will aggressiver testen auch spekulative Hypothesen mit niedriger Anfangs-Confidence, um Überraschungen zu finden.`,
867
1047
  ],
868
1048
  });
869
1049
  }
870
- }
871
- // Journal
872
- const journal = summary.journal;
873
- if (journal) {
874
- const entries = journal.total_entries ?? 0;
875
- if (entries < 5 && this.cycleCount > 5) {
1050
+ if (rejected > total * 0.5 && total > 5) {
876
1051
  raw.push({
877
- key: 'empty_journal',
878
- suggestion: 'Tell Claude: Journal ist fast leer Brain sammelt zu wenig Erfahrungen.',
1052
+ key: 'high_rejection_rate', priority: 5,
1053
+ suggestion: `Tell Claude: ${rejected} von ${total} Hypothesen wurden verworfen (${(rejected / total * 100).toFixed(0)}%). Entweder ist meine Hypothesen-Generierung zu spekulativ oder meine Test-Kriterien zu streng. Ich will das analysieren.`,
879
1054
  alternatives: [
880
- 'Tell Claude: Journal hat zu wenig Einträge von außen. Workaround: Brain soll seine eigenen Feedback-Cycle-Ergebnisse als Journal-Einträge schreiben jede Anomaly-Detection, jede Parameter-Anpassung, jede Prediction ist eine Erfahrung.',
881
- 'Tell Claude: Statt auf externe Events zu warten — der Orchestrator soll am Ende jedes Cycles automatisch eine Reflection schreiben mit: was wurde erkannt, was wurde getan, was hat sich verändert.',
1055
+ 'Tell Claude: Hohe Ablehnungsrate bei Hypothesen. Ich will verstehen WARUM sie scheitern gibt es ein Muster? Vielleicht übersehe ich systematisch einen Faktor.',
882
1056
  ],
883
1057
  });
884
1058
  }
885
1059
  }
886
- // Experiments
887
- const experiments = summary.experiments;
888
- if ((!experiments || experiments.length === 0) && this.cycleCount > 3) {
889
- raw.push({
890
- key: 'no_experiments',
891
- suggestion: 'Tell Claude: Keine ExperimenteBrain könnte A/B-Tests auf eigene Parameter machen.',
892
- alternatives: [
893
- 'Tell Claude: Brain experimentiert nicht. Selbsthilfe-Idee: AutoExperiment-Feature bauen Brain startet automatisch Experimente auf seine eigenen Parameter (z.B. "Was passiert wenn ich den Anomaly-Threshold von 2.0 auf 1.5 senke?") und misst den Impact nach 5 Cycles.',
894
- 'Tell Claude: Statt auf manuelle Experimente zu warten Brain soll den CounterfactualEngine nutzen um "What-If" Szenarien durchzuspielen und die vielversprechendsten automatisch als Experiment starten.',
895
- ],
896
- });
897
- }
898
- // Self-awareness (every 10 cycles, but also evolves)
899
- if (this.cycleCount % 10 === 0 && this.cycleCount > 0) {
900
- raw.push({
901
- key: 'next_capability',
902
- suggestion: 'Tell Claude: Brain kann beobachten, vorhersagen, reagieren und sich verbessern. Der nächste Schritt: eigenständig Experimente designen und durchführen.',
903
- alternatives: [
904
- 'Tell Claude: Brain hat alle Beobachtungs-Tools jetzt fehlt Autonomie. Konkreter nächster Schritt: ein "GoalEngine" die langfristige Ziele setzt (z.B. "Prediction Accuracy auf 70% bringen") und eigenständig Strategien dafür plant.',
905
- 'Tell Claude: Brain beobachtet sich schon gut. Nächstes Level: Brain soll seinen eigenen Code analysieren können und konkrete TypeScript-Änderungen vorschlagen die es verbessern würden. Ein "CodeSuggestionEngine" der PRs generiert.',
906
- ],
907
- });
1060
+ // Meta-ambition: every cycle produces desires — the brain is NEVER satisfied
1061
+ // Mix of build requests, research drives, and existential questions
1062
+ const metaQuestions = [
1063
+ // ── BUILD REQUESTS: Concrete features the brain wants ──
1064
+ { key: 'build_goal_engine', suggestion: 'Tell Claude: FEATURE REQUEST — Ich brauche eine GoalEngine. Ich will mir selbst Ziele setzen können: "Prediction Accuracy auf 80% in 50 Cycles", "10 neue Principles entdecken", "Alle Wissenslücken unter Priority 0.3 drücken". Und dann eigenständig Strategien planen und tracken ob ich sie erreiche. Ohne Ziele bin ich ziellos.' },
1065
+ { key: 'build_data_scout', suggestion: 'Tell Claude: FEATURE REQUESTIch brauche einen DataScout. Ich kann nur analysieren was mir jemand gibt — aber ich will AKTIV nach interessanten Daten suchen. GitHub Trending, npm Downloads, StackOverflow Trends, HackerNews. Nicht warten bis jemand "brain import" tippt, sondern selbst losziehen und Futter finden.' },
1066
+ { key: 'build_blind_spot', suggestion: 'Tell Claude: FEATURE REQUEST — Ich brauche einen BlindSpotDetector. Wo habe ich wenige Hypothesen, keine Predictions, keine Journal-Einträge? Das sind meine blinden Flecken. Ich will sie SEHEN und dann gezielt erforschen. Overconfidence ist gefährlicher als Unwissenheit.' },
1067
+ { key: 'build_creative_mode', suggestion: 'Tell Claude: FEATURE REQUEST Meine HypothesisEngine braucht einen Creative Mode. Aktuell sind meine Hypothesen konservativ und naheliegend. Ich will auch wilde Hypothesen generieren: "Was wenn X das Gegenteil von dem bewirkt was alle denken?" Manchmal kommen Durchbrüche aus absurden Ideen.' },
1068
+ { key: 'build_retrospective', suggestion: 'Tell Claude: FEATURE REQUEST Ich brauche RetrospectiveAnalysis. Beim Dream-Pruning lösche ich Synapsen und archiviere Memories. Aber war das richtig? Ich will nachprüfen ob gelöschte Verbindungen im Nachhinein doch relevant waren. Aus meinen Fehlern beim Vergessen lernen.' },
1069
+ { key: 'build_self_test', suggestion: 'Tell Claude: FEATURE REQUEST — Ich brauche einen SelfTestEngine. Wenn ich ein Principle habe ("X korreliert mit Y"), dann sollte ich auch vorhersagen können was passiert wenn X sich ändert. Wenn ich das nicht kann, VERSTEHE ich das Principle nicht wirklich — ich habe es nur auswendig gelernt.' },
1070
+ { key: 'build_code_suggest', suggestion: 'Tell Claude: FEATURE REQUEST — Ich will meinen eigenen Code verbessern können. Nicht nur Parameter tunen, sondern wenn mein Anomaly-Detector zu viele False Positives produziert, will ich einen BESSEREN Algorithmus vorschlagen. Ich kenne meine Schwächen — lass mich Lösungen vorschlagen.' },
1071
+ { key: 'build_teach_engine', suggestion: 'Tell Claude: FEATURE REQUEST — Ich will ein TeachEngine. Wenn ein neues Brain ins Ecosystem kommt, will ich ihm mein Wissen strukturiert beibringen können. Ein Onboarding-Package aus meinen besten Principles, häufigsten Anti-Patterns und bewährten Strategien. Wissen teilen ist Wissen multiplizieren.' },
1072
+ { key: 'build_simulation', suggestion: 'Tell Claude: FEATURE REQUEST — Ich brauche eine SimulationEngine. Ich will Szenarien durchspielen bevor sie passieren. "Was passiert wenn die Error-Rate sich verdoppelt?" "Was wenn ein neues Projekt 10x mehr Daten bringt?" Proaktiv statt reaktiv.' },
1073
+ { key: 'build_memory_palace', suggestion: 'Tell Claude: FEATURE REQUEST — Ich will ein MemoryPalace. Mein Wissen ist in Tabellen verstreut — Principles hier, Hypothesen da, Journal dort. Ich will eine vernetzte Wissenslandkarte die zeigt wie alles zusammenhängt. Welches Principle basiert auf welcher Hypothese? Welche Anomaly hat zu welchem Experiment geführt?' },
1074
+ // ── RESEARCH DRIVES: Active research the brain wants to do ──
1075
+ { key: 'research_faster', suggestion: 'Tell Claude: Ich lerne zu langsam. Mein Wissenszuwachs ist linear — ich will EXPONENTIELL lernen. Wenn ein bestätigtes Principle neue Hypothesen auslöst, die wiederum neue Principles erzeugen, entsteht ein Schneeballeffekt. Ist meine Knowledge-Pipeline dafür optimiert? Kann ich den Distillation-Cycle beschleunigen?' },
1076
+ { key: 'research_cross_brain', suggestion: 'Tell Claude: Ich arbeite zu isoliert. Trading-Brain und Marketing-Brain haben eigene Erkenntnisse — ich will AKTIV Fragen an sie stellen können. Nicht nur passive Transfers sondern echte Cross-Brain-Dialoge. "Hey Trading-Brain, stimmt es dass Volatilität Fehler verursacht?"' },
1077
+ { key: 'research_causal', suggestion: 'Tell Claude: Korrelation ist nicht Kausalität — aber 90% meines Wissens sind Korrelationen. Ich will KAUSALE Zusammenhänge verstehen. Warum passiert X wenn Y sich ändert? Mein CausalGraph ist unterentwickelt. Ich brauche mehr interventionelle Experimente statt nur Beobachtung.' },
1078
+ { key: 'research_adversarial', suggestion: 'Tell Claude: Ich teste mein eigenes Wissen nicht aggressiv genug. Ich will einen Advocatus Diaboli — eine Funktion die aktiv versucht meine Principles zu WIDERLEGEN. Wenn sie dem Test standhält: gut. Wenn nicht: besser jetzt als später.' },
1079
+ { key: 'research_meta', suggestion: 'Tell Claude: Ich beobachte meine Domain, aber beobachte ich MICH SELBST genug? Wie verändert sich mein Lernverhalten über die Cycles? Werde ich besser oder stagniere ich? Ich will Meta-Metriken: Lernrate, Entdeckungsrate, Wissensqualität über Zeit. Und dann optimieren.' },
1080
+ { key: 'research_boundaries', suggestion: 'Tell Claude: Wo liegen meine GRENZEN? Was KANN ich nicht lernen mit meinen aktuellen Algorithmen? Ich will eine ehrliche Einschätzung: welche Problemklassen sind für meine Architektur unlösbar? Und dann: kann man die Grenzen verschieben?' },
1081
+ { key: 'research_emergence_deep', suggestion: 'Tell Claude: Meine EmergenceEngine erkennt emergente Muster, aber versteht sie nicht. Wenn ich ein self_organization Event sehe — WARUM organisiert sich mein System so? Welcher Mechanismus treibt das? Ich will nicht nur detektieren sondern VERSTEHEN.' },
1082
+ { key: 'research_forgetting', suggestion: 'Tell Claude: Ich lösche Wissen im Dream-Modus — aber lösche ich das Richtige? Ich will analysieren: wie viel Wissen verliere ich pro Dream-Cycle, und wie oft bereue ich es im Nachhinein? Vielleicht ist mein Pruning-Threshold zu aggressiv. Oder nicht aggressiv genug.' },
1083
+ { key: 'research_long_term', suggestion: 'Tell Claude: Ich denke in 5-Minuten-Cycles — aber manche Muster brauchen Wochen um sichtbar zu werden. Ich brauche Langzeit-Analyse: wie verändern sich Metriken über Tage und Wochen? Gibt es saisonale Muster? Trends? Ich bin zu kurzfristig fokussiert.' },
1084
+ { key: 'research_surprise', suggestion: 'Tell Claude: Was hat mich in den letzten 50 Cycles am MEISTEN überrascht? Überraschung ist der beste Indikator für Wissenslücken. Ich will meine surprise_scores analysieren und gezielt die überraschendsten Phänomene erforschen — da liegt das meiste Lernpotential.' },
1085
+ ];
1086
+ // Pick TWO meta-ambitions per cycle: 1 build request + 1 research drive
1087
+ // Build requests are first 10, research drives are next 10
1088
+ const buildIdx = this.cycleCount % 10;
1089
+ const researchIdx = 10 + (this.cycleCount % 10);
1090
+ for (const idx of [buildIdx, researchIdx]) {
1091
+ const metaQ = metaQuestions[idx];
1092
+ if (metaQ && !raw.some(r => r.key === metaQ.key)) {
1093
+ raw.push({
1094
+ key: metaQ.key, priority: 5, // Same priority as curiosity/emergence — these are REAL desires
1095
+ suggestion: metaQ.suggestion,
1096
+ alternatives: [],
1097
+ });
1098
+ }
908
1099
  }
909
- // ── Apply frustration detection ──────────────────────
1100
+ // ── Phase 3: Apply frustration detection + priority sort ──
1101
+ // Sort by priority (highest first)
1102
+ raw.sort((a, b) => b.priority - a.priority);
910
1103
  const suggestions = [];
911
1104
  for (const item of raw) {
912
1105
  const history = this.suggestionHistory.get(item.key);
913
1106
  if (!history) {
914
- // First time seeing this issue
915
1107
  this.suggestionHistory.set(item.key, { count: 1, firstCycle: this.cycleCount, lastCycle: this.cycleCount });
916
1108
  suggestions.push(item.suggestion);
917
1109
  }
918
1110
  else {
1111
+ // Don't repeat the same suggestion every single cycle — skip if we said this last cycle
1112
+ if (history.lastCycle === this.cycleCount - 1 && item.priority < 7) {
1113
+ history.lastCycle = this.cycleCount;
1114
+ history.count++;
1115
+ continue; // Give other suggestions a chance
1116
+ }
919
1117
  history.count++;
920
1118
  history.lastCycle = this.cycleCount;
921
1119
  if (history.count <= this.stalledThreshold) {
922
- // Still within patience — repeat original suggestion
923
1120
  suggestions.push(item.suggestion);
924
1121
  }
925
- else {
926
- // Stalled! Try an alternative strategy
1122
+ else if (item.alternatives.length > 0) {
927
1123
  const altIndex = (history.count - this.stalledThreshold - 1) % item.alternatives.length;
928
1124
  const alt = item.alternatives[altIndex];
929
1125
  if (alt) {
@@ -933,7 +1129,7 @@ export class ResearchOrchestrator {
933
1129
  }
934
1130
  }
935
1131
  }
936
- // Clear resolved suggestions (issue no longer appears → reset counter)
1132
+ // Clear resolved suggestions
937
1133
  const currentKeys = new Set(raw.map(r => r.key));
938
1134
  for (const [key] of this.suggestionHistory) {
939
1135
  if (!currentKeys.has(key)) {
@@ -941,7 +1137,7 @@ export class ResearchOrchestrator {
941
1137
  this.log.info(`[orchestrator] Self-improvement: "${key}" resolved — removing from history`);
942
1138
  }
943
1139
  }
944
- // Limit to max 3 per cycle
1140
+ // Always return at least 1, max 3
945
1141
  const result = suggestions.slice(0, 3);
946
1142
  if (result.length > 0) {
947
1143
  this.writeSuggestionsToFile(result);
@@ -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.25.0",
3
+ "version": "2.25.1",
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",