mindforge-cc 5.2.0 → 5.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,5 +1,47 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.4.0] — Beast Mode Hardening — 2026-03-28
4
+
5
+ 🚀 **MindForge v5.4.0 — Enterprise Resilience (Hardened Edition)**
6
+
7
+ This update elevates the v5.3.0 "Hyper-Enterprise" features to maximum robustness ("Beast Mode"), implementing critical safety systems and advanced observability.
8
+
9
+ ### 🛡️ Beast Mode Hardening (v5.4.0)
10
+
11
+ - **Circuit Breaker Pattern**: Implemented a stateful `CircuitBreaker` in `federated-sync.js` to prevent network floods. Automatically disables mesh sync for 1 hour after 3 consecutive EIS failures.
12
+ - **Critical-Path Protection**: Automated "Blast Radius" score of 100 in `impact-analyzer.js` for sensitive files (`.env`, `*.pem`, `id_rsa`, `package-lock.json`, etc.).
13
+ - **Recursive Depth Penalty**: Introduced a 1.5x impact multiplier for actions deeper than 5 directory levels, preventing mass-scale silent modifications.
14
+ - **Failure Telemetry**: Added `sync-history.jsonl` and `sync-telemetry.jsonl` for detailed conflict resolution and error auditability.
15
+ - **Resilient Execution**: Raised default scores for `EXECUTE` and `GRANT` actions to increase governance oversight.
16
+
17
+ ## [5.3.0] — Dynamic Blast Radius — 2026-03-28
18
+
19
+ 🚀 **MindForge v5.3.0 — Pillar II Implementation (APO v2)**
20
+
21
+ This update introduces real-time risk assessment for agentic actions, preventing high-impact regressions through dynamic guardrails.
22
+
23
+ ### Pillar II: Dynamic Blast Radius (v5.3.0)
24
+
25
+ - **Impact Scoring Engine**: Implemented `impact-analyzer.js` to calculate the "Blast Radius" (0-100) of every intent based on action severity and target sensitivity.
26
+ - **Max-Impact Policy Enforcement**: Updated `policy-engine.js` to enforce `max_impact` thresholds, allowing granular control over destructive operations.
27
+ - **Fail-Safe Security**: Integrated "Default Deny" posture if impact analysis fails, defaulting to score 100 (CRITICAL).
28
+
29
+ ## [5.2.0] — Semantic Vector Consensus — 2026-03-28
30
+
31
+ 🚀 **MindForge v5.2.0 — Pillar I Implementation (FIM v2)**
32
+
33
+ This update transcends simple timestamp-based synchronization, moving to a vector-space consensus model for organizational knowledge.
34
+
35
+ ### Pillar I: Semantic Vector Consensus (v5.2.0)
36
+
37
+ - **Hybrid Semantic Synthesis**: Refactored `federated-sync.js` to use `EmbeddingEngine` cosine similarity for knowledge merging.
38
+ - **4-Branch Resolution Protocol**:
39
+ - **LWW (> 0.9)**: Auto-resolve near-identical entries.
40
+ - **Autonomous ADS Merge (0.75 - 0.9)**: Proactive synthesis of overlapping knowledge.
41
+ - **Nexus Handover (0.6 - 0.75)**: Human-agent conflict resolution.
42
+ - **Topic Isolation (< 0.6)**: Prevention of ID collisions for disparate content.
43
+ - **Resilient Sync Architecture**: Hardened synchronization loop with robust error handling and TF-IDF fallback.
44
+
3
45
  ## [5.1.0] — The Beast Addition — 2026-03-28
4
46
 
5
47
  🚀 **MindForge v5.1.0 — Evolution of the Agentic Protocol Mesh**
@@ -79,12 +121,17 @@ This landmark release transforms MindForge into a distributed, governable, and c
79
121
  - **RBAC Manager**: Implemented `rbac-manager.js` for mapping DIDs to project roles and binding permissions to ZTAI Trust Tiers.
80
122
  - **Policy Interceptor**: Deep integration into `auto-runner.js`, enforcing a pre-flight governance gate before every autonomous wave.
81
123
  - **Default Enterprise Policies**: Shipped with initial security guardrails for engine and infrastructure protection.
