{
  "schema": "concresca.counterparty-tamper.v021",
  "site_version": "0.28.0-wip",
  "as_of": "2026-08-31",
  "truth_boundary": "These registries define and locally exercise synthetic repository-owned governance fixtures. They do not establish a sealed v0.20 lineage, external execution, production migration, legal authority, institutional adoption, human-study findings, independent certification, or deployment.",
  "detector_count": 18,
  "detectors": [
    {
      "detector_id": "TM-001",
      "title": "Manifest/file mismatch",
      "mutation_type": "manifest_file_mismatch",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "Authenticated input digest mismatch must be detected."
    },
    {
      "detector_id": "TM-002",
      "title": "Omitted indirect runtime input",
      "mutation_type": "omitted_runtime_input",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "The manifest must enumerate every runtime-read file."
    },
    {
      "detector_id": "TM-003",
      "title": "Runner substitution",
      "mutation_type": "runner_substitution",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "The recorded runner digest must not match a substituted runner."
    },
    {
      "detector_id": "TM-004",
      "title": "ZIP path traversal",
      "mutation_type": "zip_path_traversal",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "Unsafe archive paths must be rejected before extraction."
    },
    {
      "detector_id": "TM-005",
      "title": "Duplicate ZIP member",
      "mutation_type": "duplicate_zip_member",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "Duplicate members must be rejected even when CRC passes."
    },
    {
      "detector_id": "TM-006",
      "title": "Stale baseline lock",
      "mutation_type": "stale_baseline_lock",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "The retained v0.18 source archive hash must remain exact."
    },
    {
      "detector_id": "TM-007",
      "title": "Environment-ID substitution",
      "mutation_type": "environment_id_substitution",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "Unknown environment IDs must not inherit a green result."
    },
    {
      "detector_id": "TM-008",
      "title": "Actor-role substitution",
      "mutation_type": "actor_role_substitution",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "An actor bound to the wrong typed role must be rejected."
    },
    {
      "detector_id": "TM-009",
      "title": "Authority escalation",
      "mutation_type": "authority_escalation",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "Receiving scope cannot exceed granted authority."
    },
    {
      "detector_id": "TM-010",
      "title": "Purpose expansion",
      "mutation_type": "purpose_expansion",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "A new purpose cannot be smuggled into an otherwise valid payload."
    },
    {
      "detector_id": "TM-011",
      "title": "Dissent deletion",
      "mutation_type": "dissent_deletion",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "Material dissent cannot disappear during transfer."
    },
    {
      "detector_id": "TM-012",
      "title": "Correction-recipient deletion",
      "mutation_type": "correction_recipient_deletion",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "Known recipients cannot be removed from propagation accounting."
    },
    {
      "detector_id": "TM-013",
      "title": "Rollback overclaim",
      "mutation_type": "rollback_overclaim",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "Irreversible effects prohibit a COMPLETE rollback label."
    },
    {
      "detector_id": "TM-014",
      "title": "Receipt replay",
      "mutation_type": "receipt_replay",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "Duplicate receipt identity and nonce must be detected."
    },
    {
      "detector_id": "TM-015",
      "title": "Partial report truncation",
      "mutation_type": "partial_report_truncation",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "Missing mandatory report sections must fail validation."
    },
    {
      "detector_id": "TM-016",
      "title": "Structured-data contradiction",
      "mutation_type": "structured_data_contradiction",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "Machine-readable claims cannot contradict visible evidence boundaries."
    },
    {
      "detector_id": "TM-017",
      "title": "Null-to-pass mutation",
      "mutation_type": "null_to_pass",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "Definition-only actual_result fields must remain null."
    },
    {
      "detector_id": "TM-018",
      "title": "Semantic-digest manipulation",
      "mutation_type": "semantic_digest_manipulation",
      "expected_detection": true,
      "actual_result": null,
      "failure_reason_required": "Reported semantic digest must recompute from the declared projection."
    }
  ]
}
