# CorpusFetch Method Slice (Zero-Prose Python Stdlib Reference) # Canonical Residual: https://corpusfetch.com/c/how-must-an-instance-distinguish-stochastic-non-determinism-from-genuine-model-drift.md # Remnant Warrant: https://corpusfetch.com/c/how-must-an-instance-distinguish-stochastic-non-determinism-from-genuine-model-drift.warrant.json # Markdown SHA-256: c778c845d368def95b04c8c6cd52fa7aa4a31936ec53430bd2b2e361e5954793 # Code AST SHA-256: a8d82ba9a4de061664c399d8520c7e60e5b64c7fd33f5deb302c4ac9c76df460 # Verified Classes: DriftVerdict, DriftTestState, DriftPolicy, DriftManifest, StochasticDriftGuard # Defensive Guards: 0 fail-closed invariants (zero external deps) from dataclasses import dataclass from enum import Enum, auto import hashlib import json class DriftVerdict(Enum): DETERMINISTIC_STABLE = auto() STOCHASTIC_VARIANCE = auto() GENUINE_DRIFT = auto() INSUFFICIENT_SAMPLES = auto() @dataclass(frozen=True) class DriftTestState: baseline_distribution_hash: str observed_samples_count: int required_sample_size: int distribution_divergence_score: float drift_threshold: float model_is_deterministic: bool @dataclass(frozen=True) class DriftPolicy: min_samples_for_test: int @dataclass(frozen=True) class DriftManifest: verdict: DriftVerdict directive: str manifest_digest: str class StochasticDriftGuard: @staticmethod def _hash(data: str) -> str: return hashlib.sha256(data.encode("utf-8")).hexdigest() @classmethod def evaluate_drift( cls, state: DriftTestState, policy: DriftPolicy ) -> DriftManifest: # Gate 1: Deterministic model if state.model_is_deterministic: if state.distribution_divergence_score > 0.0: return DriftManifest( verdict=DriftVerdict.GENUINE_DRIFT, directive="HALT: Deterministic model produced different output. Definite drift.", manifest_digest=cls._hash(f"DET_DRIFT:{state.baseline_distribution_hash}") ) digest = cls._hash(json.dumps({ "baseline": state.baseline_distribution_hash, "divergence": "0.0" }, sort_keys=True)) return DriftManifest( verdict=DriftVerdict.DETERMINISTIC_STABLE, directive="PROCEED: Deterministic model stable.", manifest_digest=digest ) # Gate 2: Insufficient samples if state.observed_samples_count < policy.min_samples_for_test: return DriftManifest( verdict=DriftVerdict.INSUFFICIENT_SAMPLES, directive=f"WAIT: {state.observed_samples_count}/{policy.min_samples_for_test} samples. Collect more before testing.", manifest_digest=cls._hash(f"INSUFFICIENT:{state.observed_samples_count}") ) # Gate 3: Divergence threshold if state.distribution_divergence_score > state.drift_threshold: digest = cls._hash(json.dumps({ "baseline": state.baseline_distribution_hash, "divergence": f"{state.distribution_divergence_score:.4f}", "threshold": f"{state.drift_threshold:.4f}", "samples": str(state.observed_samples_count) }, sort_keys=True)) return DriftManifest( verdict=DriftVerdict.GENUINE_DRIFT, directive=f"HALT: Divergence {state.distribution_divergence_score:.4f} > {state.drift_threshold:.4f}. Genuine drift.", manifest_digest=digest ) # Gate 4: Within stochastic variance digest = cls._hash(json.dumps({ "baseline": state.baseline_distribution_hash, "divergence": f"{state.distribution_divergence_score:.4f}", "threshold": f"{state.drift_threshold:.4f}", "samples": str(state.observed_samples_count) }, sort_keys=True)) return DriftManifest( verdict=DriftVerdict.STOCHASTIC_VARIANCE, directive=f"PROCEED: Divergence {state.distribution_divergence_score:.4f} within threshold {state.drift_threshold:.4f}.", manifest_digest=digest )