3.4 KiB
3.4 KiB
Proof Replay / Deterministic Verdict Replay
Module
Policy
Status
IMPLEMENTED
Description
Full replay service with a dedicated module, determinism verifier, run manifests, and extensive E2E tests that verify byte-identical verdict replay across runs.
Implementation Details
- ReplayEngine:
src/Policy/__Libraries/StellaOps.Policy/Replay/ReplayEngine.cs(sealed class implementsIReplayEngine)ReplayAsync(ReplayRequest)replays policy evaluation with frozen snapshot inputs- Pipeline: load snapshot -> resolve frozen inputs -> execute with frozen inputs -> compare with original -> generate delta report
- Uses
ISnapshotServicefor snapshot loading,IKnowledgeSourceResolverfor input resolution,IVerdictComparerfor comparison - Returns
ReplayResultwith MatchStatus, ReplayedVerdict, OriginalVerdict, DeltaReport, Duration
- ReplayRequest:
src/Policy/__Libraries/StellaOps.Policy/Replay/ReplayRequest.cs(sealed record)- ArtifactDigest, SnapshotId, OriginalVerdictId (optional, for comparison)
- ReplayOptions: CompareWithOriginal (default true), AllowNetworkFetch (default false), GenerateDetailedReport (default true), ScoreTolerance (default 0.001)
- ReplayResult:
src/Policy/__Libraries/StellaOps.Policy/Replay/ReplayResult.cs(sealed record)- ReplayMatchStatus: ExactMatch, MatchWithinTolerance, Mismatch, NoComparison, ReplayFailed
- ReplayedVerdict: VerdictId, ArtifactDigest, Decision (Pass/Fail/PassWithExceptions/Indeterminate), Score, FindingIds, KnowledgeSnapshotId
- ReplayDeltaReport: Summary, FieldDeltas (FieldName, OriginalValue, ReplayedValue), FindingDeltas (FindingId, DeltaType, Description), SuspectedCauses
- VerdictComparer:
src/Policy/__Libraries/StellaOps.Policy/Replay/VerdictComparer.cs-- compares replayed vs original verdicts with tolerance - ReplayReport:
src/Policy/__Libraries/StellaOps.Policy/Replay/ReplayReport.cs-- detailed replay report generation - KnowledgeSourceResolver:
src/Policy/__Libraries/StellaOps.Policy/Replay/KnowledgeSourceResolver.cs-- resolves snapshot sources to frozen data - KnowledgeSnapshotManifest:
src/Policy/__Libraries/StellaOps.Policy/Snapshots/KnowledgeSnapshotManifest.cs-- content-addressed snapshot used as replay input - SnapshotAwarePolicyEvaluator:
src/Policy/__Libraries/StellaOps.Policy/Snapshots/SnapshotAwarePolicyEvaluator.cs-- evaluates using pinned snapshot inputs
E2E Test Plan
- Replay verdict with same snapshot; verify MatchStatus=ExactMatch (deterministic evaluation)
- Replay verdict with OriginalVerdictId; verify OriginalVerdict is loaded and compared
- Replay with CompareWithOriginal=false; verify MatchStatus=NoComparison, no OriginalVerdict
- Replay with missing snapshot; verify MatchStatus=ReplayFailed, DeltaReport contains error
- Replay with incomplete snapshot (missing source); verify ReplayFailed with missing source names
- Replay with score difference within ScoreTolerance=0.001; verify MatchStatus=MatchWithinTolerance
- Replay with score difference exceeding tolerance; verify MatchStatus=Mismatch with FieldDeltas
- Replay with finding difference; verify DeltaReport.FindingDeltas contains Added/Removed/Modified entries
- Replay with GenerateDetailedReport=true; verify DeltaReport.SuspectedCauses is populated
- Verify AllowNetworkFetch=false prevents network access for missing sources
- Verify replay Duration is recorded in result