{
  "format": "vercy-enterprise-allocation-fixtures/v2",
  "candidateName": "MBOM / Manufacturing Plan",
  "cases": [
    {
      "id": "released-plan",
      "kind": "positive",
      "input": "A plant-specific route is released against an EBOM baseline.",
      "expect": "The plan and mapping remain independently versioned.",
      "target": "candidate-allocation-offline-manufacturing-plan",
      "violates": [
        "MBOM-INV-01",
        "MBOM-INV-05"
      ],
      "closesDefect": [
        "D7"
      ]
    },
    {
      "id": "successor-route",
      "kind": "positive",
      "input": "An operation changes.",
      "expect": "A successor version is appended.",
      "target": "candidate-allocation-offline-manufacturing-plan",
      "violates": [
        "MBOM-INV-09"
      ],
      "closesDefect": [
        "D7"
      ]
    },
    {
      "id": "actual-consumption",
      "kind": "negative",
      "input": "Planned material is treated as consumed material.",
      "expect": "The inference is rejected.",
      "target": "candidate-allocation-offline-manufacturing-plan",
      "violates": [
        "MBOM-INV-07",
        "LE-INV-05"
      ],
      "closesDefect": [
        "D7"
      ],
      "expectedCode": "EMOPS04-E012"
    },
    {
      "id": "ebom-overwrite",
      "kind": "negative",
      "input": "Manufacturing routing overwrites the EBOM.",
      "expect": "The mutation is rejected.",
      "target": "candidate-allocation-offline-manufacturing-plan",
      "violates": [
        "MBOM-INV-05",
        "LE-INV-10"
      ],
      "closesDefect": [
        "D7"
      ],
      "expectedCode": "EMOPS04-E032"
    },
    {
      "id": "F-MBM-001",
      "target": "candidate-allocation-offline-manufacturing-plan",
      "kind": "positive",
      "input": "A released plan version states bomKind MBOM, an immutable version and a contentDigest.",
      "expect": "The plan version validates and is distinguishable from any EBOM version.",
      "violates": [
        "MBOM-INV-01",
        "LE-INV-01"
      ],
      "closesDefect": [
        "D7"
      ]
    },
    {
      "id": "F-MBM-002",
      "target": "candidate-allocation-offline-manufacturing-plan",
      "kind": "negative",
      "input": "A plan version is released with no bomKind field.",
      "expect": "The release is rejected.",
      "violates": [
        "MBOM-INV-01",
        "LE-INV-01"
      ],
      "closesDefect": [
        "D7"
      ],
      "expectedCode": "EMOPS04-E005"
    },
    {
      "id": "F-MBM-003",
      "target": "candidate-allocation-offline-manufacturing-plan",
      "kind": "negative",
      "input": "Operations are edited in place on a released plan version.",
      "expect": "The mutation is rejected; a successor version is required.",
      "violates": [
        "MBOM-INV-09"
      ],
      "closesDefect": [
        "D7"
      ],
      "expectedCode": "EMOPS04-E006"
    },
    {
      "id": "F-MBM-004",
      "target": "candidate-allocation-offline-manufacturing-plan",
      "kind": "negative",
      "input": "A yield or scrap assumption is reported as an observed production outcome.",
      "expect": "The reclassification is rejected.",
      "violates": [
        "MBOM-INV-08",
        "LE-INV-05"
      ],
      "closesDefect": [
        "D7",
        "D11"
      ],
      "expectedCode": "EMOPS04-E012"
    },
    {
      "id": "F-MBM-005",
      "target": "candidate-allocation-offline-manufacturing-plan",
      "kind": "positive",
      "input": "ebomMappings link baseline B2 occurrences to plan operations with evidence references.",
      "expect": "The reconciliation validates as an evidenced mapping between separate masters.",
      "violates": [
        "MBOM-INV-06",
        "LE-INV-10"
      ],
      "closesDefect": [
        "D7"
      ]
    },
    {
      "id": "F-MBM-006",
      "target": "candidate-allocation-offline-manufacturing-plan",
      "kind": "negative",
      "input": "An ebomMapping entry is written with no evidence reference.",
      "expect": "The mapping is rejected.",
      "violates": [
        "MBOM-INV-06",
        "LE-INV-10"
      ],
      "closesDefect": [
        "D7"
      ],
      "expectedCode": "EMOPS04-E032"
    }
  ],
  "contourId": "EM-OPS-04",
  "target": "candidate-allocation-offline-manufacturing-plan",
  "errorCodeRegistryRef": "error-codes.json",
  "defectRegistryRef": "audit-defects.json"
}
