/** * ProvenanceTracker — Wraps solver execution with automatic provenance capture. * * Records every simulation run as an immutable SimulationRun record. * Supports replay verification (run twice, compare results for determinism). */ import { type SimulationRun, type SimulationRunConfig, type SimulationRunResult, type RunComparison } from './SimulationRun'; export declare class ProvenanceTracker { private runs; private softwareVersion; private commitHash?; constructor(softwareVersion: string, commitHash?: string); /** * Track a solver execution. Wraps the solver call with timing * and produces a SimulationRun record. * * @param config Solver configuration * @param execute Function that runs the solver and returns results * @returns The SimulationRun record */ track(config: SimulationRunConfig, execute: () => SimulationRunResult): SimulationRun; /** * Get all recorded runs. */ getRuns(): readonly SimulationRun[]; /** * Get the most recent run. */ getLastRun(): SimulationRun | undefined; /** * Compare the two most recent runs for determinism verification. */ compareLast(tolerance?: number): RunComparison | undefined; /** * Verify determinism: run the same solver twice and compare results. * Returns true if both runs produce identical results within tolerance. */ verifyDeterminism(config: SimulationRunConfig, execute: () => SimulationRunResult, tolerance?: number): { deterministic: boolean; comparison: RunComparison; }; /** * Clear all recorded runs. */ clear(): void; /** * Export all runs as JSON (for archival). */ exportJSON(): string; } //# sourceMappingURL=ProvenanceTracker.d.ts.map