noormme 1.2.0 → 1.2.2
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/README.md +60 -6
- package/dist/cjs/agentic/ActionJournal.d.ts +5 -2
- package/dist/cjs/agentic/ActionJournal.js +13 -5
- package/dist/cjs/agentic/CapabilityManager.d.ts +7 -0
- package/dist/cjs/agentic/CapabilityManager.js +84 -7
- package/dist/cjs/agentic/CognitiveRepository.js +3 -6
- package/dist/cjs/agentic/Cortex.d.ts +4 -0
- package/dist/cjs/agentic/Cortex.js +38 -17
- package/dist/cjs/agentic/EpisodicMemory.d.ts +5 -1
- package/dist/cjs/agentic/EpisodicMemory.js +11 -4
- package/dist/cjs/agentic/PersonaManager.js +37 -31
- package/dist/cjs/agentic/PolicyEnforcer.d.ts +6 -1
- package/dist/cjs/agentic/PolicyEnforcer.js +74 -17
- package/dist/cjs/agentic/ResourceMonitor.d.ts +9 -0
- package/dist/cjs/agentic/ResourceMonitor.js +36 -2
- package/dist/cjs/agentic/SessionManager.js +24 -17
- package/dist/cjs/agentic/VectorIndexer.d.ts +1 -0
- package/dist/cjs/agentic/VectorIndexer.js +26 -17
- package/dist/cjs/agentic/improvement/AblationEngine.d.ts +4 -6
- package/dist/cjs/agentic/improvement/AblationEngine.js +57 -37
- package/dist/cjs/agentic/improvement/ActionRefiner.js +30 -14
- package/dist/cjs/agentic/improvement/ConflictResolver.d.ts +3 -1
- package/dist/cjs/agentic/improvement/ConflictResolver.js +59 -47
- package/dist/cjs/agentic/improvement/CortexJanitor.js +11 -0
- package/dist/cjs/agentic/improvement/CuriosityEngine.d.ts +1 -1
- package/dist/cjs/agentic/improvement/CuriosityEngine.js +48 -21
- package/dist/cjs/agentic/improvement/EvolutionRitual.js +26 -14
- package/dist/cjs/agentic/improvement/EvolutionaryPilot.js +16 -4
- package/dist/cjs/agentic/improvement/GoalArchitect.d.ts +6 -2
- package/dist/cjs/agentic/improvement/GoalArchitect.js +72 -34
- package/dist/cjs/agentic/improvement/GovernanceManager.d.ts +20 -6
- package/dist/cjs/agentic/improvement/GovernanceManager.js +134 -155
- package/dist/cjs/agentic/improvement/HiveLink.d.ts +7 -3
- package/dist/cjs/agentic/improvement/HiveLink.js +135 -113
- package/dist/cjs/agentic/improvement/KnowledgeDistiller.js +43 -35
- package/dist/cjs/agentic/improvement/QuotaManager.d.ts +41 -0
- package/dist/cjs/agentic/improvement/QuotaManager.js +185 -0
- package/dist/cjs/agentic/improvement/RecursiveReasoner.js +50 -25
- package/dist/cjs/agentic/improvement/ReflectionEngine.d.ts +4 -1
- package/dist/cjs/agentic/improvement/ReflectionEngine.js +3 -1
- package/dist/cjs/agentic/improvement/RitualOrchestrator.js +27 -16
- package/dist/cjs/agentic/improvement/RuleEngine.d.ts +1 -1
- package/dist/cjs/agentic/improvement/RuleEngine.js +10 -4
- package/dist/cjs/agentic/improvement/SelfEvolution.js +22 -17
- package/dist/cjs/agentic/improvement/SelfTestRegistry.d.ts +5 -0
- package/dist/cjs/agentic/improvement/SelfTestRegistry.js +129 -109
- package/dist/cjs/agentic/improvement/SkillSynthesizer.d.ts +1 -0
- package/dist/cjs/agentic/improvement/SkillSynthesizer.js +22 -13
- package/dist/cjs/agentic/improvement/StrategicPlanner.d.ts +1 -0
- package/dist/cjs/agentic/improvement/StrategicPlanner.js +26 -19
- package/dist/cjs/agentic/improvement/governance/AuditContext.d.ts +17 -0
- package/dist/cjs/agentic/improvement/governance/AuditContext.js +2 -0
- package/dist/cjs/agentic/improvement/governance/BudgetAuditor.d.ts +4 -0
- package/dist/cjs/agentic/improvement/governance/BudgetAuditor.js +50 -0
- package/dist/cjs/agentic/improvement/governance/EmergenceAuditor.d.ts +4 -0
- package/dist/cjs/agentic/improvement/governance/EmergenceAuditor.js +37 -0
- package/dist/cjs/agentic/improvement/governance/MaintenanceOracle.d.ts +4 -0
- package/dist/cjs/agentic/improvement/governance/MaintenanceOracle.js +67 -0
- package/dist/cjs/agentic/improvement/governance/PerformanceAuditor.d.ts +4 -0
- package/dist/cjs/agentic/improvement/governance/PerformanceAuditor.js +43 -0
- package/dist/cjs/agentic/improvement/governance/PersonaAuditor.d.ts +6 -0
- package/dist/cjs/agentic/improvement/governance/PersonaAuditor.js +74 -0
- package/dist/cjs/agentic/improvement/governance/RemediationEngine.d.ts +5 -0
- package/dist/cjs/agentic/improvement/governance/RemediationEngine.js +43 -0
- package/dist/cjs/agentic/improvement/governance/SkillAuditor.d.ts +5 -0
- package/dist/cjs/agentic/improvement/governance/SkillAuditor.js +52 -0
- package/dist/cjs/agentic/telemetry/CognitiveSynthesizer.d.ts +5 -0
- package/dist/cjs/agentic/telemetry/CognitiveSynthesizer.js +54 -12
- package/dist/cjs/agentic/telemetry/EventHarvester.d.ts +1 -1
- package/dist/cjs/agentic/telemetry/EventHarvester.js +10 -3
- package/dist/cjs/agentic/telemetry/ResearchAlchemist.d.ts +7 -2
- package/dist/cjs/agentic/telemetry/ResearchAlchemist.js +49 -8
- package/dist/cjs/agentic/telemetry/TelemetryOrchestrator.d.ts +4 -1
- package/dist/cjs/agentic/telemetry/TelemetryOrchestrator.js +38 -11
- package/dist/cjs/cli/commands/inspect.js +40 -1
- package/dist/cjs/cli/commands/watch.js +31 -25
- package/dist/cjs/cli/index.js +0 -0
- package/dist/cjs/dialect/sqlite/sqlite-introspector.js +15 -5
- package/dist/cjs/helpers/agent-schema.js +15 -14
- package/dist/cjs/migration/data_migrator.js +4 -4
- package/dist/cjs/migration/schema_differ.js +37 -15
- package/dist/cjs/types/index.d.ts +12 -0
- package/dist/cjs/util/safe-sql-helpers.js +7 -10
- package/dist/esm/agentic/ActionJournal.d.ts +5 -2
- package/dist/esm/agentic/ActionJournal.js +13 -5
- package/dist/esm/agentic/CapabilityManager.d.ts +7 -0
- package/dist/esm/agentic/CapabilityManager.js +84 -7
- package/dist/esm/agentic/CognitiveRepository.js +3 -6
- package/dist/esm/agentic/Cortex.d.ts +4 -0
- package/dist/esm/agentic/Cortex.js +38 -17
- package/dist/esm/agentic/EpisodicMemory.d.ts +5 -1
- package/dist/esm/agentic/EpisodicMemory.js +11 -4
- package/dist/esm/agentic/PersonaManager.js +37 -31
- package/dist/esm/agentic/PolicyEnforcer.d.ts +6 -1
- package/dist/esm/agentic/PolicyEnforcer.js +74 -17
- package/dist/esm/agentic/ResourceMonitor.d.ts +9 -0
- package/dist/esm/agentic/ResourceMonitor.js +36 -2
- package/dist/esm/agentic/SessionManager.js +24 -17
- package/dist/esm/agentic/VectorIndexer.d.ts +1 -0
- package/dist/esm/agentic/VectorIndexer.js +26 -17
- package/dist/esm/agentic/improvement/AblationEngine.d.ts +4 -6
- package/dist/esm/agentic/improvement/AblationEngine.js +57 -37
- package/dist/esm/agentic/improvement/ActionRefiner.js +30 -14
- package/dist/esm/agentic/improvement/ConflictResolver.d.ts +3 -1
- package/dist/esm/agentic/improvement/ConflictResolver.js +59 -47
- package/dist/esm/agentic/improvement/CortexJanitor.js +11 -0
- package/dist/esm/agentic/improvement/CuriosityEngine.d.ts +1 -1
- package/dist/esm/agentic/improvement/CuriosityEngine.js +48 -21
- package/dist/esm/agentic/improvement/EvolutionRitual.js +26 -14
- package/dist/esm/agentic/improvement/EvolutionaryPilot.js +16 -4
- package/dist/esm/agentic/improvement/GoalArchitect.d.ts +6 -2
- package/dist/esm/agentic/improvement/GoalArchitect.js +72 -34
- package/dist/esm/agentic/improvement/GovernanceManager.d.ts +20 -6
- package/dist/esm/agentic/improvement/GovernanceManager.js +134 -155
- package/dist/esm/agentic/improvement/HiveLink.d.ts +7 -3
- package/dist/esm/agentic/improvement/HiveLink.js +135 -113
- package/dist/esm/agentic/improvement/KnowledgeDistiller.js +43 -35
- package/dist/esm/agentic/improvement/QuotaManager.d.ts +41 -0
- package/dist/esm/agentic/improvement/QuotaManager.js +182 -0
- package/dist/esm/agentic/improvement/RecursiveReasoner.js +50 -25
- package/dist/esm/agentic/improvement/ReflectionEngine.d.ts +4 -1
- package/dist/esm/agentic/improvement/ReflectionEngine.js +3 -1
- package/dist/esm/agentic/improvement/RitualOrchestrator.js +27 -16
- package/dist/esm/agentic/improvement/RuleEngine.d.ts +1 -1
- package/dist/esm/agentic/improvement/RuleEngine.js +10 -4
- package/dist/esm/agentic/improvement/SelfEvolution.js +22 -17
- package/dist/esm/agentic/improvement/SelfTestRegistry.d.ts +5 -0
- package/dist/esm/agentic/improvement/SelfTestRegistry.js +129 -109
- package/dist/esm/agentic/improvement/SkillSynthesizer.d.ts +1 -0
- package/dist/esm/agentic/improvement/SkillSynthesizer.js +22 -13
- package/dist/esm/agentic/improvement/StrategicPlanner.d.ts +1 -0
- package/dist/esm/agentic/improvement/StrategicPlanner.js +26 -19
- package/dist/esm/agentic/improvement/governance/AuditContext.d.ts +17 -0
- package/dist/esm/agentic/improvement/governance/AuditContext.js +2 -0
- package/dist/esm/agentic/improvement/governance/BudgetAuditor.d.ts +4 -0
- package/dist/esm/agentic/improvement/governance/BudgetAuditor.js +47 -0
- package/dist/esm/agentic/improvement/governance/EmergenceAuditor.d.ts +4 -0
- package/dist/esm/agentic/improvement/governance/EmergenceAuditor.js +34 -0
- package/dist/esm/agentic/improvement/governance/MaintenanceOracle.d.ts +4 -0
- package/dist/esm/agentic/improvement/governance/MaintenanceOracle.js +64 -0
- package/dist/esm/agentic/improvement/governance/PerformanceAuditor.d.ts +4 -0
- package/dist/esm/agentic/improvement/governance/PerformanceAuditor.js +40 -0
- package/dist/esm/agentic/improvement/governance/PersonaAuditor.d.ts +6 -0
- package/dist/esm/agentic/improvement/governance/PersonaAuditor.js +71 -0
- package/dist/esm/agentic/improvement/governance/RemediationEngine.d.ts +5 -0
- package/dist/esm/agentic/improvement/governance/RemediationEngine.js +40 -0
- package/dist/esm/agentic/improvement/governance/SkillAuditor.d.ts +5 -0
- package/dist/esm/agentic/improvement/governance/SkillAuditor.js +49 -0
- package/dist/esm/agentic/telemetry/CognitiveSynthesizer.d.ts +5 -0
- package/dist/esm/agentic/telemetry/CognitiveSynthesizer.js +54 -12
- package/dist/esm/agentic/telemetry/EventHarvester.d.ts +1 -1
- package/dist/esm/agentic/telemetry/EventHarvester.js +10 -3
- package/dist/esm/agentic/telemetry/ResearchAlchemist.d.ts +7 -2
- package/dist/esm/agentic/telemetry/ResearchAlchemist.js +49 -8
- package/dist/esm/agentic/telemetry/TelemetryOrchestrator.d.ts +4 -1
- package/dist/esm/agentic/telemetry/TelemetryOrchestrator.js +38 -11
- package/dist/esm/cli/commands/inspect.js +40 -1
- package/dist/esm/cli/commands/watch.js +31 -25
- package/dist/esm/dialect/sqlite/sqlite-introspector.js +15 -5
- package/dist/esm/helpers/agent-schema.js +15 -14
- package/dist/esm/migration/data_migrator.js +4 -4
- package/dist/esm/migration/schema_differ.js +37 -15
- package/dist/esm/types/index.d.ts +12 -0
- package/dist/esm/util/safe-sql-helpers.js +7 -10
- package/package.json +44 -40
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GovernanceManager = void 0;
|
|
4
|
+
const BudgetAuditor_js_1 = require("./governance/BudgetAuditor.js");
|
|
5
|
+
const PerformanceAuditor_js_1 = require("./governance/PerformanceAuditor.js");
|
|
6
|
+
const PersonaAuditor_js_1 = require("./governance/PersonaAuditor.js");
|
|
7
|
+
const SkillAuditor_js_1 = require("./governance/SkillAuditor.js");
|
|
8
|
+
const EmergenceAuditor_js_1 = require("./governance/EmergenceAuditor.js");
|
|
9
|
+
const RemediationEngine_js_1 = require("./governance/RemediationEngine.js");
|
|
10
|
+
const MaintenanceOracle_js_1 = require("./governance/MaintenanceOracle.js");
|
|
4
11
|
/**
|
|
5
12
|
* GovernanceManager monitors agent performance and enforces high-level "sanity"
|
|
6
13
|
* across the entire agentic infrastructure.
|
|
14
|
+
*
|
|
15
|
+
* Refactored to delegate specialized auditing to modular components.
|
|
7
16
|
*/
|
|
8
17
|
class GovernanceManager {
|
|
9
18
|
db;
|
|
@@ -12,6 +21,14 @@ class GovernanceManager {
|
|
|
12
21
|
metricsTable;
|
|
13
22
|
policiesTable;
|
|
14
23
|
personasTable;
|
|
24
|
+
skillsTable;
|
|
25
|
+
budgetAuditor;
|
|
26
|
+
performanceAuditor;
|
|
27
|
+
personaAuditor;
|
|
28
|
+
skillAuditor;
|
|
29
|
+
emergenceAuditor;
|
|
30
|
+
remediationEngine;
|
|
31
|
+
maintenanceOracle;
|
|
15
32
|
constructor(db, cortex, config = {}) {
|
|
16
33
|
this.db = db;
|
|
17
34
|
this.cortex = cortex;
|
|
@@ -19,186 +36,148 @@ class GovernanceManager {
|
|
|
19
36
|
this.metricsTable = config.metricsTable || 'agent_metrics';
|
|
20
37
|
this.policiesTable = config.policiesTable || 'agent_policies';
|
|
21
38
|
this.personasTable = config.personasTable || 'agent_personas';
|
|
39
|
+
this.skillsTable = config.capabilitiesTable || 'agent_capabilities';
|
|
40
|
+
this.budgetAuditor = new BudgetAuditor_js_1.BudgetAuditor();
|
|
41
|
+
this.performanceAuditor = new PerformanceAuditor_js_1.PerformanceAuditor();
|
|
42
|
+
this.personaAuditor = new PersonaAuditor_js_1.PersonaAuditor();
|
|
43
|
+
this.skillAuditor = new SkillAuditor_js_1.SkillAuditor();
|
|
44
|
+
this.emergenceAuditor = new EmergenceAuditor_js_1.EmergenceAuditor();
|
|
45
|
+
this.remediationEngine = new RemediationEngine_js_1.RemediationEngine();
|
|
46
|
+
this.maintenanceOracle = new MaintenanceOracle_js_1.MaintenanceOracle();
|
|
22
47
|
}
|
|
23
48
|
/**
|
|
24
49
|
* Perform a "Panic Check" - looking for critical failures or cost overruns
|
|
25
50
|
*/
|
|
26
51
|
async performAudit() {
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
.
|
|
32
|
-
.
|
|
33
|
-
.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
? JSON.parse(p.definition)
|
|
40
|
-
: p.definition;
|
|
41
|
-
return def.threshold ?? fallback;
|
|
52
|
+
const issuesList = [];
|
|
53
|
+
let auditMetadata = {};
|
|
54
|
+
// Execute core audit gathering phase
|
|
55
|
+
const ctx = {
|
|
56
|
+
db: this.db,
|
|
57
|
+
trx: this.db,
|
|
58
|
+
cortex: this.cortex,
|
|
59
|
+
config: this.config,
|
|
60
|
+
metricsTable: this.metricsTable,
|
|
61
|
+
policiesTable: this.policiesTable,
|
|
62
|
+
personasTable: this.personasTable,
|
|
63
|
+
skillsTable: this.skillsTable
|
|
42
64
|
};
|
|
43
|
-
//
|
|
44
|
-
const
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
65
|
+
// Run all auditors
|
|
66
|
+
const budget = await this.budgetAuditor.audit(ctx);
|
|
67
|
+
const performance = await this.performanceAuditor.audit(ctx);
|
|
68
|
+
const persona = await this.personaAuditor.audit(ctx);
|
|
69
|
+
const skills = await this.skillAuditor.audit(ctx);
|
|
70
|
+
const emergence = await this.emergenceAuditor.audit(ctx);
|
|
71
|
+
const pooledIssues = [
|
|
72
|
+
...budget.issues,
|
|
73
|
+
...performance.issues,
|
|
74
|
+
...persona.issues,
|
|
75
|
+
...skills.issues,
|
|
76
|
+
...emergence.issues
|
|
77
|
+
];
|
|
78
|
+
const coreAuditResult = {
|
|
79
|
+
issues: pooledIssues,
|
|
80
|
+
metadata: {
|
|
81
|
+
...budget.metadata,
|
|
82
|
+
...performance.metadata,
|
|
83
|
+
...persona.metadata,
|
|
84
|
+
...skills.metadata,
|
|
85
|
+
...emergence.metadata
|
|
86
|
+
}
|
|
54
87
|
};
|
|
55
|
-
|
|
56
|
-
if (
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const dCost = await getCostInWindow(86400000);
|
|
60
|
-
if (dCost > dailyLimit) {
|
|
61
|
-
issues.push(`Budget Violations: Daily cumulative cost ($${dCost.toFixed(2)}) exceeded safety ceiling ($${dailyLimit.toFixed(2)})`);
|
|
62
|
-
}
|
|
63
|
-
// 2. Performance Governance: Success Rates & Success Stability
|
|
64
|
-
const minSuccess = getPolicyValue('min_success_rate', 'safety', 0.6);
|
|
65
|
-
// Statistical Success Rate (last 100 events)
|
|
66
|
-
const recentSuccess = await this.db
|
|
67
|
-
.selectFrom(this.metricsTable)
|
|
68
|
-
.select((eb) => eb.fn.avg('metric_value').as('avg'))
|
|
69
|
-
.where('metric_name', '=', 'success_rate')
|
|
70
|
-
.orderBy('created_at', 'desc')
|
|
71
|
-
.limit(100)
|
|
72
|
-
.executeTakeFirst();
|
|
73
|
-
const success = Number(recentSuccess?.avg || 1);
|
|
74
|
-
if (success < minSuccess) {
|
|
75
|
-
issues.push(`Performance Degradation: Rolling success rate (${Math.round(success * 100)}%) is below policy requirement (${minSuccess * 100}%)`);
|
|
76
|
-
}
|
|
77
|
-
// 3. Infrastructure Integrity: Reliability of Verified Skills
|
|
78
|
-
// Detect if any "verified" skills are participating in "failure" loops
|
|
79
|
-
const reliabiltyLimit = getPolicyValue('reliability_floor', 'integrity', 0.7);
|
|
80
|
-
const failingVerified = await this.db
|
|
81
|
-
.selectFrom(this.config.capabilitiesTable || 'agent_capabilities')
|
|
82
|
-
.select(['name', 'reliability'])
|
|
83
|
-
.where('status', '=', 'verified')
|
|
84
|
-
.where('reliability', '<', reliabiltyLimit)
|
|
85
|
-
.execute();
|
|
86
|
-
for (const cap of failingVerified) {
|
|
87
|
-
issues.push(`Integrity Failure: Verified skill '${cap.name}' reliability (${cap.reliability.toFixed(2)}) dropped below floor (${reliabiltyLimit})`);
|
|
88
|
-
}
|
|
89
|
-
if (issues.length > 0) {
|
|
90
|
-
console.warn(`[GovernanceManager] AUDIT FAILED [${new Date().toISOString()}]: ${issues.length} compliance issues detected.`);
|
|
88
|
+
issuesList.push(...coreAuditResult.issues);
|
|
89
|
+
if (issuesList.length > 0) {
|
|
90
|
+
console.warn(`[GovernanceManager] AUDIT FAILED [${new Date().toISOString()}]: ${issuesList.length} compliance issues detected.`);
|
|
91
|
+
const { activePersona, success, hCost, hourlyLimit } = coreAuditResult.metadata;
|
|
91
92
|
// Phase 1: Emergency Rollbacks
|
|
92
|
-
const activePersona = await this.getActivePersona();
|
|
93
93
|
if (activePersona && (success < 0.4 || hCost > hourlyLimit * 1.5)) {
|
|
94
94
|
console.error(`[GovernanceManager] CRITICAL THRESHOLD BREACH. Initiating emergency containment for persona ${activePersona.id}`);
|
|
95
|
-
await this.cortex.
|
|
96
|
-
|
|
95
|
+
await this.personaAuditor.quarantinePersona({ db: this.db, cortex: this.cortex }, activePersona.id, 'Critical threshold breach');
|
|
96
|
+
issuesList.push(`Containment: Emergency rollback triggered for persona ${activePersona.id}`);
|
|
97
97
|
}
|
|
98
|
-
|
|
99
|
-
await this.cortex.reflections.reflect(null, 'failure', 'Governance Compliance Audit', issues);
|
|
98
|
+
await this.cortex.reflections.reflect(null, 'failure', 'Governance Compliance Audit', issuesList);
|
|
100
99
|
// Phase 3: Remediation Rituals
|
|
101
|
-
|
|
100
|
+
const ctx = {
|
|
101
|
+
db: this.db,
|
|
102
|
+
trx: this.db, // Standalone remediation
|
|
103
|
+
cortex: this.cortex,
|
|
104
|
+
config: this.config,
|
|
105
|
+
metricsTable: this.metricsTable,
|
|
106
|
+
policiesTable: this.policiesTable,
|
|
107
|
+
personasTable: this.personasTable,
|
|
108
|
+
skillsTable: this.skillsTable
|
|
109
|
+
};
|
|
110
|
+
await this.remediationEngine.triggerRemediation(ctx, issuesList);
|
|
102
111
|
}
|
|
103
112
|
return {
|
|
104
|
-
healthy:
|
|
105
|
-
issues,
|
|
113
|
+
healthy: issuesList.length === 0,
|
|
114
|
+
issues: issuesList,
|
|
106
115
|
};
|
|
107
116
|
}
|
|
108
117
|
/**
|
|
109
|
-
*
|
|
118
|
+
* Suggest architectural repairs if performance is degrading
|
|
110
119
|
*/
|
|
111
|
-
async
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
.
|
|
115
|
-
.
|
|
116
|
-
.
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
metadata: typeof active.metadata === 'string'
|
|
122
|
-
? JSON.parse(active.metadata)
|
|
123
|
-
: active.metadata || {},
|
|
120
|
+
async suggestRepairs() {
|
|
121
|
+
const ctx = {
|
|
122
|
+
db: this.db,
|
|
123
|
+
trx: this.db,
|
|
124
|
+
cortex: this.cortex,
|
|
125
|
+
config: this.config,
|
|
126
|
+
metricsTable: this.metricsTable,
|
|
127
|
+
policiesTable: this.policiesTable,
|
|
128
|
+
personasTable: this.personasTable,
|
|
129
|
+
skillsTable: this.skillsTable
|
|
124
130
|
};
|
|
131
|
+
return this.maintenanceOracle.suggestRepairs(ctx);
|
|
125
132
|
}
|
|
126
133
|
/**
|
|
127
|
-
*
|
|
134
|
+
* Quarantine a persona that is behaving outside safety parameters.
|
|
128
135
|
*/
|
|
129
|
-
async
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
console.log(`[GovernanceManager] Demoting tainted skill out of verified pool: ${skillName}`);
|
|
142
|
-
await this.db
|
|
143
|
-
.updateTable(this.config.capabilitiesTable || 'agent_capabilities')
|
|
144
|
-
.set({ status: 'experimental', updated_at: new Date() })
|
|
145
|
-
.where('name', '=', skillName)
|
|
146
|
-
.execute();
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
136
|
+
async quarantinePersona(id, reason) {
|
|
137
|
+
const ctx = {
|
|
138
|
+
db: this.db,
|
|
139
|
+
trx: this.db,
|
|
140
|
+
cortex: this.cortex,
|
|
141
|
+
config: this.config,
|
|
142
|
+
metricsTable: this.metricsTable,
|
|
143
|
+
policiesTable: this.policiesTable,
|
|
144
|
+
personasTable: this.personasTable,
|
|
145
|
+
skillsTable: this.skillsTable
|
|
146
|
+
};
|
|
147
|
+
return this.personaAuditor.quarantinePersona(ctx, id, reason);
|
|
150
148
|
}
|
|
151
149
|
/**
|
|
152
|
-
*
|
|
150
|
+
* Blacklist a skill that is causing systemic issues.
|
|
153
151
|
*/
|
|
154
|
-
async
|
|
155
|
-
const
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
repairs.push(`Table '${table}' is experiencing periodic latency spikes. Suggesting 'CREATE INDEX' for common filters.`);
|
|
184
|
-
}
|
|
185
|
-
// 3. Check for high cost accumulation
|
|
186
|
-
const totalCost = await this.cortex.metrics.getAverageMetric('total_cost');
|
|
187
|
-
if (totalCost > 0.5) {
|
|
188
|
-
repairs.push('Average query cost is high. Suggesting prompt compression or model switching (e.g., to a smaller model).');
|
|
189
|
-
}
|
|
190
|
-
// 3. Check for cold storage candidates
|
|
191
|
-
const sessionsTable = this.config.sessionsTable || 'agent_sessions';
|
|
192
|
-
const oldThreshold = new Date(Date.now() - 30 * 24 * 60 * 60 * 1000); // 30 days
|
|
193
|
-
const oldSessions = (await this.db
|
|
194
|
-
.selectFrom(sessionsTable)
|
|
195
|
-
.select((eb) => eb.fn.count('id').as('count'))
|
|
196
|
-
.where('created_at', '<', oldThreshold)
|
|
197
|
-
.executeTakeFirst());
|
|
198
|
-
if (Number(oldSessions?.count || 0) > 100) {
|
|
199
|
-
repairs.push(`[STORAGE OPTIMIZATION] Found ${oldSessions.count} sessions older than 30 days. Consider moving to cold storage to reduce primary database size and improve backup speed.`);
|
|
200
|
-
}
|
|
201
|
-
return repairs;
|
|
152
|
+
async quarantineSkill(name, reason) {
|
|
153
|
+
const ctx = {
|
|
154
|
+
db: this.db,
|
|
155
|
+
trx: this.db,
|
|
156
|
+
cortex: this.cortex,
|
|
157
|
+
config: this.config,
|
|
158
|
+
metricsTable: this.metricsTable,
|
|
159
|
+
policiesTable: this.policiesTable,
|
|
160
|
+
personasTable: this.personasTable,
|
|
161
|
+
skillsTable: this.skillsTable
|
|
162
|
+
};
|
|
163
|
+
return this.skillAuditor.quarantineSkill(ctx, name, reason);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Monitor cross-node behaviors and flag sudden spikes or malicious patterns.
|
|
167
|
+
*/
|
|
168
|
+
async validateEmergentBehavior(trx) {
|
|
169
|
+
const ctx = {
|
|
170
|
+
db: this.db,
|
|
171
|
+
trx: trx || this.db,
|
|
172
|
+
cortex: this.cortex,
|
|
173
|
+
config: this.config,
|
|
174
|
+
metricsTable: this.metricsTable,
|
|
175
|
+
policiesTable: this.policiesTable,
|
|
176
|
+
personasTable: this.personasTable,
|
|
177
|
+
skillsTable: this.skillsTable
|
|
178
|
+
};
|
|
179
|
+
const result = await this.emergenceAuditor.audit(ctx);
|
|
180
|
+
return result.issues;
|
|
202
181
|
}
|
|
203
182
|
}
|
|
204
183
|
exports.GovernanceManager = GovernanceManager;
|
|
@@ -16,15 +16,19 @@ export declare class HiveLink {
|
|
|
16
16
|
* Promote high-confidence local knowledge to global "Hive" knowledge.
|
|
17
17
|
* This creates a new, session-agnostic entry or updates an existing global one.
|
|
18
18
|
*/
|
|
19
|
-
broadcastKnowledge(
|
|
19
|
+
broadcastKnowledge(options?: {
|
|
20
|
+
minConfidence?: number;
|
|
21
|
+
limit?: number;
|
|
22
|
+
offset?: number;
|
|
23
|
+
}): Promise<number>;
|
|
20
24
|
/**
|
|
21
25
|
* Strengthen knowledge related to a specific domain (tag).
|
|
22
26
|
* Increases confidence of all items with this tag, representing "domain mastery".
|
|
23
27
|
*/
|
|
24
28
|
syncDomain(domainTag: string, boostFactor?: number): Promise<number>;
|
|
25
29
|
/**
|
|
26
|
-
* Propagate high-performing capabilities globally
|
|
27
|
-
*
|
|
30
|
+
* Propagate high-performing capabilities globally using the "Sovereign Draft" protocol.
|
|
31
|
+
* Uses Bayesian Convergence and Shadow Promotion to avoid deadlocks.
|
|
28
32
|
*/
|
|
29
33
|
broadcastSkills(): Promise<number>;
|
|
30
34
|
/**
|