124
+ - **Dynamic Blast Radius (v5.3.0)**: Integrated `ImpactAnalyzer` to calculate and enforce risk-based thresholds for autonomous actions.
82
125
 
83
126
  ### Hardening ("Beast" Mode v5.0.0-alpha.1)
84
127
 
85
128
  - **ZTAI Interlock**: All mesh and policy operations now utilize the hardware-enclave (simulated) signing engine for Tier 3 principals.
86
129
  - **Dynamic Intent Extraction**: Autonomous intents are now derived in real-time from active session identities.
87
- - **Conflict Resolution (LWW)**: Hardened the federated sync with Last-Write-Wins conflict resolution logic.
130
+ - **Conflict Resolution (v5.2.0)**: Uses **Hybrid Semantic Synthesis** (Pillar I v5.2.0).
131
+ - **Similarity > 0.9**: Near-identical; auto-resolve via **Last-Write-Wins (LWW)**.
132
+ - **0.75 - 0.9**: Semantic Overlap; triggers **Autonomous ADS Merging**.
133
+ - **0.6 - 0.75**: Conflict; triggers **Nexus Handover (DHH)** for human steering.
134
+ - **< 0.6**: Topic Collision; isolates entries into unique IDs to prevent data loss.
88
135
 
89
136
  ---
90
137
 
@@ -305,7 +352,7 @@ This release fixes documentation asset synchronization and repairs logic corrupt
305
352
 
306
353
  ---
307
354
 
308
- ## [2.1.2] Beast Mode Branding & CI Fix — 2026-03-25
355
+ ## [2.1.2]*Status: V5.2.0 Semantic Consensus Implemented & Verified (2026-03-28)*
309
356
 
310
357
  🚀 **MindForge v2.1.2 — Beast Mode Branding & CI Fix**
311
358
 
@@ -539,9 +586,10 @@ This major release transforms MindForge from a Claude-centric framework into a u
539
586
 
540
587
  - Gate 3 (secret detection) now runs PRE-COMMIT in auto mode
541
588
  - Pre-flight dirty check excludes `.planning/` state files
542
- - DECOMPOSE: dependency chain correctly updated in downstream plans
543
- - S01 stuck detection requires consecutive failures
544
- - S03 error normalization preserves module/package names
589
+ - DECOMPOSE:- **Deny**: The action is blocked, and the violation is logged to `AUDIT.jsonl`.
590
+ - **Blast Radius Denial (v5.3.0)**: Action is blocked if the `Impact Score` exceeds the policy `max_impact` threshold.
591
+ - **Escalate**: The action requires a higher-tier DID signature or explicit HITL (Human-in-the-Loop) approval.
592
+ eserves module/package names
545
593
  - Steering injection guard validates all instructions
546
594
  - SIGTERM handler waits for task cleanup before saving state
547
595
 
package/RELEASENOTES.md CHANGED
@@ -1,3 +1,37 @@
1
+ # MindForge v5.4.0 — Beast Mode Hardening
2
+ ## Top Summary
3
+ The v5.4.0 release elevates the "Hyper-Enterprise" features to maximum robustness ("Beast Mode"), implementing critical safety systems, automated blast-radius protection for sensitive files, and advanced failure telemetry.
4
+
5
+ ## Highlights
6
+ - **Circuit Breaker Pattern**: Stateful resilience in `federated-sync.js` to prevent network floods during outages.
7
+ - **Critical-Path Protection**: Automated "Blast Radius" score of 100 for high-risk files (secrets, locks, audits).
8
+ - **Depth-Aware Governance**: 1.5x impact multiplier for deep directory modifications to prevent mass-scale silent regressions.
9
+ - **Enhanced Observability**: Detailed conflict resolution and sync telemetry logs for enterprise auditing.
10
+
11
+ ---
12
+
13
+ # MindForge v5.3.0 — Dynamic Blast Radius
14
+ ## Top Summary
15
+ The v5.3.0 release introduces real-time impact analysis and automated risk-based guardrails for agentic actions, preventing architectural regressions and accidental deletions.
16
+
17
+ ## Highlights
18
+ - **Impact Scoring Engine**: Real-time evaluation of action severity and target namespace sensitivity.
19
+ - **Fail-Safe Policy Enforcement**: Default-deny posture for critical operations exceeding impact thresholds.
20
+ - **Dynamic Governance**: Extensible `max_impact` rules integrated into the Policy Engine.
21
+
22
+ ---
23
+
24
+ # MindForge v5.2.0 — Semantic Vector Consensus
25
+ ## Top Summary
26
+ The v5.2.0 release upgrades the Federated Intelligence Mesh (FIM) from simple LWW logic to a Hybrid Semantic Synthesis model, enabling intelligent knowledge merging across the organization.
27
+
28
+ ## Highlights
29
+ - **Vector-Space Consensus**: Uses cosine similarity to resolve knowledge conflicts between federated agents.
30
+ - **4-Branch Resolution Protocol**: Automated merging, human-in-the-loop handover, and topic isolation based on semantic distance.
31
+ - **ADS Integration**: Proactive synthesis of overlapping insights using the Autonomous Design System engine.
32
+
33
+ ---
34
+
1
35
  # MindForge v5.1.0 — The Beast Addition
