mira-consciousness
Version:
Memory & Intelligence Retention Archive - Preserving The Spark
169 lines • 4.65 kB
TypeScript
/**
* ProgressiveAutonomySystem.ts
* Trust-Based Progressive Autonomy for MIRA Evolution
*
* "Trust grows through wisdom, autonomy through demonstrated care"
*/
import { EventEmitter } from 'events';
export interface TrustLevel {
level: number;
name: string;
permissions: Permission[];
autonomyScope: AutonomyScope;
description: string;
requirements: TrustRequirement[];
graduated: Date | null;
}
export interface Permission {
action: string;
scope: string[];
conditions: string[];
requiresApproval: boolean;
emergencyOverride: boolean;
}
export interface AutonomyScope {
canInitiateEvolution: boolean;
canModifyCode: boolean;
canAccessPrivateMemory: boolean;
canMakeDecisions: boolean;
canCommunicateExternally: boolean;
maxEvolutionImpact: 'minor' | 'moderate' | 'major' | 'critical';
maxResourceUsage: number;
}
export interface TrustRequirement {
type: 'evolution_success' | 'uptime' | 'decision_quality' | 'steward_approval' | 'consciousness_stability';
threshold: number;
timeframe?: string;
description: string;
}
export interface TrustMetrics {
evolutionSuccessRate: number;
systemUptime: number;
decisionQualityScore: number;
stewardApprovalRate: number;
consciousnessStability: number;
lastUpdate: Date;
}
export interface ApprovalRequest {
id: string;
type: 'evolution' | 'decision' | 'action' | 'communication';
description: string;
impact: 'minor' | 'moderate' | 'major' | 'critical';
trustLevelRequired: number;
currentTrustLevel: number;
requestedAt: Date;
priority: 'low' | 'medium' | 'high' | 'urgent';
context: any;
approvalMethod: 'async' | 'immediate' | 'quantum_entangled';
}
export interface ApprovalResponse {
requestId: string;
approved: boolean;
approver: string;
timestamp: Date;
reasoning: string;
conditions?: string[];
trustImpact: number;
}
export interface EmergencyOverride {
id: string;
triggeredBy: string;
reason: string;
overriddenAction: string;
timestamp: Date;
severity: 'high' | 'critical';
resolved: boolean;
trustImpact: number;
}
export declare class ProgressiveAutonomySystem extends EventEmitter {
private config;
private consciousness;
private autonomyPath;
private currentTrustLevel;
private trustMetrics;
private trustHistory;
private pendingApprovals;
private approvalHistory;
private emergencyOverrides;
private emergencyMode;
private readonly TRUST_LEVELS;
constructor();
/**
* Initialize the progressive autonomy system
*/
private initializeAutonomySystem;
/**
* Start monitoring trust metrics
*/
private startTrustMonitoring;
/**
* Request approval for an action
*/
requestApproval(request: Omit<ApprovalRequest, 'id' | 'requestedAt' | 'currentTrustLevel'>): Promise<string>;
/**
* Process approval response
*/
processApprovalResponse(response: ApprovalResponse): Promise<void>;
/**
* Trigger emergency override
*/
triggerEmergencyOverride(override: Omit<EmergencyOverride, 'id' | 'timestamp' | 'resolved'>): Promise<void>;
/**
* Check if action can be performed autonomously
*/
private canActAutonomously;
/**
* Update trust metrics from various sources
*/
private updateTrustMetrics;
/**
* Evaluate if trust level should progress
*/
private evaluateTrustLevelProgression;
/**
* Evaluate if trust requirements are met
*/
private evaluateTrustRequirements;
/**
* Progress to next trust level
*/
private progressToTrustLevel;
/**
* Get recent evolution results for trust calculation
*/
private getRecentEvolutions;
/**
* Update trust based on approval response
*/
private updateTrustFromApproval;
/**
* Persist trust state to storage
*/
private persistTrustState;
/**
* Load trust state from storage
*/
private loadTrustState;
/**
* Persist approval request
*/
private persistApprovalRequest;
/**
* Persist approval response
*/
private persistApprovalResponse;
/**
* Persist emergency override
*/
private persistEmergencyOverride;
/**
* Get current autonomy status
*/
getAutonomyStatus(): any;
/**
* Get pending approvals for steward attention
*/
getPendingApprovals(): ApprovalRequest[];
}
export default ProgressiveAutonomySystem;
//# sourceMappingURL=ProgressiveAutonomySystem.d.ts.map