{"ok":true,"checkedAt":"2026-07-17T20:52:56.781Z","contractVersion":"moral-trade-resource-compatibility-v0.1-2026-06","purpose":"Fail-closed resource-compatibility and joint-feasibility contract for non-public-goods Moral Trade previews, locks, clearing, payment, public metrics, and release gates.","validation":{"status":"pass","validatorName":"moral-trade-resource-compatibility-contract","validatorVersion":"moral-trade-resource-compatibility-validator-v0.1","contractVersion":"moral-trade-resource-compatibility-v0.1-2026-06","checks":[{"id":"first-class-records","label":"Contract names resource compatibility assessment records","status":"pass","evidence":"moral_trade_resource_compatibility_assessments"},{"id":"policy-snapshot-subject","label":"Contract names resource_compatibility policy snapshots","status":"pass","evidence":"resource_compatibility"},{"id":"subject-coverage","label":"Contract covers offset, pledge, lock, cleared agreement, compensated-action, negative-commitment, and side-agreement subjects","status":"pass","evidence":"offset_offer, pledge_swap_offer, matched_trade_lock_proposal, cleared_trade_agreement, compensated_action_terms, negative_commitment_scope, side_agreement_disclosure"},{"id":"conflict-coverage","label":"Contract covers mutually exclusive, incompatible, zero-sum, third-party, manual-review, and unknown conflict states","status":"pass","evidence":"none_disclosed, mutually_exclusive_resource, mutually_exclusive_action, incompatible_destination, incompatible_timing, zero_sum_control_claim, third_party_control_conflict, manual_review, unknown"},{"id":"transition-coverage","label":"Transitions guard lock, clearing, payment, public metrics, and release promotion","status":"pass","evidence":"draft_preview, match_candidate_generation, matched_trade_lock, clearing_run, payment_capture, public_metric_publication, release_gate_promotion"},{"id":"privacy-boundary","label":"Privacy boundary excludes private duties, resource claims, reviewer notes, and participant-specific rows","status":"pass","evidence":"Public surfaces may expose only coarse compatibility status categories, subject type, conflict class, and contract version. They must not expose participant identity hashes, private duties or constraints, private resource claims, reviewer notes, third-party control facts, raw side agreements, or participant-specific assessment rows."},{"id":"zero-sum-rule","label":"Zero-sum rule blocks shared scarce control claims and relabeled conflicts","status":"pass","evidence":"A trade cannot clear merely because each party likes some part of it when the asserted gain comes from both parties claiming the same scarce control right, blocking each other's action, incompatible timing or destination, or relabeling a zero-sum conflict as a compromise."},{"id":"sample-pass-and-block","label":"Sample evaluations include passing and blocked resource-compatibility paths","status":"pass","evidence":"clearing_run:pass, clearing_run:blocked"},{"id":"release-gate-test","label":"Contract advertises resource_compatibility_assessment_test","status":"pass","evidence":"resource_compatibility_assessment_test, resource_compatibility_contract_validator, resource_compatibility_zero_sum_conflict_blocks, resource_compatibility_privacy_boundary, resource_compatibility_route_contract, resource_compatibility_schema_contract"}],"blockers":[]},"publicContract":{"failClosedRule":"Non-public-goods trades need a first-class resource-compatibility assessment before proposed actions, donations, abstentions, destinations, timing, duties, or control claims can clear, lock, capture, count publicly, or promote release gates. Missing, stale, disputed, under-review, infeasible, mutually exclusive, zero-sum, third-party-control, unknown, or privacy-leaking assessments fail closed to preview/manual review.","privacyBoundary":"Public surfaces may expose only coarse compatibility status categories, subject type, conflict class, and contract version. They must not expose participant identity hashes, private duties or constraints, private resource claims, reviewer notes, third-party control facts, raw side agreements, or participant-specific assessment rows.","zeroSumConflictRule":"A trade cannot clear merely because each party likes some part of it when the asserted gain comes from both parties claiming the same scarce control right, blocking each other's action, incompatible timing or destination, or relabeling a zero-sum conflict as a compromise.","firstClassRecordTables":["moral_trade_resource_compatibility_assessments"],"policySnapshotSubjects":["resource_compatibility"],"subjectTypes":["offset_offer","pledge_swap_offer","matched_trade_lock_proposal","cleared_trade_agreement","compensated_action_terms","negative_commitment_scope","side_agreement_disclosure"],"conflictTypes":["none_disclosed","mutually_exclusive_resource","mutually_exclusive_action","incompatible_destination","incompatible_timing","zero_sum_control_claim","third_party_control_conflict","manual_review","unknown"],"jointFeasibilityStates":["feasible","feasible_with_conditions","under_review","infeasible_blocking","disputed","manual_review","superseded"],"hybridOrCompromiseGoodStates":["not_applicable","identified","unclear","blocked","manual_review"],"reviewStates":["not_required","under_review","non_blocking","blocked","manual_review","superseded"],"policyStatuses":["resolved_immutable","missing","mutable","stale","superseded"],"transitions":[{"key":"draft_preview","requiresAssessment":false,"requiresNonBlockingReview":false,"userFacingBlockerCategory":"Resource compatibility is preview-only until an assessment is reviewed"},{"key":"match_candidate_generation","requiresAssessment":true,"requiresNonBlockingReview":true,"userFacingBlockerCategory":"Candidate generation needs joint feasibility review before bucketed trades are matchable"},{"key":"matched_trade_lock","requiresAssessment":true,"requiresNonBlockingReview":true,"userFacingBlockerCategory":"Lock requires reviewed jointly feasible actions, destinations, timing, duties, and control claims"},{"key":"clearing_run","requiresAssessment":true,"requiresNonBlockingReview":true,"userFacingBlockerCategory":"Clearing cannot rely on mutually infeasible resources or zero-sum control claims"},{"key":"payment_capture","requiresAssessment":true,"requiresNonBlockingReview":true,"userFacingBlockerCategory":"Payment capture waits for non-blocking resource-compatibility review"},{"key":"public_metric_publication","requiresAssessment":true,"requiresNonBlockingReview":true,"userFacingBlockerCategory":"Public metrics cannot count trades that repackage zero-sum conflicts"},{"key":"release_gate_promotion","requiresAssessment":true,"requiresNonBlockingReview":true,"userFacingBlockerCategory":"Release promotion requires first-class resource-compatibility evidence"}],"resourceCompatibilitySampleEvaluationStatuses":{"clearing_run":"blocked"},"contractTests":["resource_compatibility_assessment_test","resource_compatibility_contract_validator","resource_compatibility_zero_sum_conflict_blocks","resource_compatibility_privacy_boundary","resource_compatibility_route_contract","resource_compatibility_schema_contract"]},"blockers":[]}