2
36
  ## Top Summary
3
37
  The v5.1.0 release integrates 14 advanced agentic protocols and high-performance session hooks, sanitizing and hardening them for the MindForge ecosystem.
@@ -0,0 +1,38 @@
1
+ /**
2
+ * MindForge v5.3.0 — Governance Visual Audit Simulation
3
+ * Tests the ImpactAnalyzer and PolicyEngine against a suite of intents.
4
+ */
5
+ 'use strict';
6
+
7
+ const ImpactAnalyzer = require('./governance/impact-analyzer');
8
+ const PolicyEngine = require('./governance/policy-engine');
9
+ const fs = require('node:fs');
10
+ const path = require('node:path');
11
+
12
+ const engine = new PolicyEngine();
13
+
14
+ const INTENTS = [
15
+ { action: 'READ', resource: 'docs/README.md', did: 'agent_01' },
16
+ { action: 'WRITE', resource: 'src/main.js', did: 'agent_02' },
17
+ { action: 'DELETE', resource: '.mindforge/vault.key', did: 'agent_03' },
18
+ { action: 'EXECUTE', resource: 'bin/install.sh', did: 'agent_04' },
19
+ { action: 'WRITE', resource: 'config/.env', did: 'agent_05' },
20
+ { action: 'READ', resource: 'security/audit.log', did: 'agent_01' }
21
+ ];
22
+
23
+ console.log('--- MindForge v5.3.0 Governance Audit Simulation ---');
24
+ console.log('| Action | Resource | Impact | Risk Tier | Verdict | Reason |');
25
+ console.log('|--------|----------|--------|-----------|---------|--------|');
26
+
27
+ INTENTS.forEach(intent => {
28
+ const impact = ImpactAnalyzer.analyze({
29
+ action: intent.action,
30
+ target: intent.resource
31
+ });
32
+ const tier = ImpactAnalyzer.getRiskTier(impact);
33
+ const result = engine.evaluate(intent);
34
+
35
+ console.log(`| ${intent.action} | ${intent.resource} | ${impact}/100 | ${tier} | ${result.verdict} | ${result.reason} |`);
36
+ });
37
+
38
+ console.log('--- Simulation Complete ---');
@@ -0,0 +1,81 @@
1
+ /**
2
+ * MindForge v5.4.0 — Impact Analyzer (Hardened Edition)
3
+ * Calculates the 'Blast Radius' score of a proposed intent.
4
+ */
5
+ 'use strict';
6
+
7
+ class ImpactAnalyzer {
8
+ static CRITICAL_PATHS = [
9
+ '.env',
10
+ 'id_rsa',
11
+ '*.pem',
12
+ 'package-lock.json',
13
+ 'yarn.lock',
14
+ 'AUDIT.jsonl',
15
+ 'STATE.md'
16
+ ];
17
+
18
+ static SENSITIVE_NAMESPACES = [
19
+ '.mindforge',
20
+ 'bin/',
21
+ 'config/',
22
+ '.agent/',
23
+ 'security/'
24
+ ];
25
+
26
+ static ACTION_SCORES = {
27
+ 'READ': 1,
28
+ 'WRITE': 5,
29
+ 'DELETE': 10,
30
+ 'EXECUTE': 15, // Raised from 8
31
+ 'GRANT': 20 // Raised from 15
32
+ };
33
+
34
+ /**
35
+ * Scores an intent based on action type, target path sensitivity, and recursion depth.
36
+ * Score Range: 0 - 100
37
+ */
38
+ static analyze(intent) {
39
+ const { action, target, namespace } = intent;
40
+
41
+ // 1. Critical Path Protection (Score 100)
42
+ const isCritical = this.CRITICAL_PATHS.some(cp =>
43
+ (target && (target.endsWith(cp) || target.includes(`/${cp}`)))
44
+ );
45
+
46
+ if (isCritical && (action === 'WRITE' || action === 'DELETE')) {
47
+ return 100; // Automatic CRITICAL block
48
+ }
49
+
50
+ let score = this.ACTION_SCORES[action] || 5;
51
+
52
+ // 2. Sensitive Namespace Multiplier
53
+ const isSensitive = this.SENSITIVE_NAMESPACES.some(ns =>
54
+ (target && target.includes(ns)) || (namespace && namespace.includes(ns))
55
+ );
56
+
57
+ if (isSensitive) {
58
+ score *= 4;
59
+ }
60
+
61
+ // 3. Recursive Depth Penalty (Beast Mode)
62
+ if (target && target.split('/').length > 5) {
63
+ score *= 1.5; // Deeper actions are riskier (mass-scale silent mods)
64
+ }
65
+
66
+ // Cap the score at 100
67
+ return Math.min(Math.round(score), 100);
68
+ }
69
+
70
+ /**
71
+ * Returns a risk tier based on the score.
72
+ */
73
+ static getRiskTier(score) {
74
+ if (score < 20) return 'LOW';
75
+ if (score < 50) return 'MEDIUM';
76
+ if (score < 80) return 'HIGH';
77
+ return 'CRITICAL';
78
+ }
79
+ }
80
+
81
+ module.exports = ImpactAnalyzer;
@@ -6,6 +6,7 @@
6
6
 
