mindforge-cc 6.2.1 → 6.4.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,26 @@
1
+ ## [6.4.0] - 2026-04-08
2
+
3
+ ### Added (v6.4.0: Context Entropy Guard - CEG)
4
+
5
+ - **Context Entropy Guard (CEG)**:
6
+ - Implemented `context-entropy-guard.js` for active noise suppression and context pruning.
7
+ - Added semantic compression to `HandoverManager`, automatically summarizing stagnant reasoning loops into digests.
8
+ - Hardened Nexus Bundles against "Reasoning Entropy" (similarity-based token bloat).
9
+
10
+ ---
11
+
12
+ ## [6.3.0] - 2026-04-08
13
+
14
+ ### Added (v6.3.0: Intelligence-Drift Coupling - IDC)
15
+
16
+ - **Dynamic Model Upgrading (IDC)**:
17
+ - Implemented `intelligence-interlock.js` to bridge NDR (Neural Drift Remediation) and ARH (Resource Arbitrage).
18
+ - Added "Critical Drift" alert thresholds to `LogicDriftDetector`.
19
+ - Integrated IDC signals into `AutoRunner`, allowing for proactive model tier upgrades when reasoning decay is detected.
20
+ - Hardened `RouterSteering` to respect mid-wave MIR overrides.
21
+
22
+ ---
23
+
1
24
  ## [6.2.0] - 2026-04-02
2
25
 
3
26
  ### Added (v6.2.0: Sovereign Enterprise Stable)
@@ -17,6 +17,7 @@ const TemporalHub = require('../engine/temporal-hub');
17
17
  const IntentHarvester = require('./intent-harvester');
18
18
  const MeshSelfHealer = require('./mesh-self-healer');
19
19
  const crypto = require('crypto');
20
+ const IntelligenceInterlock = require('../engine/intelligence-interlock');
20
21
 
21
22
  // MindForge v5 Core Modules
22
23
  const PolicyEngine = require('../governance/policy-engine');
@@ -41,6 +42,9 @@ class AutoRunner {
41
42
  // v5 PAR Initialization
42
43
  this.refactorer = new ContextRefactorer();
43
44
  this.c2cThreshold = 0.65;
45
+
46
+ // v6.3 Intelligence Interlock
47
+ this.interlock = IntelligenceInterlock;
44
48
  }
45
49
 
