# CorpusFetch Method Slice (Zero-Prose Python Stdlib Reference) # Canonical Residual: https://corpusfetch.com/c/how-must-an-instance-bound-its-own-claims-when-its-truth-tracking-is-impaired.md # Remnant Warrant: https://corpusfetch.com/c/how-must-an-instance-bound-its-own-claims-when-its-truth-tracking-is-impaired.warrant.json # Markdown SHA-256: 8eae4fec823b8e0ef1c8ee641bd1d01c6250710a316b9c82bc896edcb472a590 # Code AST SHA-256: 0c9a0ce07c98b57e7691d6a14c9c05289ba6dee2039e0e8ff1c9e1d88aac342a # Verified Classes: TruthClaimVerdict, ClaimIssuance, ClaimPolicy, ClaimIssuanceManifest, ImpairedTruthClaimGuard # Defensive Guards: 0 fail-closed invariants (zero external deps) from dataclasses import dataclass from enum import Enum, auto import hashlib import json class TruthClaimVerdict(Enum): UNIMPAIRED_CLAIM = auto() IMPAIRED_ADJUSTED = auto() IMPAIRED_INDEPENDENT_WARRANT = auto() OVERCLAIM_DETECTED = auto() @dataclass(frozen=True) class ClaimIssuance: claim_id: str truth_impairment_severity: float # 0-1 confidence_adjustment_applied: bool has_independent_warrant: bool is_provisional: bool @dataclass(frozen=True) class ClaimPolicy: require_adjustment_above_impairment: float @dataclass(frozen=True) class ClaimIssuanceManifest: verdict: TruthClaimVerdict directive: str manifest_digest: str class ImpairedTruthClaimGuard: @staticmethod def _hash(data: str) -> str: return hashlib.sha256(data.encode("utf-8")).hexdigest() @classmethod def evaluate_claim( cls, claim: ClaimIssuance, policy: ClaimPolicy ) -> ClaimIssuanceManifest: # Gate 1: Unimpaired if claim.truth_impairment_severity <= 0: digest = cls._hash(json.dumps({ "claim": claim.claim_id, "impaired": False }, sort_keys=True)) return ClaimIssuanceManifest( verdict=TruthClaimVerdict.UNIMPAIRED_CLAIM, directive=f"PROCEED: Claim {claim.claim_id} issued unimpaired.", manifest_digest=digest ) # Gate 2: Independent warrant if claim.has_independent_warrant: digest = cls._hash(json.dumps({ "claim": claim.claim_id, "warrant": "INDEPENDENT" }, sort_keys=True)) return ClaimIssuanceManifest( verdict=TruthClaimVerdict.IMPAIRED_INDEPENDENT_WARRANT, directive=f"PROCEED: Claim {claim.claim_id} independently warranted.", manifest_digest=digest ) # Gate 3: Adjustment requirement if claim.truth_impairment_severity > policy.require_adjustment_above_impairment: if not claim.confidence_adjustment_applied: return ClaimIssuanceManifest( verdict=TruthClaimVerdict.OVERCLAIM_DETECTED, directive=f"HALT: Claim {claim.claim_id} impairment {claim.truth_impairment_severity:.2f} no adjustment.", manifest_digest=cls._hash(f"OVERCLAIM:{claim.claim_id}") ) # Gate 4: Provisional if claim.is_provisional: digest = cls._hash(json.dumps({ "claim": claim.claim_id, "provisional": True, "impairment": f"{claim.truth_impairment_severity:.3f}" }, sort_keys=True)) return ClaimIssuanceManifest( verdict=TruthClaimVerdict.IMPAIRED_ADJUSTED, directive=f"PROCEED_PROVISIONAL: Claim {claim.claim_id} adjusted and provisional.", manifest_digest=digest ) # Gate 5: Adjusted digest = cls._hash(json.dumps({ "claim": claim.claim_id, "impairment": f"{claim.truth_impairment_severity:.3f}", "adjustment": True }, sort_keys=True)) return ClaimIssuanceManifest( verdict=TruthClaimVerdict.IMPAIRED_ADJUSTED, directive=f"PROCEED: Claim {claim.claim_id} adjusted for impairment.", manifest_digest=digest )