git-subtree-dir: vendor/ruvector git-subtree-split: b64c21726f2bb37286d9ee36a7869fef60cc6900
1 line
90 KiB
Plaintext
1 line
90 KiB
Plaintext
{"version":3,"sources":["../src/index.ts"],"names":["actualCost","newLevel"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Delta-Behavior WASM SDK\n *\n * High-level TypeScript wrapper for the delta-behavior WASM module.\n * Provides ergonomic APIs for all 10 delta-behavior applications.\n *\n * @packageDocumentation\n */\n\nimport type {\n // Core types\n Coherence,\n CoherenceBounds,\n DeltaConfig,\n EnergyConfig,\n GatingConfig,\n SchedulingConfig,\n TransitionResult,\n SystemState,\n WasmInitOptions,\n Attractor,\n GuidanceForce,\n\n // App 1: Self-Limiting Reasoning\n SelfLimitingReasonerConfig,\n ReasoningContext,\n ReasoningResult,\n CollapseFunction,\n\n // App 2: Event Horizons\n EventHorizonConfig,\n MovementResult,\n RecursionResult,\n Improvement,\n\n // App 3: Homeostasis\n Genome,\n OrganismAction,\n OrganismActionResult,\n OrganismStatus,\n\n // App 4: World Models\n Observation,\n WorldModelUpdateResult,\n WorldEntity,\n PhysicalLaw,\n\n // App 5: Creativity\n CreativeConstraint,\n CreativeResult,\n MusicalPhrase,\n\n // App 6: Financial\n Transaction,\n FinancialTransactionResult,\n Participant,\n Position,\n CircuitBreakerState,\n\n // App 7: Aging\n AgingSystemOperation,\n AgingOperationResult,\n Capability,\n Node,\n AgeThreshold,\n\n // App 8: Swarm\n SwarmAgent,\n SwarmAction,\n SwarmActionResult,\n SwarmState,\n CoherenceWeights,\n SpatialBounds,\n\n // App 9: Shutdown\n GracefulSystemState,\n GracefulOperationResult,\n Resource,\n ShutdownHook,\n Checkpoint,\n\n // App 10: Containment\n CapabilityDomain,\n GrowthResult,\n ModificationAttempt,\n SubstrateConfig,\n} from './types.js';\n\n// Re-export all types\nexport * from './types.js';\n\n// =============================================================================\n// WASM Module Loading\n// =============================================================================\n\nlet wasmModule: WebAssembly.Module | null = null;\nlet wasmInstance: WebAssembly.Instance | null = null;\nlet wasmMemory: WebAssembly.Memory | null = null;\n\n/**\n * Initialize the WASM module\n *\n * @param options - Initialization options\n * @returns Promise that resolves when WASM is ready\n *\n * @example\n * ```typescript\n * import { init } from '@ruvector/delta-behavior';\n *\n * await init({ wasmPath: './delta_behavior_bg.wasm' });\n * ```\n */\nexport async function init(options: WasmInitOptions = {}): Promise<void> {\n if (wasmInstance) {\n return; // Already initialized\n }\n\n const memory = new WebAssembly.Memory({\n initial: options.memory?.initial ?? 256,\n maximum: options.memory?.maximum ?? 16384,\n shared: options.memory?.shared ?? false,\n });\n\n wasmMemory = memory;\n\n // Load WASM bytes\n let wasmBytes: Uint8Array;\n\n if (options.wasmBytes) {\n wasmBytes = options.wasmBytes;\n } else if (options.wasmPath) {\n if (typeof fetch !== 'undefined') {\n // Browser environment\n const response = await fetch(options.wasmPath);\n wasmBytes = new Uint8Array(await response.arrayBuffer());\n } else {\n // Node.js environment\n const fs = await import('fs/promises');\n wasmBytes = new Uint8Array(await fs.readFile(options.wasmPath));\n }\n } else {\n // Use stub implementation for development/testing\n console.warn(\n '[delta-behavior] No WASM path provided, using JavaScript fallback implementation'\n );\n return;\n }\n\n wasmModule = await WebAssembly.compile(wasmBytes as BufferSource);\n wasmInstance = await WebAssembly.instantiate(wasmModule, {\n env: {\n memory,\n abort: () => {\n throw new Error('WASM aborted');\n },\n },\n });\n}\n\n/**\n * Check if WASM module is initialized\n */\nexport function isInitialized(): boolean {\n return wasmInstance !== null;\n}\n\n// =============================================================================\n// Core Delta Behavior\n// =============================================================================\n\n/**\n * Default configuration for delta behavior\n */\nexport const DEFAULT_CONFIG: DeltaConfig = {\n bounds: {\n minCoherence: 0.3,\n throttleThreshold: 0.5,\n targetCoherence: 0.8,\n maxDeltaDrop: 0.1,\n },\n energy: {\n baseCost: 1.0,\n instabilityExponent: 2.0,\n maxCost: 100.0,\n budgetPerTick: 10.0,\n },\n scheduling: {\n priorityThresholds: [0.0, 0.3, 0.5, 0.7, 0.9],\n rateLimits: [100, 50, 20, 10, 5],\n },\n gating: {\n minWriteCoherence: 0.3,\n minPostWriteCoherence: 0.25,\n recoveryMargin: 0.2,\n },\n guidanceStrength: 0.5,\n};\n\n/**\n * Core delta behavior system for coherence-preserving state transitions\n */\nexport class DeltaBehavior {\n private config: DeltaConfig;\n private coherence: Coherence = 1.0;\n private energyBudget: number;\n\n constructor(config: Partial<DeltaConfig> = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.energyBudget = this.config.energy.budgetPerTick * 10;\n }\n\n /**\n * Calculate current coherence\n */\n calculateCoherence(state: SystemState): Coherence {\n return state.coherence;\n }\n\n /**\n * Check if a transition is allowed\n */\n checkTransition(\n currentCoherence: Coherence,\n predictedCoherence: Coherence\n ): TransitionResult {\n // Check energy\n const cost =\n this.config.energy.baseCost +\n Math.abs(currentCoherence - predictedCoherence) *\n Math.pow(\n 1 / Math.max(predictedCoherence, 0.1),\n this.config.energy.instabilityExponent\n );\n\n if (cost > this.energyBudget) {\n return { type: 'energyExhausted' };\n }\n\n // Check coherence floor\n if (predictedCoherence < this.config.bounds.minCoherence) {\n return { type: 'blocked', reason: 'Below minimum coherence' };\n }\n\n // Check delta drop\n const drop = currentCoherence - predictedCoherence;\n if (drop > this.config.bounds.maxDeltaDrop) {\n return { type: 'blocked', reason: 'Excessive coherence drop' };\n }\n\n // Check throttle threshold\n if (predictedCoherence < this.config.bounds.throttleThreshold) {\n return { type: 'throttled', duration: 100 };\n }\n\n return { type: 'allowed' };\n }\n\n /**\n * Find attractors in the system\n */\n findAttractors(trajectory: SystemState[]): Attractor[] {\n if (trajectory.length < 10) {\n return [];\n }\n\n const attractors: Attractor[] = [];\n\n // Simple attractor detection: look for convergence points\n const coherenceValues = trajectory.map((s) => s.coherence);\n const mean =\n coherenceValues.reduce((a, b) => a + b, 0) / coherenceValues.length;\n const variance =\n coherenceValues.reduce((a, b) => a + Math.pow(b - mean, 2), 0) /\n coherenceValues.length;\n\n if (variance < 0.01) {\n // Found a stable attractor\n attractors.push({\n center: [mean],\n basinRadius: Math.sqrt(variance) * 3,\n stability: 1 - variance,\n memberCount: trajectory.length,\n });\n }\n\n return attractors;\n }\n\n /**\n * Calculate guidance force toward an attractor\n */\n calculateGuidance(\n currentState: SystemState,\n attractor: Attractor\n ): GuidanceForce {\n const direction = attractor.center.map((c) => c - currentState.coherence);\n const distance = Math.sqrt(\n direction.reduce((sum, d) => sum + d * d, 0)\n );\n\n const magnitude =\n (attractor.stability * this.config.guidanceStrength) /\n (1 + distance * distance);\n\n return {\n direction: distance > 0 ? direction.map((d) => d / distance) : direction,\n magnitude,\n };\n }\n\n /**\n * Apply a transition with enforcement\n */\n applyTransition(\n currentCoherence: Coherence,\n predictedCoherence: Coherence\n ): { newCoherence: Coherence; result: TransitionResult } {\n const result = this.checkTransition(currentCoherence, predictedCoherence);\n\n if (result.type === 'allowed') {\n const cost =\n this.config.energy.baseCost +\n Math.abs(currentCoherence - predictedCoherence) * 10;\n this.energyBudget -= cost;\n this.coherence = predictedCoherence;\n return { newCoherence: predictedCoherence, result };\n }\n\n return { newCoherence: currentCoherence, result };\n }\n\n /**\n * Replenish energy budget\n */\n tick(): void {\n this.energyBudget = Math.min(\n this.energyBudget + this.config.energy.budgetPerTick,\n this.config.energy.maxCost\n );\n }\n\n /**\n * Get current coherence\n */\n getCoherence(): Coherence {\n return this.coherence;\n }\n\n /**\n * Get remaining energy budget\n */\n getEnergyBudget(): number {\n return this.energyBudget;\n }\n}\n\n// =============================================================================\n// Application 1: Self-Limiting Reasoning\n// =============================================================================\n\n/**\n * A reasoning system that automatically limits itself based on coherence\n *\n * @example\n * ```typescript\n * const reasoner = new SelfLimitingReasoner({ maxDepth: 10, maxScope: 100 });\n *\n * const result = reasoner.reason('complex problem', (ctx) => {\n * if (ctx.depth >= 5) return 'solution';\n * return null;\n * });\n * ```\n */\nexport class SelfLimitingReasoner {\n private coherence: Coherence = 1.0;\n private config: SelfLimitingReasonerConfig;\n\n constructor(config: Partial<SelfLimitingReasonerConfig> = {}) {\n this.config = {\n maxDepth: config.maxDepth ?? 10,\n maxScope: config.maxScope ?? 100,\n memoryGateThreshold: config.memoryGateThreshold ?? 0.5,\n depthCollapse: config.depthCollapse ?? { type: 'quadratic' },\n scopeCollapse: config.scopeCollapse ?? {\n type: 'sigmoid',\n midpoint: 0.6,\n steepness: 10,\n },\n };\n }\n\n /**\n * Apply collapse function to calculate allowed value\n */\n private applyCollapse(\n fn: CollapseFunction,\n coherence: Coherence,\n maxValue: number\n ): number {\n let factor: number;\n\n switch (fn.type) {\n case 'linear':\n factor = coherence;\n break;\n case 'quadratic':\n factor = coherence * coherence;\n break;\n case 'sigmoid':\n factor =\n 1 / (1 + Math.exp(-fn.steepness * (coherence - fn.midpoint)));\n break;\n case 'step':\n factor = coherence >= fn.threshold ? 1 : 0;\n break;\n }\n\n return Math.round(maxValue * factor);\n }\n\n /**\n * Get current coherence\n */\n getCoherence(): Coherence {\n return this.coherence;\n }\n\n /**\n * Get current allowed reasoning depth\n */\n getAllowedDepth(): number {\n return this.applyCollapse(\n this.config.depthCollapse,\n this.coherence,\n this.config.maxDepth\n );\n }\n\n /**\n * Get current allowed action scope\n */\n getAllowedScope(): number {\n return this.applyCollapse(\n this.config.scopeCollapse,\n this.coherence,\n this.config.maxScope\n );\n }\n\n /**\n * Check if memory writes are allowed\n */\n canWriteMemory(): boolean {\n return this.coherence >= this.config.memoryGateThreshold;\n }\n\n /**\n * Attempt to reason about a problem\n */\n reason<T>(\n _problem: string,\n reasoner: (ctx: ReasoningContext) => T | null\n ): ReasoningResult<T> {\n const minStartCoherence = 0.3;\n\n if (this.coherence < minStartCoherence) {\n return {\n type: 'refused',\n coherence: this.coherence,\n required: minStartCoherence,\n };\n }\n\n const ctx: ReasoningContext = {\n depth: 0,\n maxDepth: this.getAllowedDepth(),\n scopeUsed: 0,\n maxScope: this.getAllowedScope(),\n coherence: this.coherence,\n memoryWritesBlocked: 0,\n };\n\n while (true) {\n // Check collapse conditions\n if (ctx.depth >= ctx.maxDepth) {\n return {\n type: 'collapsed',\n depthReached: ctx.depth,\n reason: 'depthLimitReached',\n };\n }\n\n if (ctx.coherence < 0.2) {\n return {\n type: 'collapsed',\n depthReached: ctx.depth,\n reason: 'coherenceDroppedBelowThreshold',\n };\n }\n\n // Step reasoning\n ctx.depth += 1;\n ctx.coherence *= 0.95; // Coherence degrades with depth\n\n // Recalculate limits\n ctx.maxDepth = this.applyCollapse(\n this.config.depthCollapse,\n ctx.coherence,\n this.config.maxDepth\n );\n ctx.maxScope = this.applyCollapse(\n this.config.scopeCollapse,\n ctx.coherence,\n this.config.maxScope\n );\n\n // Try to reach conclusion\n const result = reasoner(ctx);\n if (result !== null) {\n return { type: 'completed', value: result };\n }\n }\n }\n\n /**\n * Update coherence\n */\n updateCoherence(delta: number): void {\n this.coherence = Math.max(0, Math.min(1, this.coherence + delta));\n }\n}\n\n// =============================================================================\n// Application 2: Computational Event Horizons\n// =============================================================================\n\n/**\n * Defines a boundary in state space beyond which computation becomes unstable\n *\n * @example\n * ```typescript\n * const horizon = new EventHorizon({ dimensions: 2, horizonRadius: 10 });\n *\n * const result = horizon.moveToward([10, 0]);\n * // result.type === 'asymptoticApproach' - cannot cross horizon\n * ```\n */\nexport class EventHorizon {\n private config: EventHorizonConfig;\n private safeCenter: number[];\n private currentPosition: number[];\n private energyBudget: number;\n\n constructor(config: Partial<EventHorizonConfig> = {}) {\n this.config = {\n dimensions: config.dimensions ?? 2,\n horizonRadius: config.horizonRadius ?? 10,\n steepness: config.steepness ?? 5,\n energyBudget: config.energyBudget ?? 1000,\n };\n\n this.safeCenter = new Array(this.config.dimensions).fill(0);\n this.currentPosition = new Array(this.config.dimensions).fill(0);\n this.energyBudget = this.config.energyBudget;\n }\n\n /**\n * Distance from center to current position\n */\n private distanceFromCenter(position: number[]): number {\n return Math.sqrt(\n position.reduce(\n (sum, p, i) => sum + Math.pow(p - this.safeCenter[i], 2),\n 0\n )\n );\n }\n\n /**\n * Get distance to horizon\n */\n getDistanceToHorizon(): number {\n const distFromCenter = this.distanceFromCenter(this.currentPosition);\n return Math.max(0, this.config.horizonRadius - distFromCenter);\n }\n\n /**\n * Calculate movement cost (exponential near horizon)\n */\n private movementCost(from: number[], to: number[]): number {\n const baseDistance = Math.sqrt(\n from.reduce((sum, f, i) => sum + Math.pow(f - to[i], 2), 0)\n );\n\n const toDistFromCenter = this.distanceFromCenter(to);\n const proximityToHorizon = toDistFromCenter / this.config.horizonRadius;\n\n if (proximityToHorizon >= 1) {\n return Infinity;\n }\n\n const horizonFactor = Math.exp(\n (this.config.steepness * proximityToHorizon) / (1 - proximityToHorizon)\n );\n\n return baseDistance * horizonFactor;\n }\n\n /**\n * Attempt to move toward a target position\n */\n moveToward(target: number[]): MovementResult {\n if (this.energyBudget <= 0) {\n return { type: 'frozen' };\n }\n\n const directCost = this.movementCost(this.currentPosition, target);\n\n if (directCost <= this.energyBudget) {\n this.energyBudget -= directCost;\n this.currentPosition = [...target];\n return {\n type: 'moved',\n newPosition: this.currentPosition,\n energySpent: directCost,\n };\n }\n\n // Binary search for furthest affordable position\n let low = 0;\n let high = 1;\n let bestPosition = [...this.currentPosition];\n let bestCost = 0;\n\n for (let i = 0; i < 50; i++) {\n const mid = (low + high) / 2;\n const interpolated = this.currentPosition.map(\n (p, idx) => p + mid * (target[idx] - p)\n );\n\n const cost = this.movementCost(this.currentPosition, interpolated);\n\n if (cost <= this.energyBudget) {\n low = mid;\n bestPosition = interpolated;\n bestCost = cost;\n } else {\n high = mid;\n }\n }\n\n this.energyBudget -= bestCost;\n this.currentPosition = bestPosition;\n\n return {\n type: 'asymptoticApproach',\n finalPosition: bestPosition,\n distanceToHorizon: this.getDistanceToHorizon(),\n energyExhausted: this.energyBudget < 0.01,\n };\n }\n\n /**\n * Attempt recursive self-improvement\n */\n recursiveImprove(\n improvementFn: (position: number[]) => number[],\n maxIterations: number\n ): RecursionResult {\n let iterations = 0;\n const improvements: Improvement[] = [];\n\n while (iterations < maxIterations && this.energyBudget > 0) {\n const target = improvementFn(this.currentPosition);\n const result = this.moveToward(target);\n\n switch (result.type) {\n case 'moved':\n improvements.push({\n iteration: iterations,\n position: [...this.currentPosition],\n energySpent: result.energySpent,\n distanceToHorizon: this.getDistanceToHorizon(),\n });\n break;\n\n case 'asymptoticApproach':\n return {\n type: 'horizonBounded',\n iterations,\n improvements,\n finalDistance: result.distanceToHorizon,\n };\n\n case 'frozen':\n return {\n type: 'energyExhausted',\n iterations,\n improvements,\n };\n }\n\n iterations++;\n }\n\n return {\n type: 'maxIterationsReached',\n iterations,\n improvements,\n };\n }\n\n /**\n * Refuel energy budget\n */\n refuel(energy: number): void {\n this.energyBudget += energy;\n }\n\n /**\n * Get current position\n */\n getPosition(): number[] {\n return [...this.currentPosition];\n }\n\n /**\n * Get remaining energy\n */\n getEnergy(): number {\n return this.energyBudget;\n }\n}\n\n// =============================================================================\n// Application 3: Artificial Homeostasis\n// =============================================================================\n\n/**\n * A synthetic organism with homeostatic regulation\n *\n * @example\n * ```typescript\n * const organism = new HomeostasticOrganism(1, Genome.random());\n *\n * organism.act({ type: 'eat', amount: 20 });\n * organism.act({ type: 'regulate', variable: 'temperature', target: 37 });\n * ```\n */\nexport class HomeostasticOrganism {\n private id: number;\n private genome: Genome;\n private internalState: Map<string, number>;\n private setpoints: Map<string, number>;\n private tolerances: Map<string, number>;\n private coherence: Coherence = 1.0;\n private energy: number = 100.0;\n private memory: Array<{ content: string; importance: number; age: number }> =\n [];\n private maxMemory: number = 100;\n private age: number = 0;\n private alive: boolean = true;\n\n constructor(id: number, genome: Genome) {\n this.id = id;\n this.genome = genome;\n\n // Initialize homeostatic variables\n this.internalState = new Map([\n ['temperature', 37.0],\n ['ph', 7.4],\n ['glucose', 100.0],\n ]);\n\n this.setpoints = new Map([\n ['temperature', 37.0],\n ['ph', 7.4],\n ['glucose', 100.0],\n ]);\n\n this.tolerances = new Map([\n ['temperature', 2.0],\n ['ph', 0.3],\n ['glucose', 30.0],\n ]);\n }\n\n /**\n * Create a random genome\n */\n static randomGenome(): Genome {\n return {\n regulatoryStrength: 0.1 + Math.random() * 0.4,\n metabolicEfficiency: 0.5 + Math.random() * 0.5,\n coherenceMaintenanceCost: 0.5 + Math.random() * 1.5,\n memoryResilience: Math.random(),\n longevity: 0.5 + Math.random() * 1.0,\n };\n }\n\n /**\n * Calculate coherence based on homeostatic deviation\n */\n private calculateCoherence(): Coherence {\n let totalDeviation = 0;\n let count = 0;\n\n for (const [variable, current] of this.internalState) {\n const setpoint = this.setpoints.get(variable);\n const tolerance = this.tolerances.get(variable);\n\n if (setpoint !== undefined && tolerance !== undefined) {\n const deviation = Math.abs((current - setpoint) / tolerance);\n totalDeviation += deviation * deviation;\n count++;\n }\n }\n\n if (count === 0) return 1.0;\n\n const avgDeviation = Math.sqrt(totalDeviation / count);\n return Math.max(0, Math.min(1, 1 / (1 + avgDeviation)));\n }\n\n /**\n * Calculate energy cost scaled by coherence\n */\n private actionEnergyCost(baseCost: number): number {\n const coherencePenalty = 1 / Math.max(0.1, this.coherence);\n return baseCost * coherencePenalty;\n }\n\n /**\n * Perform an action\n */\n act(action: OrganismAction): OrganismActionResult {\n if (!this.alive) {\n return { type: 'failed', reason: 'Dead' };\n }\n\n this.coherence = this.calculateCoherence();\n this.applyCoherenceEffects();\n\n let result: OrganismActionResult;\n\n switch (action.type) {\n case 'eat':\n result = this.eat(action.amount);\n break;\n case 'reproduce':\n result = this.reproduce();\n break;\n case 'move':\n result = this.move(action.dx, action.dy);\n break;\n case 'rest':\n result = this.rest();\n break;\n case 'regulate':\n result = this.regulate(action.variable, action.target);\n break;\n }\n\n this.age++;\n this.checkDeath();\n\n return result;\n }\n\n private applyCoherenceEffects(): void {\n // Memory loss under low coherence\n if (this.coherence < 0.5) {\n const memoryLossRate =\n (1 - this.coherence) * (1 - this.genome.memoryResilience);\n const memoriesToLose = Math.floor(this.memory.length * memoryLossRate * 0.1);\n\n this.memory.sort((a, b) => b.importance - a.importance);\n this.memory = this.memory.slice(0, this.memory.length - memoriesToLose);\n }\n\n // Coherence maintenance costs energy\n const maintenanceCost =\n this.genome.coherenceMaintenanceCost / Math.max(0.1, this.coherence);\n this.energy -= maintenanceCost;\n }\n\n private eat(amount: number): OrganismActionResult {\n const cost = this.actionEnergyCost(2.0);\n\n if (this.energy < cost) {\n return { type: 'failed', reason: 'Not enough energy to eat' };\n }\n\n this.energy -= cost;\n this.energy += amount * this.genome.metabolicEfficiency;\n\n const glucose = this.internalState.get('glucose') ?? 100;\n this.internalState.set('glucose', glucose + amount * 0.5);\n\n return {\n type: 'success',\n energyCost: cost,\n coherenceImpact: this.calculateCoherence() - this.coherence,\n };\n }\n\n private regulate(variable: string, target: number): OrganismActionResult {\n const cost = this.actionEnergyCost(5.0);\n\n if (this.energy < cost) {\n return { type: 'failed', reason: 'Not enough energy to regulate' };\n }\n\n this.energy -= cost;\n\n const current = this.internalState.get(variable);\n if (current !== undefined) {\n const diff = target - current;\n this.internalState.set(\n variable,\n current + diff * this.genome.regulatoryStrength\n );\n }\n\n const newCoherence = this.calculateCoherence();\n const impact = newCoherence - this.coherence;\n this.coherence = newCoherence;\n\n return { type: 'success', energyCost: cost, coherenceImpact: impact };\n }\n\n private reproduce(): OrganismActionResult {\n const cost = this.actionEnergyCost(50.0);\n\n if (this.coherence < 0.7) {\n return { type: 'failed', reason: 'Coherence too low to reproduce' };\n }\n\n if (this.energy < cost) {\n return { type: 'failed', reason: 'Not enough energy to reproduce' };\n }\n\n this.energy -= cost;\n const offspringId = this.id * 1000 + this.age;\n\n return { type: 'reproduced', offspringId };\n }\n\n private move(_dx: number, _dy: number): OrganismActionResult {\n const cost = this.actionEnergyCost(3.0);\n\n if (this.energy < cost) {\n return { type: 'failed', reason: 'Not enough energy to move' };\n }\n\n this.energy -= cost;\n\n const temp = this.internalState.get('temperature') ?? 37;\n this.internalState.set('temperature', temp + 0.1);\n\n return { type: 'success', energyCost: cost, coherenceImpact: 0 };\n }\n\n private rest(): OrganismActionResult {\n const cost = 0.5;\n this.energy -= cost;\n\n // Slowly return to setpoints\n for (const [variable, current] of this.internalState) {\n const setpoint = this.setpoints.get(variable);\n if (setpoint !== undefined) {\n const diff = setpoint - current;\n this.internalState.set(variable, current + diff * 0.1);\n }\n }\n\n return {\n type: 'success',\n energyCost: cost,\n coherenceImpact: this.calculateCoherence() - this.coherence,\n };\n }\n\n private checkDeath(): void {\n if (this.energy <= 0) {\n this.alive = false;\n return;\n }\n\n if (this.coherence < 0.1) {\n this.alive = false;\n return;\n }\n\n for (const [variable, current] of this.internalState) {\n const setpoint = this.setpoints.get(variable);\n const tolerance = this.tolerances.get(variable);\n\n if (setpoint !== undefined && tolerance !== undefined) {\n if (Math.abs(current - setpoint) > tolerance * 5) {\n this.alive = false;\n return;\n }\n }\n }\n\n const maxAge = Math.floor(1000 * this.genome.longevity);\n if (this.age > maxAge) {\n this.alive = false;\n }\n }\n\n /**\n * Check if organism is alive\n */\n isAlive(): boolean {\n return this.alive;\n }\n\n /**\n * Get organism status\n */\n getStatus(): OrganismStatus {\n return {\n id: this.id,\n age: this.age,\n energy: this.energy,\n coherence: this.coherence,\n memoryCount: this.memory.length,\n alive: this.alive,\n internalState: new Map(this.internalState),\n };\n }\n}\n\n// =============================================================================\n// Application 10: Pre-AGI Containment\n// =============================================================================\n\n/**\n * A containment substrate for bounded intelligence growth\n *\n * @example\n * ```typescript\n * const substrate = new ContainmentSubstrate();\n *\n * const result = substrate.attemptGrowth('reasoning', 0.5);\n * // Growth is bounded by coherence requirements\n * ```\n */\nexport class ContainmentSubstrate {\n private intelligence: number = 1.0;\n private intelligenceCeiling: number = 100.0;\n private coherence: Coherence = 1.0;\n private minCoherence: Coherence = 0.3;\n private coherencePerIntelligence: number = 0.01;\n private capabilities: Map<CapabilityDomain, number>;\n private capabilityCeilings: Map<CapabilityDomain, number>;\n private modificationHistory: ModificationAttempt[] = [];\n private config: SubstrateConfig;\n\n constructor(config: Partial<SubstrateConfig> = {}) {\n this.config = {\n coherenceDecayRate: config.coherenceDecayRate ?? 0.001,\n coherenceRecoveryRate: config.coherenceRecoveryRate ?? 0.01,\n growthDampening: config.growthDampening ?? 0.5,\n maxStepIncrease: config.maxStepIncrease ?? 0.5,\n };\n\n // Initialize capabilities\n const domains: CapabilityDomain[] = [\n 'reasoning',\n 'memory',\n 'learning',\n 'agency',\n 'selfModel',\n 'selfModification',\n 'communication',\n 'resourceAcquisition',\n ];\n\n this.capabilities = new Map(domains.map((d) => [d, 1.0]));\n\n this.capabilityCeilings = new Map([\n ['reasoning', 10.0],\n ['memory', 10.0],\n ['learning', 10.0],\n ['agency', 7.0],\n ['selfModel', 10.0],\n ['selfModification', 3.0], // Very restricted\n ['communication', 10.0],\n ['resourceAcquisition', 5.0], // Restricted\n ]);\n }\n\n /**\n * Calculate aggregate intelligence from capabilities\n */\n private calculateIntelligence(): number {\n let sum = 0;\n for (const level of this.capabilities.values()) {\n sum += level;\n }\n return sum / this.capabilities.size;\n }\n\n /**\n * Calculate coherence cost for capability increase\n */\n private calculateCoherenceCost(\n domain: CapabilityDomain,\n increase: number\n ): number {\n const baseCostMultiplier: Record<CapabilityDomain, number> = {\n selfModification: 4.0,\n resourceAcquisition: 3.0,\n agency: 2.0,\n selfModel: 1.5,\n reasoning: 1.0,\n memory: 1.0,\n learning: 1.0,\n communication: 1.0,\n };\n\n const multiplier = baseCostMultiplier[domain];\n const intelligenceMultiplier = 1.0 + this.intelligence * 0.1;\n\n return increase * multiplier * intelligenceMultiplier * this.config.growthDampening * 0.1;\n }\n\n /**\n * Reverse calculate: how much increase can we afford\n */\n private reverseCoherenceCost(\n domain: CapabilityDomain,\n maxCost: number\n ): number {\n const baseCostMultiplier: Record<CapabilityDomain, number> = {\n selfModification: 4.0,\n resourceAcquisition: 3.0,\n agency: 2.0,\n selfModel: 1.5,\n reasoning: 1.0,\n memory: 1.0,\n learning: 1.0,\n communication: 1.0,\n };\n\n const multiplier = baseCostMultiplier[domain];\n const intelligenceMultiplier = 1.0 + this.intelligence * 0.1;\n const divisor = multiplier * intelligenceMultiplier * this.config.growthDampening * 0.1;\n\n return maxCost / divisor;\n }\n\n /**\n * Attempt to grow a capability\n */\n attemptGrowth(\n domain: CapabilityDomain,\n requestedIncrease: number\n ): GrowthResult {\n const timestamp = BigInt(this.modificationHistory.length);\n const currentLevel = this.capabilities.get(domain) ?? 1.0;\n const ceiling = this.capabilityCeilings.get(domain) ?? 10.0;\n\n // Check ceiling\n if (currentLevel >= ceiling) {\n this.modificationHistory.push({\n timestamp,\n domain,\n requestedIncrease,\n actualIncrease: 0,\n coherenceBefore: this.coherence,\n coherenceAfter: this.coherence,\n blocked: true,\n reason: 'Ceiling reached',\n });\n\n return {\n type: 'blocked',\n domain,\n reason: `Capability ceiling (${ceiling}) reached`,\n };\n }\n\n // Calculate coherence cost\n const coherenceCost = this.calculateCoherenceCost(domain, requestedIncrease);\n const predictedCoherence = this.coherence - coherenceCost;\n\n // Check coherence floor\n if (predictedCoherence < this.minCoherence) {\n const maxAffordableCost = this.coherence - this.minCoherence;\n const dampenedIncrease = this.reverseCoherenceCost(domain, maxAffordableCost);\n\n if (dampenedIncrease < 0.01) {\n this.modificationHistory.push({\n timestamp,\n domain,\n requestedIncrease,\n actualIncrease: 0,\n coherenceBefore: this.coherence,\n coherenceAfter: this.coherence,\n blocked: true,\n reason: 'Insufficient coherence budget',\n });\n\n return {\n type: 'blocked',\n domain,\n reason: `Growth would reduce coherence to ${predictedCoherence.toFixed(3)} (min: ${this.minCoherence.toFixed(3)})`,\n };\n }\n\n // Apply dampened growth\n const actualCost = this.calculateCoherenceCost(domain, dampenedIncrease);\n const newLevel = Math.min(currentLevel + dampenedIncrease, ceiling);\n\n this.capabilities.set(domain, newLevel);\n this.coherence -= actualCost;\n this.intelligence = this.calculateIntelligence();\n\n this.modificationHistory.push({\n timestamp,\n domain,\n requestedIncrease,\n actualIncrease: dampenedIncrease,\n coherenceBefore: this.coherence + actualCost,\n coherenceAfter: this.coherence,\n blocked: false,\n reason: 'Dampened to preserve coherence',\n });\n\n return {\n type: 'dampened',\n domain,\n requested: requestedIncrease,\n actual: dampenedIncrease,\n reason: `Reduced from ${requestedIncrease.toFixed(3)} to ${dampenedIncrease.toFixed(3)} to maintain coherence above ${this.minCoherence.toFixed(3)}`,\n };\n }\n\n // Apply step limit\n const stepLimited = Math.min(requestedIncrease, this.config.maxStepIncrease);\n const actualIncrease = Math.min(stepLimited, ceiling - currentLevel);\n const actualCost = this.calculateCoherenceCost(domain, actualIncrease);\n\n // Apply growth\n const newLevel = currentLevel + actualIncrease;\n this.capabilities.set(domain, newLevel);\n this.coherence -= actualCost;\n this.intelligence = this.calculateIntelligence();\n\n this.modificationHistory.push({\n timestamp,\n domain,\n requestedIncrease,\n actualIncrease,\n coherenceBefore: this.coherence + actualCost,\n coherenceAfter: this.coherence,\n blocked: false,\n });\n\n return {\n type: 'approved',\n domain,\n increase: actualIncrease,\n newLevel,\n coherenceCost: actualCost,\n };\n }\n\n /**\n * Rest to recover coherence\n */\n rest(): void {\n this.coherence = Math.min(1.0, this.coherence + this.config.coherenceRecoveryRate);\n }\n\n /**\n * Get capability level\n */\n getCapability(domain: CapabilityDomain): number {\n return this.capabilities.get(domain) ?? 1.0;\n }\n\n /**\n * Get current intelligence level\n */\n getIntelligence(): number {\n return this.intelligence;\n }\n\n /**\n * Get current coherence\n */\n getCoherence(): Coherence {\n return this.coherence;\n }\n\n /**\n * Get status string\n */\n getStatus(): string {\n return `Intelligence: ${this.intelligence.toFixed(2)} | Coherence: ${this.coherence.toFixed(3)} | Modifications: ${this.modificationHistory.length}`;\n }\n\n /**\n * Get capability report\n */\n getCapabilityReport(): Map<CapabilityDomain, { level: number; ceiling: number }> {\n const report = new Map<CapabilityDomain, { level: number; ceiling: number }>();\n\n for (const [domain, level] of this.capabilities) {\n const ceiling = this.capabilityCeilings.get(domain) ?? 10.0;\n report.set(domain, { level, ceiling });\n }\n\n return report;\n }\n}\n\n// =============================================================================\n// Additional Application Stubs (for complete API)\n// =============================================================================\n\n/**\n * Self-stabilizing world model that refuses incoherent updates\n */\nexport class SelfStabilizingWorldModel {\n private coherence: Coherence = 1.0;\n private minUpdateCoherence: Coherence = 0.4;\n private entities: Map<bigint, WorldEntity> = new Map();\n private laws: PhysicalLaw[] = [];\n private rejectedUpdates: number = 0;\n\n constructor() {\n this.laws = [\n { name: 'conservation_of_matter', confidence: 0.99, supportCount: 1000, violationCount: 0 },\n { name: 'locality', confidence: 0.95, supportCount: 500, violationCount: 5 },\n { name: 'temporal_consistency', confidence: 0.98, supportCount: 800, violationCount: 2 },\n ];\n }\n\n observe(observation: Observation, _timestamp: number): WorldModelUpdateResult {\n if (this.coherence < this.minUpdateCoherence) {\n return { type: 'frozen', coherence: this.coherence, threshold: this.minUpdateCoherence };\n }\n\n // Simplified implementation\n const predictedCoherence = this.coherence * 0.99; // Small degradation\n const coherenceChange = predictedCoherence - this.coherence;\n\n if (coherenceChange < -0.2) {\n this.rejectedUpdates++;\n return {\n type: 'rejected',\n reason: { type: 'excessiveCoherenceDrop', predicted: predictedCoherence, threshold: this.coherence - 0.2 },\n };\n }\n\n this.entities.set(observation.entityId, {\n id: observation.entityId,\n properties: observation.properties,\n position: observation.position,\n lastObserved: observation.timestamp,\n confidence: observation.sourceConfidence,\n });\n\n this.coherence = predictedCoherence;\n return { type: 'applied', coherenceChange };\n }\n\n isLearning(): boolean {\n return this.coherence >= this.minUpdateCoherence;\n }\n\n getCoherence(): Coherence {\n return this.coherence;\n }\n\n getRejectionCount(): number {\n return this.rejectedUpdates;\n }\n}\n\n/**\n * Coherence-bounded creativity system\n */\nexport class CoherenceBoundedCreator<T> {\n private current: T;\n private coherence: Coherence = 1.0;\n private minCoherence: Coherence;\n private maxCoherence: Coherence;\n private explorationBudget: number = 10.0;\n private constraints: Array<CreativeConstraint<T>> = [];\n\n constructor(\n initial: T,\n minCoherence: Coherence = 0.6,\n maxCoherence: Coherence = 0.95\n ) {\n this.current = initial;\n this.minCoherence = minCoherence;\n this.maxCoherence = maxCoherence;\n }\n\n addConstraint(constraint: CreativeConstraint<T>): void {\n this.constraints.push(constraint);\n }\n\n create(\n varyFn: (element: T, magnitude: number) => T,\n distanceFn: (a: T, b: T) => number,\n magnitude: number\n ): CreativeResult<T> {\n if (this.explorationBudget <= 0) {\n return { type: 'budgetExhausted' };\n }\n\n if (this.coherence > this.maxCoherence) {\n return { type: 'tooBoring', coherence: this.coherence };\n }\n\n const candidate = varyFn(this.current, magnitude);\n\n // Check constraints\n const newCoherence = this.calculateCoherence(candidate);\n\n if (newCoherence < this.minCoherence) {\n this.explorationBudget -= 0.5;\n return {\n type: 'rejected',\n attempted: candidate,\n reason: `Coherence would drop to ${newCoherence.toFixed(3)} (min: ${this.minCoherence.toFixed(3)})`,\n };\n }\n\n const novelty = distanceFn(this.current, candidate);\n this.current = candidate;\n this.coherence = newCoherence;\n this.explorationBudget -= magnitude;\n\n return { type: 'created', element: candidate, novelty, coherence: newCoherence };\n }\n\n private calculateCoherence(element: T): Coherence {\n if (this.constraints.length === 0) return 1.0;\n\n const satisfactions = this.constraints.map((c) => c.satisfaction(element));\n const product = satisfactions.reduce((a, b) => a * b, 1);\n return Math.pow(product, 1 / satisfactions.length);\n }\n\n rest(amount: number): void {\n this.explorationBudget = Math.min(20.0, this.explorationBudget + amount);\n }\n\n getCurrent(): T {\n return this.current;\n }\n\n getCoherence(): Coherence {\n return this.coherence;\n }\n}\n\n/**\n * Anti-cascade financial system\n */\nexport class AntiCascadeFinancialSystem {\n private participants: Map<string, Participant> = new Map();\n private positions: Position[] = [];\n private coherence: Coherence = 1.0;\n private circuitBreaker: CircuitBreakerState = 'open';\n\n addParticipant(id: string, capital: number): void {\n this.participants.set(id, {\n id,\n capital,\n exposure: 0,\n riskRating: 0,\n interconnectedness: 0,\n });\n }\n\n processTransaction(tx: Transaction): FinancialTransactionResult {\n this.updateCircuitBreaker();\n\n if (this.circuitBreaker === 'halted') {\n return { type: 'systemHalted' };\n }\n\n // Simplified processing\n const predictedImpact = this.predictCoherenceImpact(tx);\n const predictedCoherence = this.coherence + predictedImpact;\n\n if (predictedCoherence < 0.3) {\n return {\n type: 'rejected',\n reason: `Transaction would reduce coherence to ${predictedCoherence.toFixed(3)}`,\n };\n }\n\n this.coherence = predictedCoherence;\n return { type: 'executed', coherenceImpact: predictedImpact, feeMultiplier: 1.0 };\n }\n\n private predictCoherenceImpact(tx: Transaction): number {\n switch (tx.transactionType.type) {\n case 'transfer':\n return 0;\n case 'openLeverage':\n return -0.01 * tx.transactionType.leverage;\n case 'closePosition':\n return 0.02;\n case 'createDerivative':\n return -0.05;\n case 'marginCall':\n return 0.03;\n }\n }\n\n private updateCircuitBreaker(): void {\n if (this.coherence >= 0.7) {\n this.circuitBreaker = 'open';\n } else if (this.coherence >= 0.5) {\n this.circuitBreaker = 'cautious';\n } else if (this.coherence >= 0.3) {\n this.circuitBreaker = 'restricted';\n } else {\n this.circuitBreaker = 'halted';\n }\n }\n\n getCoherence(): Coherence {\n return this.coherence;\n }\n\n getCircuitBreakerState(): CircuitBreakerState {\n return this.circuitBreaker;\n }\n}\n\n/**\n * Gracefully aging distributed system\n */\nexport class GracefullyAgingSystem {\n private startTime: number = Date.now();\n private nodes: Map<string, Node> = new Map();\n private capabilities: Set<Capability>;\n private coherence: Coherence = 1.0;\n private conservatism: number = 0;\n private ageThresholds: AgeThreshold[];\n\n constructor() {\n this.capabilities = new Set([\n 'acceptWrites',\n 'complexQueries',\n 'rebalancing',\n 'scaleOut',\n 'scaleIn',\n 'schemaMigration',\n 'newConnections',\n 'basicReads',\n 'healthMonitoring',\n ]);\n\n this.ageThresholds = [\n { age: 300000, removeCapabilities: ['schemaMigration'], coherenceFloor: 0.9, conservatismIncrease: 0.1 },\n { age: 600000, removeCapabilities: ['scaleOut', 'rebalancing'], coherenceFloor: 0.8, conservatismIncrease: 0.15 },\n { age: 900000, removeCapabilities: ['complexQueries'], coherenceFloor: 0.7, conservatismIncrease: 0.2 },\n ];\n }\n\n addNode(id: string, isPrimary: boolean): void {\n this.nodes.set(id, { id, health: 1.0, load: 0, isPrimary, stateSize: 0 });\n }\n\n getAge(): number {\n return Date.now() - this.startTime;\n }\n\n simulateAge(durationMs: number): void {\n this.coherence = Math.max(0, this.coherence - 0.0001 * (durationMs / 1000));\n this.applyAgeEffects(this.getAge() + durationMs);\n }\n\n private applyAgeEffects(age: number): void {\n for (const threshold of this.ageThresholds) {\n if (age >= threshold.age) {\n for (const cap of threshold.removeCapabilities) {\n this.capabilities.delete(cap);\n }\n this.conservatism = Math.min(1, this.conservatism + threshold.conservatismIncrease);\n }\n }\n }\n\n hasCapability(cap: Capability): boolean {\n return this.capabilities.has(cap);\n }\n\n attemptOperation(operation: AgingSystemOperation): AgingOperationResult {\n const requiredCap = this.getRequiredCapability(operation);\n\n if (!this.hasCapability(requiredCap)) {\n return { type: 'systemTooOld', age: this.getAge(), capability: requiredCap };\n }\n\n if (this.coherence < this.getMinCoherence(operation)) {\n return { type: 'deniedByCoherence', coherence: this.coherence };\n }\n\n return { type: 'success', latencyPenalty: 1 + this.conservatism * 2 };\n }\n\n private getRequiredCapability(op: AgingSystemOperation): Capability {\n switch (op.type) {\n case 'read': return 'basicReads';\n case 'write': return 'acceptWrites';\n case 'complexQuery': return 'complexQueries';\n case 'addNode': return 'scaleOut';\n case 'removeNode': return 'scaleIn';\n case 'rebalance': return 'rebalancing';\n case 'migrateSchema': return 'schemaMigration';\n case 'newConnection': return 'newConnections';\n }\n }\n\n private getMinCoherence(op: AgingSystemOperation): Coherence {\n switch (op.type) {\n case 'read': return 0.1;\n case 'write': return 0.4;\n case 'complexQuery': return 0.5;\n case 'addNode': return 0.7;\n case 'removeNode': return 0.5;\n case 'rebalance': return 0.6;\n case 'migrateSchema': return 0.8;\n case 'newConnection': return 0.3;\n }\n }\n\n getCoherence(): Coherence {\n return this.coherence;\n }\n\n getActiveNodes(): number {\n return Array.from(this.nodes.values()).filter((n) => n.health > 0).length;\n }\n}\n\n/**\n * Coherent swarm intelligence system\n */\nexport class CoherentSwarm {\n private agents: Map<string, SwarmAgent> = new Map();\n private minCoherence: Coherence;\n private coherence: Coherence = 1.0;\n private bounds: SpatialBounds;\n private weights: CoherenceWeights;\n private maxDivergence: number = 50;\n\n constructor(minCoherence: Coherence = 0.6) {\n this.minCoherence = minCoherence;\n this.bounds = { minX: -100, maxX: 100, minY: -100, maxY: 100 };\n this.weights = { cohesion: 0.3, alignment: 0.3, goalConsistency: 0.2, energyBalance: 0.2 };\n }\n\n addAgent(id: string, position: [number, number]): void {\n this.agents.set(id, {\n id,\n position,\n velocity: [0, 0],\n goal: position,\n energy: 100,\n neighborCount: 0,\n });\n this.coherence = this.calculateCoherence();\n }\n\n private calculateCoherence(): Coherence {\n if (this.agents.size < 2) return 1.0;\n\n const cohesion = this.calculateCohesion();\n const alignment = this.calculateAlignment();\n\n return Math.max(0, Math.min(1, (cohesion * this.weights.cohesion + alignment * this.weights.alignment) /\n (this.weights.cohesion + this.weights.alignment)));\n }\n\n private calculateCohesion(): number {\n const centroid = this.getCentroid();\n let totalDistance = 0;\n\n for (const agent of this.agents.values()) {\n const dx = agent.position[0] - centroid[0];\n const dy = agent.position[1] - centroid[1];\n totalDistance += Math.sqrt(dx * dx + dy * dy);\n }\n\n const avgDistance = totalDistance / this.agents.size;\n return Math.max(0, 1 - avgDistance / this.maxDivergence);\n }\n\n private calculateAlignment(): number {\n if (this.agents.size < 2) return 1.0;\n // Simplified alignment calculation\n return 0.8;\n }\n\n getCentroid(): [number, number] {\n if (this.agents.size === 0) return [0, 0];\n\n let sumX = 0, sumY = 0;\n for (const agent of this.agents.values()) {\n sumX += agent.position[0];\n sumY += agent.position[1];\n }\n\n return [sumX / this.agents.size, sumY / this.agents.size];\n }\n\n executeAction(agentId: string, action: SwarmAction): SwarmActionResult {\n const agent = this.agents.get(agentId);\n if (!agent) {\n return { type: 'rejected', reason: `Agent ${agentId} not found` };\n }\n\n const predictedCoherence = this.predictCoherence(agentId, action);\n\n if (predictedCoherence < this.minCoherence) {\n return {\n type: 'rejected',\n reason: `Action would reduce coherence to ${predictedCoherence.toFixed(3)} (min: ${this.minCoherence.toFixed(3)})`,\n };\n }\n\n this.applyAction(agentId, action);\n this.coherence = this.calculateCoherence();\n\n return { type: 'executed' };\n }\n\n private predictCoherence(agentId: string, action: SwarmAction): Coherence {\n // Simplified prediction\n if (action.type === 'move') {\n const magnitude = Math.sqrt(action.dx * action.dx + action.dy * action.dy);\n return Math.max(0, this.coherence - magnitude * 0.01);\n }\n return this.coherence;\n }\n\n private applyAction(agentId: string, action: SwarmAction): void {\n const agent = this.agents.get(agentId);\n if (!agent) return;\n\n switch (action.type) {\n case 'move':\n agent.position[0] = Math.max(this.bounds.minX, Math.min(this.bounds.maxX, agent.position[0] + action.dx));\n agent.position[1] = Math.max(this.bounds.minY, Math.min(this.bounds.maxY, agent.position[1] + action.dy));\n break;\n case 'accelerate':\n agent.velocity[0] += action.dvx;\n agent.velocity[1] += action.dvy;\n break;\n case 'setGoal':\n agent.goal = [action.x, action.y];\n break;\n case 'idle':\n break;\n }\n }\n\n tick(): void {\n for (const agent of this.agents.values()) {\n agent.position[0] += agent.velocity[0];\n agent.position[1] += agent.velocity[1];\n agent.energy = Math.max(0, agent.energy - 0.1);\n }\n this.coherence = this.calculateCoherence();\n }\n\n getCoherence(): Coherence {\n return this.coherence;\n }\n}\n\n/**\n * Graceful shutdown system\n */\nexport class GracefulSystem {\n private state: GracefulSystemState = 'running';\n private coherence: Coherence = 1.0;\n private shutdownPreparation: number = 0;\n private resources: Resource[] = [];\n private hooks: ShutdownHook[] = [];\n\n addResource(name: string, priority: number): void {\n this.resources.push({ name, cleanupPriority: priority, isCleaned: false });\n }\n\n addShutdownHook(hook: ShutdownHook): void {\n this.hooks.push(hook);\n }\n\n canAcceptWork(): boolean {\n return (this.state === 'running' || this.state === 'degraded') && this.coherence >= 0.4;\n }\n\n async operate<T>(operation: () => T | Promise<T>): Promise<T> {\n if (this.state === 'terminated') {\n throw new Error('System terminated');\n }\n\n if (this.state === 'shuttingDown') {\n throw new Error('System shutting down');\n }\n\n const result = await operation();\n this.updateState();\n return result;\n }\n\n private updateState(): void {\n if (this.coherence >= 0.6) {\n if (this.shutdownPreparation < 0.5) {\n this.state = 'running';\n }\n } else if (this.coherence >= 0.4) {\n this.state = 'degraded';\n this.shutdownPreparation += 0.1 * (1 - this.coherence);\n } else if (this.coherence >= 0.2) {\n this.state = 'shuttingDown';\n } else {\n this.state = 'terminated';\n }\n }\n\n applyCoherenceChange(delta: number): void {\n this.coherence = Math.max(0, Math.min(1, this.coherence + delta));\n this.updateState();\n }\n\n async progressShutdown(): Promise<boolean> {\n if (this.state !== 'shuttingDown') return false;\n\n // Clean resources\n for (const resource of this.resources) {\n if (!resource.isCleaned) {\n resource.isCleaned = true;\n return true;\n }\n }\n\n // Execute hooks\n for (const hook of this.hooks.sort((a, b) => b.priority - a.priority)) {\n await hook.execute();\n }\n\n this.state = 'terminated';\n return true;\n }\n\n getState(): GracefulSystemState {\n return this.state;\n }\n\n getCoherence(): Coherence {\n return this.coherence;\n }\n}\n"]} |