{"ok":true,"checkedAt":"2026-06-02T19:13:53.402Z","contractVersion":"moral-trade-review-workflow-v0.2-2026-06","purpose":"Public contract for the review workflow cards shown on offer detail pages, worked examples, marketplace cards, and homepage preview cards.","validation":{"status":"pass","validatorName":"moral-trade-review-workflow-contract","validatorVersion":"moral-trade-review-workflow-validator-v0.2","contractVersion":"moral-trade-review-workflow-v0.2-2026-06","checks":[{"id":"card-key-coverage","label":"Detail card contract covers every rendered workflow card","status":"pass","evidence":"current_status, action_evidence, baseline_confidence, externality_review, participant_relative_scores, appeal_scope -> current_status, action_evidence, baseline_confidence, externality_review, participant_relative_scores, appeal_scope"},{"id":"status-reason-coverage","label":"Every detail and marketplace card exposes a structured status reason","status":"pass","evidence":"current_status.human_review=human review: the visible status is still a review state, not completion, custody, enforceability, or moral endorsement. | action_evidence.pass=pass: a named proof method and clear evidence locator are present for reviewer inspection. | baseline_confidence.pass=pass: the baseline is stated with enough support to enter counterfactual review. | externality_review.human_review=human review: the mode or causes can affect third parties, incentives, or unrepresented values. | participant_relative_scores.pass=pass: scores are bounded as participant-stated context, not platform ranking. | appeal_scope.human_review=human review: appeals require reviewer handling and must stay within the reviewed issue."},{"id":"factor-code-coverage","label":"Required factor codes appear in rendered samples","status":"pass","evidence":"status_visible, human_review_required, evidence_rule_named, evidence_sufficiency, baseline_stated, baseline_credibility, externality_review_required, participant_relative_scores, no_global_moral_ranking, appealable_review_scope, reviewer_summary"},{"id":"marketplace-factor-priority","label":"Marketplace factor priority is bounded and rendered","status":"pass","evidence":"human_review_required, evidence_rule_named, baseline_credibility, externality_review_required, no_global_moral_ranking"},{"id":"no-global-ranking-and-appeal-scope","label":"No-global-ranking and appeal-scope factors are preserved","status":"pass","evidence":"status_visible, human_review_required, evidence_rule_named, evidence_sufficiency, baseline_stated, baseline_credibility, externality_review_required, participant_relative_scores, no_global_moral_ranking, appealable_review_scope, reviewer_summary"},{"id":"separate-trust-dimensions","label":"Action evidence, baseline confidence, and externality review remain separate","status":"pass","evidence":"current_status, action_evidence, baseline_confidence, externality_review, participant_relative_scores, appeal_scope"},{"id":"participant-copy-templates","label":"Participant copy preserves baseline, evidence, safety, score, and appeal boundaries","status":"pass","evidence":"What would you do if this trade did not happen? Be concrete. Mention your current intention, prior behavior, or any evidence that makes your baseline credible. | Status: Needs evidence. Your draft is structurally complete, but no reviewable proof method has been attached yet. | This proposal cannot be published because it resembles a threat, coercive compensation request, or newly escalated harmful behavior. | This score reflects the participant's own stated priorities. It is not a platform judgment about objective moral value. | If you think this review decision is wrong, appeal the specific claim that was reviewed. Appeals do not reopen unrelated moral disagreements by default."},{"id":"contract-tests","label":"Review workflow contract test hooks are named","status":"pass","evidence":"review_workflow_contract_validator, offer_review_workflow_card_smoke, marketplace_factor_card_smoke, technical_spec_review_workflow_smoke"}],"blockers":[]},"publicContract":{"statuses":["pass","needs_input","human_review","blocked"],"detailWorkflowCards":[{"key":"current_status","label":"Status card","requiredFactorCodes":["status_visible","human_review_required"],"purpose":"Expose whether a record is live, example-only, blocked, or still under review.","statusReasonRule":"Explain why the visible status is pass, needs-input, human-review, or blocked without implying completion.","nextStepRule":"Never imply completion, custody, enforceability, or moral endorsement from a visible status."},{"key":"action_evidence","label":"Action evidence","requiredFactorCodes":["evidence_rule_named","evidence_sufficiency"],"purpose":"Show whether each factual action claim has a named reviewable proof method.","statusReasonRule":"Explain whether a proof method and locator exist, or which evidence boundary keeps the card out of pass.","nextStepRule":"Ask for scoped artifacts before anyone relies on a factual action claim."},{"key":"baseline_confidence","label":"Counterfactual baseline","requiredFactorCodes":["baseline_stated","baseline_credibility"],"purpose":"Keep factual proof separate from the no-trade baseline and counterfactual trust problem.","statusReasonRule":"Explain why the no-trade baseline is credible enough, weak, or still review-bound.","nextStepRule":"Ask what would happen without the trade and what dated evidence supports that claim."},{"key":"externality_review","label":"Externality review","requiredFactorCodes":["externality_review_required","human_review_required"],"purpose":"Name third-party harm, perverse-incentive, and unrepresented-value review before reliance.","statusReasonRule":"Explain which mode or cause trigger requires human review, or why no obvious trigger was detected.","nextStepRule":"Route affected-party standing, remedy, and challenge-window questions to human review."},{"key":"participant_relative_scores","label":"Participant-relative scores","requiredFactorCodes":["participant_relative_scores","no_global_moral_ranking"],"purpose":"Display stated priorities without turning them into an objective platform ranking.","statusReasonRule":"Explain that pass only means scores are bounded as participant-stated context.","nextStepRule":"Use scores only as participant-stated context and preserve the no-global-ranking notice."},{"key":"appeal_scope","label":"Appeal scope","requiredFactorCodes":["appealable_review_scope","reviewer_summary"],"purpose":"Limit appeals to the claim, evidence row, baseline concern, disclosure decision, or policy flag under review.","statusReasonRule":"Explain that appeal handling remains human-reviewed and scoped to the reviewed issue.","nextStepRule":"Do not reopen unrelated moral disagreements by default."}],"marketplaceFactorPriority":["human_review_required","evidence_rule_named","baseline_credibility","externality_review_required","no_global_moral_ranking","appealable_review_scope"],"participantCopyTemplates":{"baselineHelperText":"What would you do if this trade did not happen? Be concrete. Mention your current intention, prior behavior, or any evidence that makes your baseline credible.","needsEvidenceStatusCopy":"Status: Needs evidence. Your draft is structurally complete, but no reviewable proof method has been attached yet.","safetyWarningCopy":"This proposal cannot be published because it resembles a threat, coercive compensation request, or newly escalated harmful behavior.","importanceScoreNote":"This score reflects the participant's own stated priorities. It is not a platform judgment about objective moral value.","appealCopy":"If you think this review decision is wrong, appeal the specific claim that was reviewed. Appeals do not reopen unrelated moral disagreements by default."},"invariants":["Every detail workflow card must expose at least one factor code, one status-reason code, one status reason, and one next-step instruction.","Marketplace cards must show prioritized factor codes derived from the same workflow contract.","Marketplace cards must inherit the selected detail card status reason.","Participant-relative scores must preserve no_global_moral_ranking.","Appeals must preserve appealable_review_scope and reviewer_summary factor codes.","Action evidence, baseline confidence, and externality review must remain separate cards."],"sampleDetailCardKeys":["current_status","action_evidence","baseline_confidence","externality_review","participant_relative_scores","appeal_scope"],"sampleDetailCardStatusReasons":[{"key":"current_status","status":"human_review","statusReasonCode":"current_status.human_review","statusReason":"human review: the visible status is still a review state, not completion, custody, enforceability, or moral endorsement."},{"key":"action_evidence","status":"pass","statusReasonCode":"action_evidence.pass","statusReason":"pass: a named proof method and clear evidence locator are present for reviewer inspection."},{"key":"baseline_confidence","status":"pass","statusReasonCode":"baseline_confidence.pass","statusReason":"pass: the baseline is stated with enough support to enter counterfactual review."},{"key":"externality_review","status":"human_review","statusReasonCode":"externality_review.human_review","statusReason":"human review: the mode or causes can affect third parties, incentives, or unrepresented values."},{"key":"participant_relative_scores","status":"pass","statusReasonCode":"participant_relative_scores.pass","statusReason":"pass: scores are bounded as participant-stated context, not platform ranking."},{"key":"appeal_scope","status":"human_review","statusReasonCode":"appeal_scope.human_review","statusReason":"human review: appeals require reviewer handling and must stay within the reviewed issue."}],"sampleMarketplaceFactorCodes":["human_review_required","evidence_rule_named","baseline_credibility","externality_review_required","no_global_moral_ranking"],"sampleMarketplaceStatusReason":{"status":"human_review","statusReasonCode":"externality_review.human_review","statusReason":"human review: the mode or causes can affect third parties, incentives, or unrepresented values."},"contractTests":["review_workflow_contract_validator","offer_review_workflow_card_smoke","marketplace_factor_card_smoke","technical_spec_review_workflow_smoke"]},"blockers":[]}