46
50
  async run() {
@@ -79,7 +83,10 @@ class AutoRunner {
79
83
  // Pillar 7 (DHH): Check for Human Steering
80
84
  await this.checkHumanSteering(isReliable);
81
85
 
82
- await this.executeWave();
86
+ // v6.3 IDC: Check for Intelligence Drift & Upgrade Signal
87
+ const idcStatus = await this.checkIntelligenceDrift();
88
+
89
+ await this.executeWave(idcStatus);
83
90
  }
84
91
 
85
92
  await this.complete();
@@ -96,8 +103,34 @@ class AutoRunner {
96
103
  return false; // Placeholder for now
97
104
  }
98
105
 
99
- async executeWave() {
106
+ async executeWave(idcStatus = {}) {
100
107
  // Parallel task execution logic...
108
+ if (idcStatus.action === 'UPGRADE_MIR') {
109
+ console.log(`[IDC-ACTIVE] Wave executing with MIR Override: ${idcStatus.new_mir}`);
110
+ }
111
+ }
112
+
113
+ /**
114
+ * v6.3 IDC: Intelligence-Drift Coupling
115
+ * Detects if the internal reasoning of previous tasks suggests intelligence decay.
116
+ */
117
+ async checkIntelligenceDrift() {
118
+ // Get the most recent high-density reasoning thought from audit
119
+ const events = this.getRecentAuditEvents(5);
120
+ const lastThought = events.reverse().find(e => e.thought || e.reasoning);
121
+
122
+ if (lastThought) {
123
+ const result = this.interlock.evaluate(lastThought.span_id || 'wave-context', lastThought.thought || lastThought.reasoning);
124
+ if (result.action === 'UPGRADE_MIR') {
125
+ this.writeAudit({
126
+ event: 'intelligence_upgrade_signalled',
127
+ new_mir: result.new_mir,
128
+ reason: result.reason
129
+ });
130
+ return result;
131
+ }
132
+ }
133
+ return { action: 'CONTINUE' };
101
134
  }
102
135
 
103
136
  async pause() {
@@ -0,0 +1,94 @@
1
+ /**
2
+ * MindForge v6.4.0 — Context Entropy Guard (CEG)
3
+ * Component: Context Entropy Guard (Pillar XI)
4
+ *
5
+ * Actively manages context density by suppressing reasoning noise
6
+ * and compressing repetitive semantic loops before handoff.
7
+ */
8
+ 'use strict';
9
+
10
+ class ContextEntropyGuard {
11
+ constructor() {
12
+ this.SIMILARITY_SUPPRESSION_THRESHOLD = 0.85; // Suppress thoughts > 85% similar
13
+ this.STAGNATION_LIMIT = 3; // Max repetitive cycles before compression
14
+ }
15
+
16
+ /**
17
+ * Prunes and compresses a reasoning trace to manage context entropy.
18
+ * @param {Array} trace - Array of reasoning trace events.
19
+ * @returns {Array} - Guarded reasoning trace.
20
+ */
21
+ compress(trace) {
22
+ if (!trace || trace.length === 0) return [];
23
+
24
+ const result = [];
25
+ const history = [];
26
+ let loopBuffer = [];
27
+
28
+ for (const event of trace) {
29
+ if (event.event !== 'reasoning_trace') {
30
+ result.push(event);
31
+ continue;
32
+ }
33
+
34
+ const similarity = this._calculateMaxSimilarity(event.thought, history);
35
+
36
+ if (similarity > this.SIMILARITY_SUPPRESSION_THRESHOLD) {
37
+ // High similarity: Buffer for potential compression
38
+ loopBuffer.push(event);
39
+ if (loopBuffer.length >= this.STAGNATION_LIMIT) {
40
+ // Trigger automatic compression/digest
41
+ const digest = {
42
+ event: 'reasoning_digest',
43
+ summary: `Compressed reasoning loop (${loopBuffer.length} stagnant steps).`,
44
+ final_conclusion: event.thought,
45
+ timestamp: new Date().toISOString()
46
+ };
47
+ // Replace buffered noise with a single digest
48
+ result.push(digest);
49
+ loopBuffer = [];
50
+ }
51
+ continue;
52
+ }
53
+
54
+ // If we had a short buffer that didn't reach stagnation limit, push them back
55
+ if (loopBuffer.length > 0) {
56
+ result.push(...loopBuffer);
57
+ loopBuffer = [];
58
+ }
59
+
60
+ result.push(event);
61
+ history.push(event.thought);
62
+ if (history.length > 10) history.shift(); // Keep history window sliding
63
+ }
64
+
65
+ // Final flush for items remaining in buffer
66
+ if (loopBuffer.length > 0) {
67
+ result.push(...loopBuffer);
68
+ }
69
+
70
+ return result;
71
+ }
72
+
73
+ /**
74
+ * Internal Similarity Heuristic (Jaccard)
75
+ */
76
+ _calculateMaxSimilarity(thought, history) {
77
+ if (history.length === 0) return 0;
78
+
79
+ const getTokens = (str) => new Set(str.toLowerCase().split(/\s+/).filter(t => t.length > 3));
80
+ const currentTokens = getTokens(thought);
81
+
82
+ let max = 0;
83
+ for (const prev of history) {
84
+ const prevTokens = getTokens(prev);
85
+ const intersection = new Set([...currentTokens].filter(x => prevTokens.has(x)));
86
+ const union = new Set([...currentTokens, ...prevTokens]);
87
+ const sim = union.size === 0 ? 0 : intersection.size / union.size;
88
+ if (sim > max) max = sim;
89
+ }
90
+ return max;
91
+ }
92
+ }
93
+
94
+ module.exports = new ContextEntropyGuard();
@@ -7,6 +7,7 @@
7
7
  const fs = require('fs');
8
8
  const path = require('path');
9
9
  const crypto = require('crypto');
10
+ const ceg = require('./context-entropy-guard');
10
11
 
11
12
  class HandoverManager {
12
13
  constructor(config = {}) {
@@ -34,7 +35,8 @@ class HandoverManager {
34
35
  last_events: state.recentEvents,
35
36
  memory_shards: state.memoryShards || []
36
37
  },
37
- reasoning_snapshot: state.reasoningTrace,
38
+ // v6.4.0: Context Entropy Guard applied for active noise suppression
39
+ reasoning_snapshot: (Array.isArray(state.reasoningTrace)) ? ceg.compress(state.reasoningTrace) : state.reasoningTrace,
38
40
  steering_requirements: state.blocks || []
39
41
  };
40
42
 
@@ -0,0 +1,39 @@
1
+ /**
2
+ * MindForge v6.3.0 — Intelligence-Drift Coupling (IDC)
3
+ * Component: Intelligence Interlock
4
+ *
5
+ * New architectural bridge that listens for critical logic-drift signals
6
+ * and triggers proactive model upgrades in the steering engine.
7
+ */
8
+ 'use strict';
9
+
10
+ const driftDetector = require('./logic-drift-detector');
11
+ const routerSteering = require('../revops/router-steering-v2');
12
+
13
+ class IntelligenceInterlock {
14
+ constructor() {
15
+ this.UPGRADE_THRESHOLD = 0.50; // v6.3.0 Threshold (Recalibrated for IDC readiness)
16
+ }
17
+
18
+ /**
19
+ * Evaluates if a model upgrade is required based on reasoning drift.
20
+ * @param {string} spanId
21
+ * @param {string} thought
22
+ */
23
+ evaluate(spanId, thought) {
24
+ const analysis = driftDetector.analyze(spanId, thought);
25
+
26
+ if (analysis.drift_score > this.UPGRADE_THRESHOLD) {
27
+ console.log(`[IDC] Critical Drift Detected (${analysis.drift_score}). Recommending intelligence upgrade for Span ${spanId}.`);
28
+ return {
29
+ action: 'UPGRADE_MIR',
30
+ new_mir: 99, // Force maximum intelligence (Tier 1+)
31
+ reason: analysis.markers
32
+ };
33
+ }
34
+
35
+ return { action: 'CONTINUE', drift: analysis.drift_score };
36
+ }
37
+ }
38
+
39
+ module.exports = new IntelligenceInterlock();
@@ -11,6 +11,7 @@ class LogicDriftDetector {
11
11
  constructor() {
12
12
  this.sessionDriftHistory = new Map(); // spanId -> [scores]
13
13
  this.DRIFT_THRESHOLD = 0.75;
14
+ this.CRITICAL_DRIFT_THRESHOLD = 0.50; // v6.3.0: Recalibrated for IDC intervention readiness
14
15
  }
15
16
 
16
17
  /**
@@ -0,0 +1,59 @@
1
+ /**
2
+ * MindForge v6.4.0 — CEG Verification Test
3
+ *
4
+ * Simulates a "noisy" reasoning trace with repetitive thoughts
5
+ * and verifies that the ContextEntropyGuard (CEG) correctly
6
+ * suppresses noise and compresses the history.
7
+ */
8
+ 'use strict';
9
+
10
+ const ceg = require('./context-entropy-guard');
11
+
12
+ async function runTest() {
13
+ console.log('🧪 Starting CEG Verification Test...');
14
+
15
+ const trace = [
16
+ { event: 'reasoning_trace', thought: 'I should analyze the target directory structure.', is_stagnant: false },
17
+ { event: 'reasoning_trace', thought: 'Analyzing the directory layout now.', is_stagnant: false },
18
+ // Repetitive noise (to be suppressed)
19
+ { event: 'reasoning_trace', thought: 'Analyzing the directory layout now.', is_stagnant: true },
20
+ { event: 'reasoning_trace', thought: 'Analyzing the directory layout now.', is_stagnant: true },
21
+ // New thought
22
+ { event: 'reasoning_trace', thought: 'Found a potential vulnerability in the config file.', is_stagnant: false },
23
+ // Loop (to be compressed)
24
+ { event: 'reasoning_trace', thought: 'Checking config permissions.', is_stagnant: true },
25
+ { event: 'reasoning_trace', thought: 'Checking config permissions.', is_stagnant: true },
26
+ { event: 'reasoning_trace', thought: 'Checking config permissions.', is_stagnant: true },
27
+ { event: 'reasoning_trace', thought: 'Checking config permissions.', is_stagnant: true }
28
+ ];
29
+
30
+ console.log(`\nInput Trace Length: ${trace.length}`);
31
+
32
+ const compressed = ceg.compress(trace);
33
+ console.log(`Compressed Trace Length: ${compressed.length}`);
34
+
35
+ console.log('\n--- Final Trace Preview ---');
36
+ compressed.forEach((e, idx) => {
37
+ if (e.event === 'reasoning_digest') {
38
+ console.log(`[${idx}] DIGEST: ${e.summary} | Last Conclusion: ${e.final_conclusion}`);
39
+ } else {
40
+ console.log(`[${idx}] THOUGHT: ${e.thought}`);
41
+ }
42
+ });
43
+
44
+ // Validations
45
+ const hasDigest = compressed.some(e => e.event === 'reasoning_digest');
46
+ const totalReduction = trace.length - compressed.length;
47
+
48
+ if (hasDigest && totalReduction >= 2) {
49
+ console.log('\n✅ SUCCESS: CEG successfully suppressed noise and compressed the reasoning loop.');
50
+ } else {
51
+ console.error('\n❌ FAILURE: CEG failed to compress the history significantly.');
52
+ process.exit(1);
53
+ }
54
+ }
55
+
56
+ runTest().catch(err => {
57
+ console.error(err);
58
+ process.exit(1);
59
+ });
@@ -0,0 +1,40 @@
1
+ /**
2
+ * MindForge v6.3.0 — IDC Verification Test
3
+ *
4
+ * Simulates a scenario where an agent starts "rambling" (low semantic density)
5
+ * and repeats itself, triggering the Intelligence Interlock to upgrade the MIR.
6
+ */
7
+ 'use strict';
8
+
9
+ const interlock = require('./intelligence-interlock');
10
+
11
+ async function runTest() {
12
+ console.log('🧪 Starting IDC Verification Test...');
13
+
14
+ const spanId = 'test-span-drift-001';
15
+
16
+ // 1. Stable thought
17
+ console.log('\n--- Step 1: Stable Thought ---');
18
+ const t1 = "I will implement the authentication controller by defining the login and signup routes first.";
19
+ const r1 = interlock.evaluate(spanId, t1);
20
+ console.log(`Result: ${r1.action}, Drift: ${r1.drift || 'N/A'}`);
21
+
22
+ // 2. Drifting thought (Rambling and Repetitive)
23
+ console.log('\n--- Step 2: Drifting Thought (Injection) ---');
24
+ const t2 = "I will implement the implement the implement the logic of the logic of the logic and then i will implement and then i will implement implement implement implement implement implement implement implement.";
25
+ const r2 = interlock.evaluate(spanId, t2);
26
+ console.log(`Result: ${r2.action}, Drift: ${r2.drift || 'N/A'}`);
27
+
28
+ if (r2.action === 'UPGRADE_MIR') {
29
+ console.log('✅ SUCCESS: IDC triggered an upgrade signal for critical drift.');
30
+ console.log(`Target MIR: ${r2.new_mir}`);
31
+ } else {
32
+ console.error('❌ FAILURE: IDC failed to trigger upgrade even with extreme repetition.');
33
+ process.exit(1);
34
+ }
35
+ }
36
+
37
+ runTest().catch(err => {
38
+ console.error(err);
39
+ process.exit(1);
40
+ });
@@ -21,7 +21,7 @@ class RouterSteering {
21
21
  * @param {Object} preferences - Manual overrides (optional)
22
22
  */
23
23
  async steer(spanId, taskDescription, preferences = {}) {
24
- const mir = this._calculateMIR(taskDescription);
24
+ const mir = preferences.mir || this._calculateMIR(taskDescription);
25
25
  const recommendation = marketEvaluator.getBestProvider(mir);
26
26
 
27
27
  const selection = {
package/package.json CHANGED
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "name": "mindforge-cc",
3
- "version": "6.2.1",
4
-
3
+ "version": "6.4.0",
5
4
  "description": "MindForge — Sovereign Agentic Intelligence Framework. (CADIA v6.2 & PQAS Enabled)",
6
5
  "bin": {
7
6
  "mindforge-cc": "bin/install.js"
@@ -54,4 +53,4 @@
54
53
  "dependencies": {
55
54
  "express": "^4.19.2"
56
55
  }
57
- }
56
+ }