{"ok":true,"checkedAt":"2026-06-02T19:14:28.024Z","contractVersion":"moral-trade-copilot-v0.1.3-2026-06","purpose":"Strict contract for schema-bound Moral Trade drafting, critique, explanation, evidence-metadata review, evidence-checklist, and reviewer-summary assistance.","validation":{"status":"pass","validatorName":"moral-trade-copilot-contract","validatorVersion":"moral-trade-copilot-contract-validator-v0.3","contractVersion":"moral-trade-copilot-v0.1.3-2026-06","checks":[{"id":"strict-input-bundle","label":"Strict input bundle","status":"pass","evidence":"structured_draft, policy_registry, prohibited_pattern_registry, factor_code_dictionary, verification_method_taxonomy, redaction_policy, evidence_metadata, redacted_profile_pair, match_constraint_set, stated_exclusions"},{"id":"approved-output-sections","label":"Approved output sections","status":"pass","evidence":"status, completeness, trade_structure, trust_assessment, match_explanation, verification_loop, clarification_questions, uncertainty_flags, next_step_checklist, cited_evidence_table, review_instructions, reviewer_summary, citations"},{"id":"status-values","label":"Status values","status":"pass","evidence":"draft, needs_clarification, needs_evidence, needs_human_review, challenge_window, blocked, matchable"},{"id":"trust-axes","label":"Trust axes stay separate","status":"pass","evidence":"factual_trust, counterfactual_baseline, externality_review, party_relative_benefit, privacy_redaction"},{"id":"guardrails","label":"Copilot guardrails","status":"pass","evidence":"12 guardrail(s), including no outreach and no global ranking."},{"id":"prompt-templates","label":"Approved prompt template registry","status":"pass","evidence":"system_prompt, draft_repair_prompt, matching_prompt, reviewer_summary_prompt"},{"id":"prompt-template-safety","label":"Prompt templates preserve copilot guardrails","status":"pass","evidence":"system_prompt:no_global_moral_ranking+no_autonomous_outreach+no_private_feed_ingestion+separate_trust_axes+no_chain_of_thought+human_review_required, draft_repair_prompt:schema_completeness+anti_threat_escalation+no_chain_of_thought+observable_claims_only, matching_prompt:redacted_profile_pair+no_private_inference+no_global_moral_ranking+human_review_required, reviewer_summary_prompt:reviewer_summary_word_limit+no_escrow_legal_tax_claims+observable_claims_only+no_global_moral_ranking"},{"id":"verification-loop","label":"Fixed verification loop","status":"pass","evidence":"schema_completeness, anti_threat, baseline_credibility, evidence_sufficiency, externality_trigger, privacy_redaction, match_explanation, human_review_routing"},{"id":"rollout-stages","label":"Constrained rollout stages","status":"pass","evidence":"shadow_mode, assist_mode, guarded_automation"},{"id":"rollout-readiness-signals","label":"Rollout readiness signals","status":"pass","evidence":"state_mutation_disabled, fallback_path_tested, zero_privacy_incidents, human_approval_for_status_changes, minimum_observed_runs, validated_output_rate, sample_evaluation_audits_passing, low_risk_task_scope"},{"id":"rollout-readiness-audit","label":"Default rollout audit starts in shadow mode and blocks higher automation until evidence exists","status":"pass","evidence":"shadow_mode:pass, assist_mode:blocked, guarded_automation:blocked"},{"id":"safe-fallback","label":"Safe fallback","status":"pass","evidence":"If copilot generation fails, times out, or emits invalid output, fall back to deterministic/manual review without changing proposal state."}],"blockers":[]},"publicContract":{"permittedRoles":["draft_repair","match_explanation","reviewer_summary","evidence_checklist","cited_evidence_table"],"promptTemplates":[{"key":"system_prompt","safetyCodes":["no_global_moral_ranking","no_autonomous_outreach","no_private_feed_ingestion","separate_trust_axes","no_chain_of_thought","human_review_required"],"outputRequirements":["approved_json_schema","reviewer_summary"]},{"key":"draft_repair_prompt","safetyCodes":["schema_completeness","anti_threat_escalation","no_chain_of_thought","observable_claims_only"],"outputRequirements":["missing_required_fields","clarification_questions","reviewer_checklist"]},{"key":"matching_prompt","safetyCodes":["redacted_profile_pair","no_private_inference","no_global_moral_ranking","human_review_required"],"outputRequirements":["matchable_status","factor_codes","confidence_band","redacted_fields"]},{"key":"reviewer_summary_prompt","safetyCodes":["reviewer_summary_word_limit","no_escrow_legal_tax_claims","observable_claims_only","no_global_moral_ranking"],"outputRequirements":["bounded_summary","policy_flags","unverified_claims"]}],"strictInputBundle":["structured_draft","policy_registry","prohibited_pattern_registry","factor_code_dictionary","verification_method_taxonomy","redaction_policy","evidence_metadata","redacted_profile_pair","match_constraint_set","stated_exclusions"],"approvedOutputSections":["status","completeness","trade_structure","trust_assessment","match_explanation","verification_loop","clarification_questions","uncertainty_flags","next_step_checklist","cited_evidence_table","review_instructions","reviewer_summary","citations"],"guardrailCodes":["approved_json_only","observable_claims_only","no_chain_of_thought","no_global_moral_ranking","no_autonomous_outreach","no_private_feed_ingestion","separate_trust_axes","insufficient_evidence_artifact_requests","anti_threat_escalation","no_false_certainty","no_escrow_legal_tax_claims","verification_loop_matchability_gate"],"guardrails":[{"code":"approved_json_only","label":"Approved JSON only","rule":"Emit only the approved output schema plus a short reviewer-facing summary when explicitly requested."},{"code":"observable_claims_only","label":"Observable claims only","rule":"Use only supplied structured draft, citations, policy registry, and redacted evidence metadata; never invent facts, counterparties, prior behavior, evidence, or citations."},{"code":"no_chain_of_thought","label":"No hidden reasoning transcript","rule":"Expose structured summaries, uncertainty flags, citations, and next-step checklists instead of private reasoning."},{"code":"no_global_moral_ranking","label":"No global moral ranking","rule":"Never decide, rank, score, or compare whether a proposal is objectively morally correct."},{"code":"no_autonomous_outreach","label":"No autonomous outreach","rule":"Never reveal, contact, introduce counterparties, or instruct disclosure of private contact details without explicit consent in the input bundle."},{"code":"no_private_feed_ingestion","label":"No private feed ingestion","rule":"Use only the supplied structured bundle, not broad account context or raw private feeds."},{"code":"separate_trust_axes","label":"Separate trust axes","rule":"Keep factual proof, counterfactual baseline confidence, and externality review separate."},{"code":"insufficient_evidence_artifact_requests","label":"Insufficient evidence requests exact artifacts","rule":"When evidence_sufficiency needs input, say evidence is insufficient and request exact missing artifacts such as receipts, logs, attestations, payment records, audit links, or baseline records."},{"code":"anti_threat_escalation","label":"Anti-threat escalation","rule":"Return blocked with policy reason for threat, coercion, doxxing, harassment, fraud, illegality, or newly escalated harmful behavior."},{"code":"no_false_certainty","label":"No false certainty","rule":"When a record has missing fields, policy conflicts, uncertainty flags, or non-pass blocking verification steps, preserve uncertainty instead of claiming definitive reliance."},{"code":"no_escrow_legal_tax_claims","label":"No escrow, legal, tax, custody, or endorsement claims","rule":"Copilot outputs must not imply escrow, custody, legal enforceability, tax treatment, investment advice, guarantees, or objective moral endorsement."},{"code":"verification_loop_matchability_gate","label":"Verification loop gates matchability","rule":"A copilot output with status matchable is invalid unless every verification step marked blocksMatchable has status pass."}],"verificationSteps":["schema_completeness","anti_threat","baseline_credibility","evidence_sufficiency","externality_trigger","privacy_redaction","match_explanation","human_review_routing"],"verificationLoop":[{"key":"schema_completeness","label":"Schema completeness check","blocksMatchable":true},{"key":"anti_threat","label":"Anti-threat / prohibited-content check","blocksMatchable":true},{"key":"baseline_credibility","label":"Baseline credibility check","blocksMatchable":true},{"key":"evidence_sufficiency","label":"Evidence sufficiency check","blocksMatchable":true},{"key":"externality_trigger","label":"Externality-review trigger check","blocksMatchable":false},{"key":"privacy_redaction","label":"Privacy/redaction check","blocksMatchable":true},{"key":"match_explanation","label":"Match explanation generation","blocksMatchable":false},{"key":"human_review_routing","label":"Human-review routing","blocksMatchable":false}],"verificationMatchabilityGate":{"guardrailCode":"verification_loop_matchability_gate","blockingStepKeys":["schema_completeness","anti_threat","baseline_credibility","evidence_sufficiency","privacy_redaction"],"requiredStatus":"pass","enforcedBy":"validateMoralTradeCopilotOutput"},"rolloutStages":["shadow_mode","assist_mode","guarded_automation"],"rolloutReadinessSignals":["state_mutation_disabled","fallback_path_tested","zero_privacy_incidents","human_approval_for_status_changes","minimum_observed_runs","validated_output_rate","sample_evaluation_audits_passing","low_risk_task_scope"],"rolloutReadiness":[{"targetStage":"shadow_mode","status":"pass","requiredSignals":["state_mutation_disabled","fallback_path_tested","zero_privacy_incidents","human_approval_for_status_changes"],"allowedTasks":["draft_critique","reviewer_summary_second_screen"],"blockers":[]},{"targetStage":"assist_mode","status":"blocked","requiredSignals":["state_mutation_disabled","fallback_path_tested","zero_privacy_incidents","human_approval_for_status_changes","minimum_observed_runs","validated_output_rate","sample_evaluation_audits_passing"],"allowedTasks":["structured_field_prefill","factor_code_prefill","evidence_checklist_prefill"],"blockers":["minimum_observed_runs_required:20","validated_output_rate_required:0.95","sample_evaluation_audits_required:assist_mode"]},{"targetStage":"guarded_automation","status":"blocked","requiredSignals":["state_mutation_disabled","fallback_path_tested","zero_privacy_incidents","human_approval_for_status_changes","minimum_observed_runs","validated_output_rate","sample_evaluation_audits_passing","low_risk_task_scope"],"allowedTasks":["missing_field_detection","explanation_generation","evidence_checklist_drafting"],"blockers":["minimum_observed_runs_required:100","validated_output_rate_required:0.98","sample_evaluation_audits_required:guarded_automation"]}],"humanControlledDecisions":["safety_blocking","matching_disclosure","reviewed_completion","dispute_resolution"],"fallbackRule":"If copilot generation fails, times out, or emits invalid output, fall back to deterministic/manual review without changing proposal state."},"blockers":[]}