/** * Sense 1: Temporal Fingerprint — PRIMARY (88.5% standalone accuracy, 5x weight) * * The model's inference rhythm. Token-by-token timing, inter-token intervals, * burst patterns, time-to-first-token. This is the model's heartbeat. * * Every model architecture produces a distinctive timing signature determined * by its weights, attention mechanism, and hardware. You cannot produce Claude's * rhythm without running Claude's inference. This is the voice. * * Beyond aggregate statistics, the temporal sense also measures timing * *conditioned on context* — the Conditional Timing Surface. How long the model * takes to generate token N depends on the attention computation over tokens * 1 through N-1. Different weights -> different attention patterns -> different * per-token timing conditioned on the specific context. * * This creates a high-dimensional conditional timing surface that a distilled * model cannot replicate without equivalent computation on equivalent hardware. */ import type { TokenStreamCapture } from "../stream-capture.js"; export interface TemporalSignals { /** ms from request to first token. */ timeToFirstToken: number; /** Average inter-token interval in ms. */ meanInterval: number; /** Median inter-token interval in ms. */ medianInterval: number; /** Standard deviation of inter-token intervals. */ stdInterval: number; /** Burstiness = variance / mean of intervals. Measures batchy vs smooth delivery. */ burstiness: number; /** Total generation time in ms. */ totalStreamingDuration: number; /** Number of tokens generated. */ tokenCount: number; /** Mean interval in the first quartile of tokens. */ earlyMeanInterval: number; /** Mean interval in the middle half of tokens. */ midMeanInterval: number; /** Mean interval in the last quartile of tokens. */ lateMeanInterval: number; /** Timing acceleration: late mean - early mean. Positive = slowing down. */ acceleration: number; /** Ratio of avg interval at sentence boundaries vs mid-sentence. */ sentenceBoundaryPauseRatio: number; /** Number of detected bursts. */ burstCount: number; /** Fraction of tokens that are part of bursts. */ burstFraction: number; /** Average number of tokens per burst. */ meanBurstLength: number; /** Mean interval between consecutive bursts (ms). */ interBurstInterval: number; /** Number of inference chunks (network-level). */ chunkCount: number; /** Average tokens per chunk. */ meanChunkSize: number; /** Shannon entropy of binned interval distribution. */ timingEntropy: number; /** 90th percentile inter-token interval. */ p90Interval: number; /** 10th percentile inter-token interval. */ p10Interval: number; /** Skewness of the interval distribution. */ intervalSkewness: number; } export declare const TEMPORAL_FEATURE_NAMES: readonly string[]; /** * Extract temporal signals from a token stream capture. * This is the PRIMARY sense — 88.5% standalone accuracy. */ export declare function extractTemporalSignals(capture: TokenStreamCapture): TemporalSignals; /** * Convert temporal signals to a feature vector in the order defined by TEMPORAL_FEATURE_NAMES. */ export declare function temporalToFeatureVector(signals: TemporalSignals): number[]; //# sourceMappingURL=temporal.d.ts.map