{"ok":true,"checkedAt":"2026-07-17T20:54:01.195Z","contractVersion":"moral-trade-private-exchange-rate-v0.1-2026-06","purpose":"Fail-closed private exchange-rate quote contract for ratio bounds, side payments, counterpart volumes, and implied tradeoffs in donation-offset and pledge-swap proposals.","validation":{"status":"pass","validatorName":"moral-trade-private-exchange-rate-contract","validatorVersion":"moral-trade-private-exchange-rate-validator-v0.1","contractVersion":"moral-trade-private-exchange-rate-v0.1-2026-06","checks":[{"id":"first-class-record-table","label":"Contract names private exchange-rate quote records","status":"pass","evidence":"moral_trade_private_exchange_rate_quote_records"},{"id":"policy-snapshot-subject","label":"Contract names private_exchange_rate_quote policy snapshots","status":"pass","evidence":"private_exchange_rate_quote"},{"id":"subject-coverage","label":"Contract covers offers, lock proposals, cleared agreements, and bargaining rounds","status":"pass","evidence":"offset_offer, pledge_swap_offer, matched_trade_lock_proposal, cleared_trade_agreement, bargaining_round_record"},{"id":"quote-type-coverage","label":"Contract covers ratio bounds, side payments, counterpart volumes, action-money tradeoffs, effectiveness tradeoffs, and manual review","status":"pass","evidence":"clearing_ratio_bound, side_payment_bound, counterpart_volume_bound, action_money_tradeoff, empirical_effectiveness_tradeoff, manual_review"},{"id":"disclosure-boundary","label":"Contract limits disclosure to participants, reviewers, compatibility bands, or public suppression","status":"pass","evidence":"participant_only, reviewer_only, counterparty_band_only, public_suppressed"},{"id":"public-non-price-rule","label":"Contract forbids public moral exchange rates, cause prices, leaderboards, willingness-to-trade terms, and moral-value inference","status":"pass","evidence":"Public surfaces may say that a trade cleared within each participant's stated bounds, but must not publish a cause-price table, moral exchange-rate chart, leaderboard, platform-endorsed effectiveness comparison, exact participant willingness-to-trade term, or inferred moral value from private quote terms."},{"id":"transition-coverage","label":"Contract requires quote records for match, lock, clearing, capture, reliance, public metrics, and release promotion","status":"pass","evidence":"match_candidate_generation, matched_trade_lock, clearing_run, payment_capture, reliance, public_metric_publication, release_gate_promotion"},{"id":"sample-evaluations","label":"Contract includes pass and public-price blocked samples","status":"pass","evidence":"matched_trade_lock:pass, public_metric_publication:blocked"},{"id":"contract-tests","label":"Contract lists private-exchange-rate quote test hook","status":"pass","evidence":"private_exchange_rate_quote_test, private_exchange_rate_contract_validator, private_exchange_rate_public_price_blocks, private_exchange_rate_affected_participant_coverage_test, private_exchange_rate_route_contract, private_exchange_rate_schema_contract"}],"blockers":[]},"publicContract":{"failClosedRule":"Donation-offset and pledge-swap matching, lock, clearing, capture, reliance, public metrics, and release promotion fail closed when affected participants' private exchange-rate quote records are missing, policy-mutable, stale, inactive, unreviewed, hash-invalid, overbroadly disclosed, or used to publish cause prices, global moral exchange rates, public effectiveness comparisons, exact willingness-to-trade terms, or inferred moral values.","publicNonPriceRule":"Public surfaces may say that a trade cleared within each participant's stated bounds, but must not publish a cause-price table, moral exchange-rate chart, leaderboard, platform-endorsed effectiveness comparison, exact participant willingness-to-trade term, or inferred moral value from private quote terms.","privacyBoundary":"Participants may see their own implied tradeoff and final ratio-bounds result. Counterparties and public pages receive only privacy-safe compatibility bands unless a narrower disclosure is explicitly granted; raw private quote terms, exact caps, reviewer notes, and participant identity hashes stay private.","affectedParticipantCoverageRule":"Any clearing ratio, side payment, counterpart volume, or implied cause tradeoff must be backed by private exchange-rate quote records from every affected participant before it can support matching, lock, capture, reliance, public metrics, or release promotion.","firstClassRecordTables":["moral_trade_private_exchange_rate_quote_records"],"policySnapshotSubjects":["private_exchange_rate_quote"],"subjectTypes":["offset_offer","pledge_swap_offer","matched_trade_lock_proposal","cleared_trade_agreement","bargaining_round_record"],"quoteTypes":["clearing_ratio_bound","side_payment_bound","counterpart_volume_bound","action_money_tradeoff","empirical_effectiveness_tradeoff","manual_review"],"disclosureScopes":["participant_only","reviewer_only","counterparty_band_only","public_suppressed"],"quoteStates":["draft","active","locked","expired","superseded","withdrawn"],"policyStatuses":["resolved_immutable","missing","mutable","stale","superseded"],"transitions":[{"key":"draft_preview","requiresQuoteRecord":false,"requiresActiveQuote":false,"userFacingBlockerCategory":"Private exchange-rate quotes are preview-only until participant-owned willingness-to-trade terms are hashed and reviewed"},{"key":"match_candidate_generation","requiresQuoteRecord":true,"requiresActiveQuote":true,"userFacingBlockerCategory":"Matching waits for affected participants' private quote records and privacy-safe compatibility bands"},{"key":"matched_trade_lock","requiresQuoteRecord":true,"requiresActiveQuote":true,"userFacingBlockerCategory":"Lock requires private ratio, side-payment, or counterpart-volume quote records without public moral-price leakage"},{"key":"clearing_run","requiresQuoteRecord":true,"requiresActiveQuote":true,"userFacingBlockerCategory":"Clearing cannot use participant willingness-to-trade terms as public cause prices or global exchange rates"},{"key":"payment_capture","requiresQuoteRecord":true,"requiresActiveQuote":true,"userFacingBlockerCategory":"Payment capture cannot rely on public-price, global-rate, or private-cap-leaking quote records"},{"key":"reliance","requiresQuoteRecord":true,"requiresActiveQuote":true,"userFacingBlockerCategory":"Reliance-bearing states require private quote records that disclose at most compatibility bands"},{"key":"public_metric_publication","requiresQuoteRecord":true,"requiresActiveQuote":true,"userFacingBlockerCategory":"Public metrics may say trades cleared within participant bounds but cannot publish cause prices, moral exchange rates, or willingness-to-trade terms"},{"key":"release_gate_promotion","requiresQuoteRecord":true,"requiresActiveQuote":true,"userFacingBlockerCategory":"Release promotion requires private exchange-rate quote evidence and suppression of public moral-price claims"}],"privateExchangeRateSampleEvaluationStatuses":{"matched_trade_lock":"pass","public_metric_publication":"blocked"},"contractTests":["private_exchange_rate_quote_test","private_exchange_rate_contract_validator","private_exchange_rate_public_price_blocks","private_exchange_rate_affected_participant_coverage_test","private_exchange_rate_route_contract","private_exchange_rate_schema_contract"]},"blockers":[]}