{
  "format": "vercy-enterprise-allocation-fixtures/v2",
  "candidateName": "Maintenance Event",
  "cases": [
    {
      "id": "performed-repair",
      "kind": "positive",
      "input": "A repair records actual work and evidence against an order.",
      "expect": "The event remains distinct from authorization.",
      "target": "Maintenance Event",
      "violates": "A closed order never substitutes for an event.",
      "closesDefect": "D17"
    },
    {
      "id": "component-replacement",
      "kind": "positive",
      "input": "A component is replaced under a pinned continuity rule.",
      "expect": "Membership episodes change without silent calibration transfer.",
      "target": "Maintenance Event",
      "violates": "Component replacement closes and opens membership explicitly.",
      "closesDefect": "D17"
    },
    {
      "id": "corrected-event",
      "kind": "positive",
      "input": "A verifier corrects a resource actual.",
      "expect": "A revision preserves the original record.",
      "target": "Maintenance Event",
      "violates": "Corrections append and never erase original evidence.",
      "closesDefect": "D17"
    },
    {
      "id": "closed-order",
      "kind": "negative",
      "input": "A closed work order is treated as proof of execution.",
      "expect": "The inference is rejected.",
      "target": "Maintenance Event",
      "violates": "A closed order never substitutes for an event.",
      "closesDefect": "D17",
      "expectedCode": "EM_OPS_03_ORDER_PROVES_EXECUTION"
    },
    {
      "id": "silent-continuity",
      "kind": "negative",
      "input": "Parent identity is preserved without a continuity rule.",
      "expect": "The assertion is rejected.",
      "target": "Maintenance Event",
      "violates": "Asset continuity follows a pinned local rule.",
      "closesDefect": "D17",
      "expectedCode": "EM_OPS_03_CONTINUITY_RULE_UNPINNED"
    },
    {
      "id": "copied-calibration",
      "kind": "negative",
      "input": "Replacement inherits calibration automatically.",
      "expect": "The transfer is rejected.",
      "target": "Maintenance Event",
      "violates": "A component change that affects a measuring subsystem invalidates dependent fitness and never carries a calibration event, certificate or validity to the successor configuration.",
      "closesDefect": "D17",
      "expectedCode": "EM_OPS_03_CALIBRATION_TRANSFERRED_ON_REPLACEMENT"
    },
    {
      "id": "A-EVT-01",
      "target": "Maintenance Event",
      "kind": "negative",
      "input": "One maintenance event cites two authorizing work orders.",
      "expect": "The event is rejected.",
      "violates": "A maintenance event cites at most one authorizing work order.",
      "closesDefect": "D08",
      "expectedCode": "EM_OPS_03_ORDER_CARDINALITY_EXCEEDED"
    },
    {
      "id": "A-EVT-02",
      "target": "Maintenance Event",
      "kind": "positive",
      "input": "A WM-ACT-007 order is closed with zero maintenance events recorded against it.",
      "expect": "The order remains valid and no maintenance event is inferred.",
      "violates": "An authorizing work order may cite zero maintenance events, including after closure.",
      "closesDefect": "D08"
    },
    {
      "id": "A-EVT-03",
      "target": "Maintenance Event",
      "kind": "negative",
      "input": "A WM-MAT-008 observation record is registered as the maintenance event itself.",
      "expect": "The substitution is rejected.",
      "violates": "WM-MAT-008 observations and WM-ACT-034 assessments may be cited as evidence and never constitute event identity.",
      "closesDefect": "D09",
      "expectedCode": "EM_OPS_03_EVIDENCE_SUBSTITUTES_EVENT"
    },
    {
      "id": "A-EVT-05",
      "target": "Maintenance Event",
      "kind": "negative",
      "input": "componentChanges are recorded while continuityRuleRef and continuityRuleVersion are absent.",
      "expect": "The event is rejected.",
      "violates": "Asset continuity follows a pinned local rule.",
      "closesDefect": "D07",
      "expectedCode": "EM_OPS_03_CONTINUITY_RULE_UNPINNED"
    },
    {
      "id": "A-EVT-06",
      "target": "Maintenance Event",
      "kind": "positive",
      "input": "An accepted event is later voided by the verifier.",
      "expect": "The voided state is appended and the original record, evidence bindings and performed interval remain intact.",
      "violates": "Voiding, supersession and correction are appended states that preserve the original record, its evidence bindings and its performed interval.",
      "closesDefect": "D20"
    },
    {
      "id": "A-EVT-07",
      "target": "Maintenance Event",
      "kind": "negative",
      "input": "A correction overwrites the original resourceActuals value in place.",
      "expect": "The mutation is rejected.",
      "violates": "Corrections append and never erase original evidence.",
      "closesDefect": "D20",
      "expectedCode": "EM_OPS_03_RECORD_OVERWRITTEN"
    },
    {
      "id": "A-CAL-08",
      "target": "Maintenance Event",
      "kind": "negative",
      "input": "A measuring subsystem is replaced and the prior calibration event, certificate and validity window are bound to the successor configuration.",
      "expect": "The transfer is rejected.",
      "violates": "A component change that affects a measuring subsystem invalidates dependent fitness and never carries a calibration event, certificate or validity to the successor configuration.",
      "closesDefect": "D07",
      "expectedCode": "EM_OPS_03_CALIBRATION_TRANSFERRED_ON_REPLACEMENT"
    },
    {
      "id": "A-EVD-01",
      "target": "Maintenance Event",
      "kind": "negative",
      "input": "Absent completion evidence is stored as zero or null rather than as a coded unknown.",
      "expect": "The coercion is rejected.",
      "violates": "Missing completion evidence remains unknown.",
      "closesDefect": "D17",
      "expectedCode": "EM_OPS_03_MISSING_EVIDENCE_COERCED"
    }
  ]
}