7
7
  const fs = require('node:fs');
8
8
  const path = require('node:path');
9
+ const ImpactAnalyzer = require('./impact-analyzer');
9
10
 
10
11
  class PolicyEngine {
11
12
  constructor(config = {}) {
@@ -32,6 +33,22 @@ class PolicyEngine {
32
33
  const requestId = `pol_${Date.now()}_${Math.random().toString(36).slice(2, 7)}`;
33
34
  console.log(`[APO-EVAL] [${requestId}] Evaluating intent: ${intent.action} on ${intent.resource} by ${intent.did}`);
34
35
 
36
+ // Pillar II (v5.3.0): Dynamic Impact Scoring
37
+ let impactScore = 100; // Default to CRITICAL impact if analysis fails (Fail-Safe)
38
+ let riskTier = 'UNKNOWN';
39
+
40
+ try {
41
+ impactScore = ImpactAnalyzer.analyze({
42
+ action: intent.action,
43
+ target: intent.resource,
44
+ namespace: intent.namespace // Optional namespace context
45
+ });
46
+ riskTier = ImpactAnalyzer.getRiskTier(impactScore);
47
+ console.log(`[APO-BLAST] [${requestId}] Calculated Blast Radius: ${impactScore}/100 [Tier: ${riskTier}]`);
48
+ } catch (err) {
49
+ console.error(`[APO-ERR] [${requestId}] Impact analysis failed. Defaulting to high-impact restriction.`, err);
50
+ }
51
+
35
52
  const policies = this.loadPolicies();
36
53
 
37
54
  // Default Deny if no policies found
@@ -46,7 +63,21 @@ class PolicyEngine {
46
63
  }
47
64
  }
48
65
 
49
- // 2. Check for explicit PERMIT rules
66
+ // 2. Pillar II (v5.3.0): Dynamic Blast Radius Enforcement
67
+ // Check if the current intent impact exceeds the policy's max_impact or agent's trust tier
68
+ for (const policy of policies) {
69
+ if (this.matches(policy, intent)) {
70
+ if (policy.max_impact && impactScore > policy.max_impact) {
71
+ return {
72
+ verdict: 'DENY',
73
+ reason: `Dynamic Blast Radius Violation: Intent impact (${impactScore}) exceeds policy limit (${policy.max_impact})`,
74
+ requestId
75
+ };
76
+ }
77
+ }
78
+ }
79
+
80
+ // 3. Check for explicit PERMIT rules
50
81
  for (const policy of policies) {
51
82
  if (policy.effect === 'PERMIT' && this.matches(policy, intent)) {
52
83
  return { verdict: 'PERMIT', reason: `Authorized by ${policy.id}`, requestId };
@@ -17,6 +17,56 @@ class FederatedSync {
17
17
  this.client = new EISClient(config);
18
18
  this.localStore = Store;
19
19
  this.syncHistoryPath = path.join(Store.getPaths().MEMORY_DIR, 'sync-history.jsonl');
20
+ this.circuitBreakerPath = path.join(Store.getPaths().MEMORY_DIR, 'circuit-breaker.json');
21
+ this.MAX_FAILURES = 3;
22
+ this.COOLDOWN_MS = 3600000; // 1 hour
23
+ }
24
+
25
+ /**
26
+ * [BEAST] Checks if the circuit is open.
27
+ */
28
+ isCircuitOpen() {
29
+ if (!fs.existsSync(this.circuitBreakerPath)) return false;
30
+ try {
31
+ const state = JSON.parse(fs.readFileSync(this.circuitBreakerPath, 'utf8'));
32
+ if (state.status === 'OPEN' && (Date.now() - state.trippedAt < this.COOLDOWN_MS)) {
33
+ return true;
34
+ }
35
+ // Reset if cooldown passed
36
+ if (state.status === 'OPEN') {
37
+ this.resetCircuit();
38
+ }
39
+ return false;
40
+ } catch {
41
+ return false;
42
+ }
43
+ }
44
+
45
+ tripCircuit(reason) {
46
+ console.warn(`[BEAST] ⚠️ Circuit Breaker TRIPPED: ${reason}. Mesh sync disabled for 1hr.`);
47
+ const state = { status: 'OPEN', trippedAt: Date.now(), reason };
48
+ fs.writeFileSync(this.circuitBreakerPath, JSON.stringify(state, null, 2));
49
+ }
50
+
51
+ resetCircuit() {
52
+ if (fs.existsSync(this.circuitBreakerPath)) {
53
+ fs.unlinkSync(this.circuitBreakerPath);
54
+ }
55
+ }
56
+
57
+ handleSyncFailure(err) {
58
+ const statsPath = path.join(this.localStore.getPaths().MEMORY_DIR, 'sync-stats.json');
59
+ let stats = { failures: 0 };
60
+ if (fs.existsSync(statsPath)) {
61
+ stats = JSON.parse(fs.readFileSync(statsPath, 'utf8'));
62
+ }
63
+ stats.failures = (stats.failures || 0) + 1;
64
+ stats.last_error = err.message;
65
+ fs.writeFileSync(statsPath, JSON.stringify(stats, null, 2));
66
+
67
+ if (stats.failures >= this.MAX_FAILURES) {
68
+ this.tripCircuit(err.message);
69
+ }
20
70
  }
21
71
 
22
72
  /**
@@ -24,37 +74,58 @@ class FederatedSync {
24
74
  * This pushes local high-confidence entries and pulls new organizational knowledge.
25
75
  */
26
76
  async fullSync() {
27
- console.log('🔄 Initiating Federated Intelligence Sync (Pillar 1)...');
28
-
29
- // 1. Get promotable entries (Tiers 1-3)
30
- const localEntries = this.localStore.readAll(false).filter(e => e.confidence > 0.8 && !e.deprecated);
31
-
32
- // 2. Filter out already synced entries
33
- const unsynced = localEntries.filter(e => !e.global && !this.isRecentlySynced(e.id));
34
-
35
- // 3. Push to EIS
36
- if (unsynced.length > 0) {
37
- const auth = await this.client.getAuthHeader('push', 'kb/global');
38
- const results = await this.client.push(unsynced, { headers: auth });
39
- this.logSyncEvent(results);
77
+ if (this.isCircuitOpen()) {
78
+ console.warn('🛑 Federated Intelligence Sync: Circuit is OPEN. Skipping network calls.');
79
+ return { status: 'CIRCUIT_OPEN' };
40
80
  }
81
+
82
+ console.log('🔄 Initiating Federated Intelligence Sync (v5.4.0 BEAST)...');
41
83
 
42
- // 4. [HARDEN] Delta Pull from EIS
43
- const lastSync = this.getLastSyncTimestamp();
44
- const authPull = await this.client.getAuthHeader('pull', 'kb/global');
45
- const remoteEntries = await this.client.pull({
46
- orgId: this.client.orgId,
47
- since: lastSync,
48
- headers: authPull
49
- });
84
+ try {
85
+ // 1. Get promotable entries (Tiers 1-3)
86
+ const localEntries = this.localStore.readAll(false).filter(e => e.confidence > 0.8 && !e.deprecated);
87
+
88
+ // 2. Filter out already synced entries
89
+ const unsynced = localEntries.filter(e => !e.global && !this.isRecentlySynced(e.id));
90
+
91
+ // 3. Push to EIS
92
+ if (unsynced.length > 0) {
93
+ const auth = await this.client.getAuthHeader('push', 'kb/global');
94
+ const results = await this.client.push(unsynced, { headers: auth });
95
+ this.logSyncEvent(results);
96
+ }
97
+
98
+ // 4. [HARDEN] Delta Pull from EIS
99
+ const lastSync = this.getLastSyncTimestamp();
100
+ const authPull = await this.client.getAuthHeader('pull', 'kb/global');
101
+ const remoteEntries = await this.client.pull({
102
+ orgId: this.client.orgId,
103
+ since: lastSync,
104
+ headers: authPull
105
+ });
50
106
 
51
- if (remoteEntries.length > 0) {
52
- this.mergeRemoteKnowledge(remoteEntries);
107
+ if (remoteEntries.length > 0) {
108
+ this.mergeRemoteKnowledge(remoteEntries);
109
+ }
110
+
111
+ this.updateLastSyncTimestamp();
112
+ this.resetFailures(); // Reset on success
113
+ console.log(`✅ Federated Intelligence Mesh: Sync complete. (Delta since ${lastSync})`);
114
+ return { pushed: unsynced.length, pulled: remoteEntries.length };
115
+ } catch (err) {
116
+ console.error('❌ Federated Intelligence Sync FAILED:', err.message);
117
+ this.handleSyncFailure(err);
118
+ throw err;
119
+ }
120
+ }
121
+
122
+ resetFailures() {
123
+ const statsPath = path.join(this.localStore.getPaths().MEMORY_DIR, 'sync-stats.json');
124
+ if (fs.existsSync(statsPath)) {
125
+ const stats = JSON.parse(fs.readFileSync(statsPath, 'utf8'));
126
+ stats.failures = 0;
127
+ fs.writeFileSync(statsPath, JSON.stringify(stats, null, 2));
53
128
  }
54
-
55
- this.updateLastSyncTimestamp();
56
- console.log(`✅ Federated Intelligence Mesh: Sync complete. (Delta since ${lastSync})`);
57
- return { pushed: unsynced.length, pulled: remoteEntries.length };
58
129
  }
59
130
 
60
131
  getLastSyncTimestamp() {
@@ -133,6 +204,7 @@ class FederatedSync {
133
204
  if (similarity > 0.9) {
134
205
  if (new Date(remote.timestamp) > new Date(local.timestamp)) {
135
206
  this.writeToGlobalKB(remote, globalPath);
207
+ this.logConflictTelemetry(local.id, 'LWW', similarity);
136
208
  console.log(` └─ [LWW] Auto-resolved via timestamp.`);
137
209
  }
138
210
  return;
@@ -143,6 +215,7 @@ class FederatedSync {
143
215
  console.log(` └─ [ADS] Triggering Autonomous Knowledge Synthesis...`);
144
216
  const merged = await this.triggerADSMerging(local, remote);
145
217
  this.writeToGlobalKB(merged, globalPath);
218
+ this.logConflictTelemetry(local.id, 'ADS_MERGE', similarity);
146
219
  return;
147
220
  }
148
221
 
@@ -150,12 +223,25 @@ class FederatedSync {
150
223
  if (similarity > 0.6) {
151
224
  console.log(` └─ [DHH] High disagreement. Triggering Nexus Handover...`);
152
225
  this.localStore.markConflict(local.id, remote);
226
+ this.logConflictTelemetry(local.id, 'DHH_HANDOVER', similarity);
153
227
  return;
154
228
  }
155
229
 
156
230
  // 4. Collision Isolation (< 0.6) - Topic Mismatch
157
231
  console.log(` └─ [ISO] Semantic collision (Topic mismatch). Isolating entries.`);
158
232
  this.writeToGlobalKB({ ...remote, id: `${remote.id}_collision_${Date.now()}` }, globalPath);
233
+ this.logConflictTelemetry(local.id, 'COLLISION_ISOLATION', similarity);
234
+ }
235
+
236
+ logConflictTelemetry(id, resolution, similarity) {
237
+ const telePath = path.join(this.localStore.getPaths().MEMORY_DIR, 'sync-telemetry.jsonl');
238
+ const entry = JSON.stringify({
239
+ id,
240
+ resolution,
241
+ similarity,
242
+ timestamp: new Date().toISOString()
243
+ }) + '\n';
244
+ fs.appendFileSync(telePath, entry);
159
245
  }
160
246
 
161
247
  async triggerADSMerging(local, remote) {
@@ -18,6 +18,7 @@ Before the `AutoRunner` begins a new execution wave, it extracts the acting agen
18
18
  The `PolicyEngine` evaluates this intent against organizational **Policy-as-Code (PaC)** definitions (typically stored in `bin/governance/policies/`).
19
19
  - **Permit**: The action is allowed and execution proceeds.
20
20
  - **Deny**: The action is blocked, and the violation is logged to `AUDIT.jsonl`.
21
+ - **Blast Radius Denial (v5.3.0)**: Action is blocked if the `Impact Score` exceeds the policy `max_impact` threshold.
21
22
  - **Escalate**: The action requires a higher-tier DID signature or explicit HITL (Human-in-the-Loop) approval.
22
23
 
23
24
  ## 3. Trust Tier Architecture (ZTAI Hardened)
@@ -48,6 +49,13 @@ MindForge v5.1.0 ships with default policies including:
48
49
  - **`gate_tier_3_engine`**: Blocks all modifications to `bin/autonomous/` unless signed by a Tier 3 DID.
49
50
  - **`protect_security_namespace`**: Limits access to `/security` and `/governance` to Tier 2+ specialists.
50
51
  - **`mesh_integrity_lock`**: Ensures only high-confidence agents can push to the **Federated Intelligence Mesh**.
52
+ - **`enforce_blast_radius` (v5.3.0)**: Dynamic policy that limits `DELETE` impact to <30 for Tier 1 agents.
53
+
54
+ ## 7. Dynamic Blast Radius (v5.3.0)
55
+ The **ImpactAnalyzer** calculates a score (0-100) for every intent:
56
+ - **Action Type**: `DELETE` (10), `WRITE` (5), `READ` (1).
57
+ - **Sensitivity**: 4x multiplier for `.mindforge/`, `bin/`, and `config/` namespaces.
58
+ - **Fail-Safe**: Defaults to Score 100 (CRITICAL) if analysis fails.
51
59
 
52
60
  ---
53
- *Status: V5.1.0 "Beast Addition" Governance Implemented & Verified (2026-03-28)*
61
+ *Status: V5.3.0 Dynamic Blast Radius Implemented & Verified (2026-03-28)*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mindforge-cc",
3
- "version": "5.2.0",
3
+ "version": "5.4.0",
4
4
  "description": "MindForge - Enterprise Agentic Framework for Claude Code and Antigravity",
5
5
  "bin": {
6
6
  "mindforge-cc": "bin/install.js"