Files
git.stella-ops.org/docs/features/unchecked/policy/unknowns-grey-queue-with-conflict-detection-and-reanalysis-fingerprints.md

2.8 KiB

Unknowns Grey Queue with Conflict Detection and Reanalysis Fingerprints

Module

Policy

Status

IMPLEMENTED

Description

Deterministic reanalysis fingerprints, conflict detection routing (VEX/reachability contradiction, static/runtime contradiction, VEX status conflict), grey queue with Disputed state and manual adjudication gates, versioned signal event handling.

Implementation Details

  • UnknownRanker: src/Policy/__Libraries/StellaOps.Policy.Unknowns/Services/UnknownRanker.cs
    • Reason codes for conflict detection: VexConflict (conflicting VEX claims), Reachability (unknown reachability), Identity (unknown identity), Provenance (unknown provenance)
    • Uncertainty factor: Conflicting signals +0.20 to uncertainty score
    • Stale evidence +0.10 to uncertainty score
  • K4Lattice conflict detection: src/Policy/__Libraries/StellaOps.Policy/TrustLattice/K4Lattice.cs
    • K4Value.Conflict (value=3) when True join False occurs
    • Conflict detection in lattice evaluation routes to grey queue
  • TrustLatticeEngine: src/Policy/__Libraries/StellaOps.Policy/TrustLattice/TrustLatticeEngine.cs
    • Pipeline detects conflicts during VEX normalization and claim ingestion
    • Conflicting claims flagged for manual adjudication
  • ClaimScoreMerger: src/Policy/__Libraries/StellaOps.Policy/TrustLattice/ClaimScoreMerger.cs
    • ConflictPenalizer applies 0.25 penalty to conflicting claims
    • RequiresReplayProof flag set when conflicts detected
    • Deterministic merge ordering ensures reproducible conflict resolution
  • DeterminizationGate: src/Policy/StellaOps.Policy.Engine/Gates/Determinization/DeterminizationGate.cs
    • Gates using DecayedConfidenceCalculator for stale signal detection
    • Reanalysis triggering based on confidence decay below threshold
  • ObservationDecay: src/Policy/__Libraries/StellaOps.Policy.Determinization/Models/ObservationDecay.cs
    • Reanalysis fingerprint: ObservedAt + RefreshedAt + HalfLifeDays + DecayedMultiplier
    • CheckIsStale(now) triggers reanalysis when decay below StalenessThreshold

E2E Test Plan

  • Ingest conflicting VEX claims (True + False for same subject); verify K4 Conflict state detected
  • Verify conflicting claims route to grey queue with Disputed state
  • Verify ConflictPenalizer applies 0.25 penalty to conflicting claims
  • Verify RequiresReplayProof=true when conflicts detected
  • Verify UnknownRanker adds +0.20 uncertainty for VexConflict reason code
  • Detect stale reachability evidence; verify reanalysis triggered (ObservationDecay.CheckIsStale)
  • Verify reanalysis fingerprint is deterministic: same inputs produce same fingerprint
  • Verify versioned signal events: newer signal supersedes older signal
  • Verify manual adjudication gate prevents automated resolution of Disputed unknowns
  • Verify stale evidence adds +0.10 to uncertainty in UnknownRanker