TIA / holo3d /ui /kernelReflex.ts
DJ-Goanna-Coding's picture
Upload folder using huggingface_hub
fa3ed75 verified
/**
* Citadel Kernel Reflex Layer
* Adjusts internal parameters (not decisions) to maintain stability,
* reduce drift, and smooth transitions across the entire orchestration stack.
* Non-rendering. Pure reflex logic.
*/
import { runKernelCycle, KernelSnapshot } from "./orchestrationKernel";
export interface ReflexParameters {
smoothingFactor: number; // 0–1
driftDamping: number; // 0–1
resonanceWeight: number; // 0–1
personaBlendSpeed: number; // 0–1
ambientAdaptivity: number; // 0–1
}
export interface ReflexState {
lastSnapshot: KernelSnapshot | null;
parameters: ReflexParameters;
cycles: number;
}
const reflexState: ReflexState = {
lastSnapshot: null,
parameters: {
smoothingFactor: 0.5,
driftDamping: 0.5,
resonanceWeight: 0.5,
personaBlendSpeed: 0.5,
ambientAdaptivity: 0.5,
},
cycles: 0,
};
export function runReflexCycle(): ReflexState {
const snapshot = runKernelCycle();
const drift = snapshot.supervisor.driftLevel;
const stability = snapshot.resonance.stability;
const resonance = snapshot.resonance.harmonicLevel;
// Reflex adjustments (safe, non-agentic)
reflexState.parameters.smoothingFactor = clamp(0.3 + stability * 0.5);
reflexState.parameters.driftDamping = clamp(0.4 + (1 - drift) * 0.5);
reflexState.parameters.resonanceWeight = clamp(0.3 + resonance * 0.6);
reflexState.parameters.personaBlendSpeed = clamp(0.2 + stability * 0.4);
reflexState.parameters.ambientAdaptivity = clamp(0.3 + resonance * 0.4);
reflexState.lastSnapshot = snapshot;
reflexState.cycles++;
return reflexState;
}
function clamp(v: number): number {
return Math.max(0, Math.min(1, v));
}
export async function startKernelReflex(intervalMs = 60000) {
console.log("=== Citadel Kernel Reflex Layer Activated ===");
while (true) {
const state = runReflexCycle();
console.log("\n[REFLEX] Cycle complete:");
console.log(`Smoothing: ${state.parameters.smoothingFactor}`);
console.log(`Drift Damping: ${state.parameters.driftDamping}`);
console.log(`Resonance Weight: ${state.parameters.resonanceWeight}`);
console.log(`Persona Blend Speed: ${state.parameters.personaBlendSpeed}`);
console.log(`Ambient Adaptivity: ${state.parameters.ambientAdaptivity}`);
await new Promise((resolve) => setTimeout(resolve, intervalMs));
}
}