/** * Metrics collection for AWP experiments. * * Tracks tokens, success rates, reputation changes, and other experiment metrics. */ import type { CycleMetrics, CycleResult, ExperimentResult, AgentReputation, TaskResult, ManifestoConfig } from "./types.js"; /** * Snapshot of metrics at a point in time. */ export interface MetricsSnapshot { timestamp: string; cycleNumber: number; metrics: CycleMetrics; reputations: Record; } /** * Collects and aggregates metrics during experiment execution. */ export declare class MetricsCollector { private snapshots; private currentCycle; private startedAt; /** Task execution records for current cycle */ private currentTasks; /** Reputation snapshots at start of current cycle */ private previousReputations; /** Current reputations */ private currentReputations; /** Detected anti-patterns this cycle */ private antiPatterns; /** * Start a new experiment. */ startExperiment(): void; /** * Start a new cycle. */ startCycle(reputations: Record): void; /** * Reset cycle-specific state. */ private resetCycle; /** * Record a task execution. */ recordTask(contractId: string, agentId: string, result: TaskResult): void; /** * Record an anti-pattern detection. */ recordAntiPattern(patternId: string, agentId: string, penalty: number): void; /** * Update reputation snapshot. */ updateReputation(agentId: string, reputation: AgentReputation): void; /** * Compute reputation changes for the current cycle. */ private computeReputationChanges; /** * Complete the current cycle and generate a CycleResult. */ completeCycle(contractsCreated: string[]): CycleResult; /** * Take a snapshot of current metrics. */ snapshot(): void; /** * Get all snapshots. */ getSnapshots(): MetricsSnapshot[]; /** * Summarize the experiment results. */ summarize(experimentId: string, manifestoId: string, societyId: string, cycles: CycleResult[], manifesto?: ManifestoConfig): ExperimentResult; /** * Compute trust stability metric (low variance in reputation changes). */ private computeTrustStability; } //# sourceMappingURL=metrics.d.ts.map