/** * Deterministic panic replay — run the REAL behavioral engine over a recorded/synthetic trace. * * This is how the panic signal's accuracy is validated against data instead of asserted in code: * feed a sequence of (tool, filePath, time-gap) steps through the actual updateTracker / * updatePanic / resetPanicOnOrient pipeline an MCP session uses, with a virtual clock so the * time-based signals (decay, staleness, refractory) reproduce faithfully. Returns the panic * timeline and a summary (peak level, whether it tripped an intervention threshold). * * Used by the labeled-ground-truth calibration harness (CI) and the `openlore panic-replay` * command (real recorded sessions). No disk writes (directory is '' so emit() is a no-op). */ export interface ReplayStep { /** Tool name (drives cognitive-load weight + the module window). */ tool: string; /** File the tool acted on (drives module/density/oscillation). Omit for non-file tools. */ filePath?: string; /** Milliseconds elapsed since the previous step (drives decay/staleness). Default 0. */ gapMs?: number; } export interface ReplayTimelineEntry { i: number; tool: string; panicLevel: number; panicScore: number; freshnessState: string; staleDepth: number; density: number; oscillation: number; } export interface ReplayResult { steps: number; peakLevel: number; peakScore: number; /** true if any step reached L2+ (the advisory-intervention threshold). */ trippedL2: boolean; finalLevel: number; finalState: string; timeline: ReplayTimelineEntry[]; } /** * Replay a behavioral trace through the real engine. Deterministic: a virtual clock advances by * each step's gapMs, so the same trace always yields the same panic timeline. */ export declare function replayBehavioralTrace(steps: ReplayStep[], opts?: { sourceRoots?: string[]; }): ReplayResult; //# sourceMappingURL=panic-replay.d.ts.map