mindforge-cc 5.1.0 → 5.3.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 +39 -5
- package/RELEASENOTES.md +22 -0
- package/bin/gov-audit.js +38 -0
- package/bin/governance/impact-analyzer.js +57 -0
- package/bin/governance/policy-engine.js +32 -1
- package/bin/memory/federated-sync.js +82 -2
- package/docs/INTELLIGENCE-MESH.md +6 -2
- package/docs/governance-guide.md +9 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [5.3.0] — Dynamic Blast Radius — 2026-03-28
|
|
4
|
+
|
|
5
|
+
🚀 **MindForge v5.3.0 — Pillar II Implementation (APO v2)**
|
|
6
|
+
|
|
7
|
+
This update introduces real-time risk assessment for agentic actions, preventing high-impact regressions through dynamic guardrails.
|
|
8
|
+
|
|
9
|
+
### Pillar II: Dynamic Blast Radius (v5.3.0)
|
|
10
|
+
|
|
11
|
+
- **Impact Scoring Engine**: Implemented `impact-analyzer.js` to calculate the "Blast Radius" (0-100) of every intent based on action severity and target sensitivity.
|
|
12
|
+
- **Max-Impact Policy Enforcement**: Updated `policy-engine.js` to enforce `max_impact` thresholds, allowing granular control over destructive operations.
|
|
13
|
+
- **Fail-Safe Security**: Integrated "Default Deny" posture if impact analysis fails, defaulting to score 100 (CRITICAL).
|
|
14
|
+
|
|
15
|
+
## [5.2.0] — Semantic Vector Consensus — 2026-03-28
|
|
16
|
+
|
|
17
|
+
🚀 **MindForge v5.2.0 — Pillar I Implementation (FIM v2)**
|
|
18
|
+
|
|
19
|
+
This update transcends simple timestamp-based synchronization, moving to a vector-space consensus model for organizational knowledge.
|
|
20
|
+
|
|
21
|
+
### Pillar I: Semantic Vector Consensus (v5.2.0)
|
|
22
|
+
|
|
23
|
+
- **Hybrid Semantic Synthesis**: Refactored `federated-sync.js` to use `EmbeddingEngine` cosine similarity for knowledge merging.
|
|
24
|
+
- **4-Branch Resolution Protocol**:
|
|
25
|
+
- **LWW (> 0.9)**: Auto-resolve near-identical entries.
|
|
26
|
+
- **Autonomous ADS Merge (0.75 - 0.9)**: Proactive synthesis of overlapping knowledge.
|
|
27
|
+
- **Nexus Handover (0.6 - 0.75)**: Human-agent conflict resolution.
|
|
28
|
+
- **Topic Isolation (< 0.6)**: Prevention of ID collisions for disparate content.
|
|
29
|
+
- **Resilient Sync Architecture**: Hardened synchronization loop with robust error handling and TF-IDF fallback.
|
|
30
|
+
|
|
3
31
|
## [5.1.0] — The Beast Addition — 2026-03-28
|
|
4
32
|
|
|
5
33
|
🚀 **MindForge v5.1.0 — Evolution of the Agentic Protocol Mesh**
|
|
@@ -79,12 +107,17 @@ This landmark release transforms MindForge into a distributed, governable, and c
|
|
|
79
107
|
- **RBAC Manager**: Implemented `rbac-manager.js` for mapping DIDs to project roles and binding permissions to ZTAI Trust Tiers.
|
|
80
108
|
- **Policy Interceptor**: Deep integration into `auto-runner.js`, enforcing a pre-flight governance gate before every autonomous wave.
|
|
81
109
|
- **Default Enterprise Policies**: Shipped with initial security guardrails for engine and infrastructure protection.
|
|
110
|
+
- **Dynamic Blast Radius (v5.3.0)**: Integrated `ImpactAnalyzer` to calculate and enforce risk-based thresholds for autonomous actions.
|
|
82
111
|
|
|
83
112
|
### Hardening ("Beast" Mode v5.0.0-alpha.1)
|
|
84
113
|
|
|
85
114
|
- **ZTAI Interlock**: All mesh and policy operations now utilize the hardware-enclave (simulated) signing engine for Tier 3 principals.
|
|
86
115
|
- **Dynamic Intent Extraction**: Autonomous intents are now derived in real-time from active session identities.
|
|
87
|
-
- **Conflict Resolution (
|
|
116
|
+
- **Conflict Resolution (v5.2.0)**: Uses **Hybrid Semantic Synthesis** (Pillar I v5.2.0).
|
|
117
|
+
- **Similarity > 0.9**: Near-identical; auto-resolve via **Last-Write-Wins (LWW)**.
|
|
118
|
+
- **0.75 - 0.9**: Semantic Overlap; triggers **Autonomous ADS Merging**.
|
|
119
|
+
- **0.6 - 0.75**: Conflict; triggers **Nexus Handover (DHH)** for human steering.
|
|
120
|
+
- **< 0.6**: Topic Collision; isolates entries into unique IDs to prevent data loss.
|
|
88
121
|
|
|
89
122
|
---
|
|
90
123
|
|
|
@@ -305,7 +338,7 @@ This release fixes documentation asset synchronization and repairs logic corrupt
|
|
|
305
338
|
|
|
306
339
|
---
|
|
307
340
|
|
|
308
|
-
## [2.1.2]
|
|
341
|
+
## [2.1.2]*Status: V5.2.0 Semantic Consensus Implemented & Verified (2026-03-28)*
|
|
309
342
|
|
|
310
343
|
🚀 **MindForge v2.1.2 — Beast Mode Branding & CI Fix**
|
|
311
344
|
|
|
@@ -539,9 +572,10 @@ This major release transforms MindForge from a Claude-centric framework into a u
|
|
|
539
572
|
|
|
540
573
|
- Gate 3 (secret detection) now runs PRE-COMMIT in auto mode
|
|
541
574
|
- Pre-flight dirty check excludes `.planning/` state files
|
|
542
|
-
- DECOMPOSE
|
|
543
|
-
-
|
|
544
|
-
-
|
|
575
|
+
- DECOMPOSE:- **Deny**: The action is blocked, and the violation is logged to `AUDIT.jsonl`.
|
|
576
|
+
- **Blast Radius Denial (v5.3.0)**: Action is blocked if the `Impact Score` exceeds the policy `max_impact` threshold.
|
|
577
|
+
- **Escalate**: The action requires a higher-tier DID signature or explicit HITL (Human-in-the-Loop) approval.
|
|
578
|
+
eserves module/package names
|
|
545
579
|
- Steering injection guard validates all instructions
|
|
546
580
|
- SIGTERM handler waits for task cleanup before saving state
|
|
547
581
|
|
package/RELEASENOTES.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
# MindForge v5.3.0 — Dynamic Blast Radius
|
|
2
|
+
## Top Summary
|
|
3
|
+
The v5.3.0 release introduces real-time impact analysis and automated risk-based guardrails for agentic actions, preventing architectural regressions and accidental deletions.
|
|
4
|
+
|
|
5
|
+
## Highlights
|
|
6
|
+
- **Impact Scoring Engine**: Real-time evaluation of action severity and target namespace sensitivity.
|
|
7
|
+
- **Fail-Safe Policy Enforcement**: Default-deny posture for critical operations exceeding impact thresholds.
|
|
8
|
+
- **Dynamic Governance**: Extensible `max_impact` rules integrated into the Policy Engine.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# MindForge v5.2.0 — Semantic Vector Consensus
|
|
13
|
+
## Top Summary
|
|
14
|
+
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.
|
|
15
|
+
|
|
16
|
+
## Highlights
|
|
17
|
+
- **Vector-Space Consensus**: Uses cosine similarity to resolve knowledge conflicts between federated agents.
|
|
18
|
+
- **4-Branch Resolution Protocol**: Automated merging, human-in-the-loop handover, and topic isolation based on semantic distance.
|
|
19
|
+
- **ADS Integration**: Proactive synthesis of overlapping insights using the Autonomous Design System engine.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
1
23
|
# MindForge v5.1.0 — The Beast Addition
|
|
2
24
|
## Top Summary
|
|
3
25
|
The v5.1.0 release integrates 14 advanced agentic protocols and high-performance session hooks, sanitizing and hardening them for the MindForge ecosystem.
|
package/bin/gov-audit.js
ADDED
|
@@ -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,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MindForge v5.3.0 — Impact Analyzer (Dynamic Blast Radius)
|
|
3
|
+
* Calculates the 'Blast Radius' score of a proposed intent.
|
|
4
|
+
*/
|
|
5
|
+
'use strict';
|
|
6
|
+
|
|
7
|
+
class ImpactAnalyzer {
|
|
8
|
+
static SENSITIVE_NAMESPACES = [
|
|
9
|
+
'.mindforge',
|
|
10
|
+
'bin/',
|
|
11
|
+
'config/',
|
|
12
|
+
'.env',
|
|
13
|
+
'security/'
|
|
14
|
+
];
|
|
15
|
+
|
|
16
|
+
static ACTION_SCORES = {
|
|
17
|
+
'READ': 1,
|
|
18
|
+
'WRITE': 5,
|
|
19
|
+
'DELETE': 10,
|
|
20
|
+
'EXECUTE': 8,
|
|
21
|
+
'GRANT': 15
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Scores an intent based on action type and target path sensitivity.
|
|
26
|
+
* Score Range: 0 - 100
|
|
27
|
+
*/
|
|
28
|
+
static analyze(intent) {
|
|
29
|
+
const { action, target, namespace } = intent;
|
|
30
|
+
|
|
31
|
+
let score = this.ACTION_SCORES[action] || 5;
|
|
32
|
+
|
|
33
|
+
// Check for sensitive namespace overlap
|
|
34
|
+
const isSensitive = this.SENSITIVE_NAMESPACES.some(ns =>
|
|
35
|
+
(target && target.includes(ns)) || (namespace && namespace.includes(ns))
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
if (isSensitive) {
|
|
39
|
+
score *= 4; // Quadruple impact for sensitive areas
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Cap the score at 100
|
|
43
|
+
return Math.min(score, 100);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Returns a risk tier based on the score.
|
|
48
|
+
*/
|
|
49
|
+
static getRiskTier(score) {
|
|
50
|
+
if (score < 20) return 'LOW';
|
|
51
|
+
if (score < 50) return 'MEDIUM';
|
|
52
|
+
if (score < 80) return 'HIGH';
|
|
53
|
+
return 'CRITICAL';
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
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.
|
|
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 };
|
|
@@ -9,6 +9,8 @@ const path = require('node:path');
|
|
|
9
9
|
const Store = require('./knowledge-store');
|
|
10
10
|
const EISClient = require('./eis-client');
|
|
11
11
|
const crypto = require('node:crypto');
|
|
12
|
+
const EmbeddingEngine = require('./embedding-engine');
|
|
13
|
+
const adsEngine = require('../review/ads-engine');
|
|
12
14
|
|
|
13
15
|
class FederatedSync {
|
|
14
16
|
constructor(config = {}) {
|
|
@@ -92,16 +94,94 @@ class FederatedSync {
|
|
|
92
94
|
for (const remote of remoteEntries) {
|
|
93
95
|
const local = existingById.get(remote.id);
|
|
94
96
|
|
|
95
|
-
|
|
96
|
-
if (!local || new Date(remote.timestamp) > new Date(local.timestamp)) {
|
|
97
|
+
if (!local) {
|
|
97
98
|
fs.appendFileSync(globalPath, JSON.stringify(remote) + '\n');
|
|
98
99
|
mergedCount++;
|
|
100
|
+
continue;
|
|
99
101
|
}
|
|
102
|
+
|
|
103
|
+
// Pillar I (v5.2.0): Hybrid Semantic synthesis
|
|
104
|
+
let similarity = 0;
|
|
105
|
+
try {
|
|
106
|
+
similarity = EmbeddingEngine.cosineSimilarity(
|
|
107
|
+
EmbeddingEngine.computeTfIdfVector(EmbeddingEngine.tokenize(local.content), {}, 1),
|
|
108
|
+
EmbeddingEngine.computeTfIdfVector(EmbeddingEngine.tokenize(remote.content), {}, 1)
|
|
109
|
+
);
|
|
110
|
+
} catch (err) {
|
|
111
|
+
console.error(`[FIM-ERR] Semantic analysis failed for ${local.id}. Falling back to LWW.`, err);
|
|
112
|
+
// Fallback to basic LWW (Last-Write-Wins)
|
|
113
|
+
if (new Date(remote.timestamp) > new Date(local.timestamp)) {
|
|
114
|
+
this.writeToGlobalKB(remote, globalPath);
|
|
115
|
+
}
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
this.triggerHybridSynthesis(local, remote, similarity, globalPath);
|
|
120
|
+
mergedCount++;
|
|
100
121
|
}
|
|
101
122
|
|
|
102
123
|
return mergedCount;
|
|
103
124
|
}
|
|
104
125
|
|
|
126
|
+
/**
|
|
127
|
+
* Hybrid Synthesis Logic (Pillar I v5.2.0)
|
|
128
|
+
*/
|
|
129
|
+
async triggerHybridSynthesis(local, remote, similarity, globalPath) {
|
|
130
|
+
console.log(`[FIM-SYNC] Analyzing semantic overlap for ${local.id} (Similarity: ${similarity.toFixed(4)})`);
|
|
131
|
+
|
|
132
|
+
// 1. LWW (Similarity > 0.9) - Near identical
|
|
133
|
+
if (similarity > 0.9) {
|
|
134
|
+
if (new Date(remote.timestamp) > new Date(local.timestamp)) {
|
|
135
|
+
this.writeToGlobalKB(remote, globalPath);
|
|
136
|
+
console.log(` └─ [LWW] Auto-resolved via timestamp.`);
|
|
137
|
+
}
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// 2. Autonomous Merge (0.75 - 0.9) - Semantic Overlap
|
|
142
|
+
if (similarity > 0.75) {
|
|
143
|
+
console.log(` └─ [ADS] Triggering Autonomous Knowledge Synthesis...`);
|
|
144
|
+
const merged = await this.triggerADSMerging(local, remote);
|
|
145
|
+
this.writeToGlobalKB(merged, globalPath);
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// 3. Human Stewardship (0.6 - 0.75) - Probable Disagreement
|
|
150
|
+
if (similarity > 0.6) {
|
|
151
|
+
console.log(` └─ [DHH] High disagreement. Triggering Nexus Handover...`);
|
|
152
|
+
this.localStore.markConflict(local.id, remote);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// 4. Collision Isolation (< 0.6) - Topic Mismatch
|
|
157
|
+
console.log(` └─ [ISO] Semantic collision (Topic mismatch). Isolating entries.`);
|
|
158
|
+
this.writeToGlobalKB({ ...remote, id: `${remote.id}_collision_${Date.now()}` }, globalPath);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
async triggerADSMerging(local, remote) {
|
|
162
|
+
const result = await adsEngine.runADSSynthesis({
|
|
163
|
+
phaseNum: 'SYNC',
|
|
164
|
+
goal: `Synthesize a unified knowledge entry for topic: ${local.topic || local.id}`,
|
|
165
|
+
context: `Local Entry: ${local.content}\n\nRemote Entry: ${remote.content}`,
|
|
166
|
+
sessionId: 'fim-sync-v5.2.0'
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
// Extract the final plan/content from ADS result
|
|
170
|
+
const mergedContent = fs.readFileSync(path.join(process.cwd(), '.planning', 'PLAN.md'), 'utf8');
|
|
171
|
+
|
|
172
|
+
return {
|
|
173
|
+
...remote,
|
|
174
|
+
content: mergedContent,
|
|
175
|
+
confidence: 1.0,
|
|
176
|
+
synthesis_id: result.ads_id,
|
|
177
|
+
timestamp: new Date().toISOString()
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
writeToGlobalKB(entry, globalPath) {
|
|
182
|
+
fs.appendFileSync(globalPath, JSON.stringify(entry) + '\n');
|
|
183
|
+
}
|
|
184
|
+
|
|
105
185
|
isRecentlySynced(id) {
|
|
106
186
|
// Simple check against local sync-history log
|
|
107
187
|
if (!fs.existsSync(this.syncHistoryPath)) return false;
|
|
@@ -15,7 +15,11 @@ The V5 mesh is built on three core pillars residing in `bin/memory/`:
|
|
|
15
15
|
### B. Federated Sync (`federated-sync.js`)
|
|
16
16
|
- **Role**: High-performance synchronization engine between local stores and the organizational mesh.
|
|
17
17
|
- **Delta Sync**: Tracks the `last_sync` timestamp to only pull new organizational insights, significantly reducing latency and compute costs.
|
|
18
|
-
- **Conflict Resolution**: Uses **
|
|
18
|
+
- **Conflict Resolution**: Uses **Hybrid Semantic Synthesis** (Pillar I v5.2.0).
|
|
19
|
+
- **Similarity > 0.9**: Near-identical; auto-resolve via **Last-Write-Wins (LWW)**.
|
|
20
|
+
- **0.75 - 0.9**: Semantic Overlap; triggers **Autonomous ADS Merging**.
|
|
21
|
+
- **0.6 - 0.75**: Conflict; triggers **Nexus Handover (DHH)** for human steering.
|
|
22
|
+
- **< 0.6**: Topic Collision; isolates entries into unique IDs to prevent data loss.
|
|
19
23
|
|
|
20
24
|
### C. Knowledge Graph Bridge (`knowledge-graph.js`)
|
|
21
25
|
- **Role**: Unified memory interface that resolves both local project nodes and remote federated nodes.
|
|
@@ -32,4 +36,4 @@ The V5 mesh is built on three core pillars residing in `bin/memory/`:
|
|
|
32
36
|
- **Elimination of Redundancy**: Multi-thousand-token research chains are executed once and shared universally across the mesh.
|
|
33
37
|
|
|
34
38
|
---
|
|
35
|
-
*Status: V5
|
|
39
|
+
*Status: V5.2.0 Semantic Consensus Implemented & Verified (2026-03-28)*
|
package/docs/governance-guide.md
CHANGED
|
@@ -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.
|
|
61
|
+
*Status: V5.3.0 Dynamic Blast Radius Implemented & Verified (2026-03-28)*
|