{
  "lesson_id": "COM-028",
  "fixtures": [
    {
      "id": "baseline",
      "site_ref": "site-A",
      "rest_api_version": "wc/v3",
      "credential_scope": "read",
      "requires_write": false,
      "order_id": "1001",
      "wc_status": "processing",
      "mapping_version": "map-v5",
      "webhook_id": "41",
      "webhook_topic": "order.updated",
      "signature_check": "VERIFIED",
      "payload_digest": "sha256:base-a1",
      "delivery_attempt": 1,
      "extension_assumption": "core-only",
      "assumption_site_ref": "site-A",
      "reconciliation_state": "RECONCILED",
      "is_custom_status": false,
      "mapping_version_changed": true,
      "duplicate_effect_applied": false,
      "evidence_ref": "evidence://COM-028/baseline",
      "expected": "ACCEPT_CONNECTOR"
    },
    {
      "id": "invalid_signature",
      "site_ref": "site-A",
      "rest_api_version": "wc/v3",
      "credential_scope": "read",
      "requires_write": false,
      "order_id": "1002",
      "wc_status": "processing",
      "mapping_version": "map-v5",
      "webhook_id": "41",
      "webhook_topic": "order.updated",
      "signature_check": "UNVERIFIED",
      "payload_digest": "sha256:sig-a2",
      "delivery_attempt": 1,
      "extension_assumption": "core-only",
      "assumption_site_ref": "site-A",
      "reconciliation_state": "PENDING",
      "is_custom_status": false,
      "mapping_version_changed": true,
      "duplicate_effect_applied": false,
      "evidence_ref": "evidence://COM-028/invalid-signature",
      "expected": "HOLD_WEBHOOK_SIGNATURE"
    },
    {
      "id": "custom_status_mapping_drift",
      "site_ref": "site-B",
      "rest_api_version": "wc/v3",
      "credential_scope": "read",
      "requires_write": false,
      "order_id": "2001",
      "wc_status": "awaiting-pickup",
      "mapping_version": "map-v5",
      "webhook_id": "77",
      "webhook_topic": "order.updated",
      "signature_check": "VERIFIED",
      "payload_digest": "sha256:custom-b1",
      "delivery_attempt": 1,
      "extension_assumption": "pickup-ext adds awaiting-pickup",
      "assumption_site_ref": "site-B",
      "reconciliation_state": "PENDING",
      "is_custom_status": true,
      "mapping_version_changed": false,
      "duplicate_effect_applied": false,
      "evidence_ref": "evidence://COM-028/custom-drift",
      "expected": "HOLD_MAPPING_VERSION"
    },
    {
      "id": "duplicate_delivery_applied_twice",
      "site_ref": "site-A",
      "rest_api_version": "wc/v3",
      "credential_scope": "read",
      "requires_write": false,
      "order_id": "1003",
      "wc_status": "processing",
      "mapping_version": "map-v5",
      "webhook_id": "41",
      "webhook_topic": "order.updated",
      "signature_check": "VERIFIED",
      "payload_digest": "sha256:dup-a3",
      "delivery_attempt": 2,
      "extension_assumption": "core-only",
      "assumption_site_ref": "site-A",
      "reconciliation_state": "DUPLICATE_EFFECT_DETECTED",
      "is_custom_status": false,
      "mapping_version_changed": true,
      "duplicate_effect_applied": true,
      "evidence_ref": "evidence://COM-028/duplicate",
      "expected": "HOLD_RECONCILIATION"
    },
    {
      "id": "cross_site_assumption_reuse",
      "site_ref": "site-B",
      "rest_api_version": "wc/v3",
      "credential_scope": "read",
      "requires_write": false,
      "order_id": "2002",
      "wc_status": "processing",
      "mapping_version": "map-v5",
      "webhook_id": "77",
      "webhook_topic": "order.updated",
      "signature_check": "VERIFIED",
      "payload_digest": "sha256:scope-b2",
      "delivery_attempt": 1,
      "extension_assumption": "pickup-ext semantics copied from site-A",
      "assumption_site_ref": "site-A",
      "reconciliation_state": "RECONCILED",
      "is_custom_status": false,
      "mapping_version_changed": true,
      "duplicate_effect_applied": false,
      "evidence_ref": "evidence://COM-028/cross-site",
      "expected": "HOLD_EXTENSION_SCOPE"
    },
    {
      "id": "credential_scope_missing_write",
      "site_ref": "site-A",
      "rest_api_version": "wc/v3",
      "credential_scope": "read",
      "requires_write": true,
      "order_id": "1004",
      "wc_status": "processing",
      "mapping_version": "map-v5",
      "webhook_id": "41",
      "webhook_topic": "order.updated",
      "signature_check": "VERIFIED",
      "payload_digest": "sha256:scope-a4",
      "delivery_attempt": 1,
      "extension_assumption": "core-only",
      "assumption_site_ref": "site-A",
      "reconciliation_state": "RECONCILED",
      "is_custom_status": false,
      "mapping_version_changed": true,
      "duplicate_effect_applied": false,
      "evidence_ref": "evidence://COM-028/credential",
      "expected": "HOLD_CREDENTIAL_SCOPE"
    },
    {
      "id": "missing_digest",
      "site_ref": "site-A",
      "rest_api_version": "wc/v3",
      "credential_scope": "read",
      "requires_write": false,
      "order_id": "1005",
      "wc_status": "processing",
      "mapping_version": "map-v5",
      "webhook_id": "41",
      "webhook_topic": "order.updated",
      "signature_check": "VERIFIED",
      "payload_digest": "UNKNOWN",
      "delivery_attempt": 1,
      "extension_assumption": "core-only",
      "assumption_site_ref": "site-A",
      "reconciliation_state": "RECONCILED",
      "is_custom_status": false,
      "mapping_version_changed": true,
      "duplicate_effect_applied": false,
      "evidence_ref": "evidence://COM-028/missing-digest",
      "expected": "HOLD_EVIDENCE"
    },
    {
      "id": "transfer_custom_status_mapped",
      "site_ref": "site-B",
      "rest_api_version": "wc/v3",
      "credential_scope": "read_write",
      "requires_write": true,
      "order_id": "2003",
      "wc_status": "awaiting-pickup",
      "mapping_version": "map-v6",
      "webhook_id": "77",
      "webhook_topic": "order.updated",
      "signature_check": "VERIFIED",
      "payload_digest": "sha256:transfer-b3",
      "delivery_attempt": 2,
      "extension_assumption": "pickup-ext@site-B v2 adds awaiting-pickup and pickup_slot",
      "assumption_site_ref": "site-B",
      "reconciliation_state": "DEDUPED_AND_RECONCILED",
      "is_custom_status": true,
      "mapping_version_changed": true,
      "duplicate_effect_applied": false,
      "transfer": true,
      "canonical_model_changed": false,
      "evidence_ref": "evidence://COM-028/transfer",
      "expected": "ACCEPT_CONNECTOR"
    }
  ]
}
