{"ok":true,"checkedAt":"2026-07-17T20:52:42.166Z","contractVersion":"moral-trade-offer-validity-v0.1-2026-06","purpose":"Fail-closed offer-validity contract for donation-offset and pledge-swap offers, lock proposals, cleared agreements, seed templates, and worked examples.","validation":{"status":"pass","validatorName":"moral-trade-offer-validity-contract","validatorVersion":"moral-trade-offer-validity-validator-v0.1","contractVersion":"moral-trade-offer-validity-v0.1-2026-06","checks":[{"id":"first-class-record-table","label":"Contract names offer-validity records","status":"pass","evidence":"moral_trade_offer_validity_records"},{"id":"policy-snapshot-subject","label":"Contract names offer_validity policy snapshots","status":"pass","evidence":"offer_validity"},{"id":"subject-coverage","label":"Contract covers offers, lock proposals, cleared agreements, seed templates, and worked examples","status":"pass","evidence":"offset_offer, pledge_swap_offer, matched_trade_lock_proposal, cleared_trade_agreement, seed_template, worked_example"},{"id":"stale-reason-coverage","label":"Contract covers stale baseline, terms, assumptions, evidence, payment, jurisdiction, destination, counterparty, expiry, and renewal blockers","status":"pass","evidence":"baseline_snapshot_stale, terms_snapshot_stale, empirical_assumption_stale, evidence_standard_stale, payment_method_stale, jurisdiction_stale, recipient_destination_stale, counterparty_bucket_stale, validity_window_expired, renewal_confirmation_missing"},{"id":"transition-coverage","label":"Contract requires active validity for live, match, lock, capture, reliance, public completion, and release promotion","status":"pass","evidence":"draft_preview, live_offer_publication, match_candidate_generation, matched_trade_lock, payment_capture, reliance, public_completion_count, release_gate_promotion"},{"id":"validity-window-rule","label":"Validity-window rule requires renewed preview and confirmation for stale or expired inputs","status":"pass","evidence":"Counterfactual trust decays over time. Stale or expired baselines, empirical assumptions, evidence standards, payment methods, jurisdictions, destinations, or counterparty buckets require renewed preview and renewed participant confirmation before matching, lock, capture, reliance, public completion, or release promotion."},{"id":"sample-evaluations","label":"Sample evaluations include passing and blocked offer-validity paths","status":"pass","evidence":"pass, blocked"},{"id":"contract-tests","label":"Contract advertises offer_validity_record_test","status":"pass","evidence":"offer_validity_record_test, offer_validity_contract_validator, offer_validity_stale_or_expired_blocks, offer_validity_renewal_confirmation_test, offer_validity_route_contract, offer_validity_schema_contract"}],"blockers":[]},"publicContract":{"failClosedRule":"Donation-offset and pledge-swap offers cannot become live, matchable, locked, captured, reliance-bearing, publicly counted, or release-promoted when the offer-validity record is missing, policy-mutable, stale, expired, withdrawn, superseded, blocked, hash-invalid, missing renewal confirmation, or missing baseline, terms, empirical-assumption, evidence-standard, jurisdiction, recipient, destination, or counterparty-bucket freshness inputs.","validityWindowRule":"Counterfactual trust decays over time. Stale or expired baselines, empirical assumptions, evidence standards, payment methods, jurisdictions, destinations, or counterparty buckets require renewed preview and renewed participant confirmation before matching, lock, capture, reliance, public completion, or release promotion.","firstClassRecordTables":["moral_trade_offer_validity_records"],"policySnapshotSubjects":["offer_validity"],"subjectTypes":["offset_offer","pledge_swap_offer","matched_trade_lock_proposal","cleared_trade_agreement","seed_template","worked_example"],"validityStates":["draft","valid","stale","expired","renewed","withdrawn","superseded","blocked"],"policyStatuses":["resolved_immutable","missing","mutable","stale","superseded"],"staleReasonCodes":["baseline_snapshot_stale","terms_snapshot_stale","empirical_assumption_stale","evidence_standard_stale","payment_method_stale","jurisdiction_stale","recipient_destination_stale","counterparty_bucket_stale","validity_window_expired","renewal_confirmation_missing"],"transitions":[{"key":"draft_preview","requiresValidityRecord":false,"requiresActiveValidity":false,"userFacingBlockerCategory":"Offer validity is preview-only until baseline, terms, evidence, jurisdiction, destination, and counterparty freshness are recorded"},{"key":"live_offer_publication","requiresValidityRecord":true,"requiresActiveValidity":true,"userFacingBlockerCategory":"Live offers need a non-expired validity record before they can be shown as matchable"},{"key":"match_candidate_generation","requiresValidityRecord":true,"requiresActiveValidity":true,"userFacingBlockerCategory":"Matching waits for current baseline, terms, evidence standard, jurisdiction, destination, and counterparty-bucket freshness"},{"key":"matched_trade_lock","requiresValidityRecord":true,"requiresActiveValidity":true,"userFacingBlockerCategory":"Lock requires a current offer or renewed confirmation against a fresh preview"},{"key":"payment_capture","requiresValidityRecord":true,"requiresActiveValidity":true,"userFacingBlockerCategory":"Payment capture cannot rely on stale payment, jurisdiction, destination, evidence, or baseline terms"},{"key":"reliance","requiresValidityRecord":true,"requiresActiveValidity":true,"userFacingBlockerCategory":"Reliance-bearing states require a non-stale validity record"},{"key":"public_completion_count","requiresValidityRecord":true,"requiresActiveValidity":true,"userFacingBlockerCategory":"Public completion cannot count stale or expired non-public-goods offers"},{"key":"release_gate_promotion","requiresValidityRecord":true,"requiresActiveValidity":true,"userFacingBlockerCategory":"Release promotion requires current offer-validity evidence"}],"offerValiditySampleEvaluationStatuses":{"matched_trade_lock":"pass","payment_capture":"blocked"},"contractTests":["offer_validity_record_test","offer_validity_contract_validator","offer_validity_stale_or_expired_blocks","offer_validity_renewal_confirmation_test","offer_validity_route_contract","offer_validity_schema_contract"]},"blockers":[]}