{
  "format": "vercy-world-model-fixtures/v1",
  "modelId": "WM-ACT-019",
  "version": "0.2.1-candidate.1",
  "cases": [
    {
      "id": "alarm-not-incident",
      "kind": "negative",
      "input": "A monitoring alert fires without an authorized declaration.",
      "expect": "Reject incident creation; retain the external observation or alert.",
      "expectRule": "INV-001"
    },
    {
      "id": "dual-master-cyber",
      "kind": "negative",
      "input": "One outage is entered as peer operational and cyber incident masters.",
      "expect": "Reject the second declaration; retain one governing declaration and one QualificationReference or mirror correspondence with the same occurrenceRef.",
      "expectRule": "INV-002"
    },
    {
      "id": "cyber-record-no-correspondence",
      "kind": "negative",
      "input": "A separate cyber record claims the same occurrence without correspondence evidence.",
      "expect": "Reject the record as an ungoverned duplicate.",
      "expectRule": "INV-004"
    },
    {
      "id": "three-incidents-one-problem",
      "kind": "positive",
      "input": "Three declarations reference one persistent Problem.",
      "expect": "All incident identities and the Problem identity remain distinct.",
      "expectRule": "INV-005"
    },
    {
      "id": "temporary-restoration",
      "kind": "positive",
      "input": "Rollback restores service while a suspected defect and permanent-fix task remain open.",
      "expect": "Incident may restore or close under its own authority; Problem, Defect and permanent task remain open.",
      "expectRule": [
        "INV-015",
        "INV-016",
        "INV-017",
        "INV-019"
      ]
    },
    {
      "id": "close-no-cascade",
      "kind": "negative",
      "input": "Incident closure attempts to close its Problem and all tasks.",
      "expect": "Reject every cross-aggregate cascade.",
      "expectRule": "INV-016"
    },
    {
      "id": "restore-closes-problem",
      "kind": "negative",
      "input": "A restoration task completes and the Problem is auto-closed.",
      "expect": "Reject Problem closure without its own authority.",
      "expectRule": "INV-018"
    },
    {
      "id": "claim-without-evidence",
      "kind": "negative",
      "input": "A RootCauseClaim is asserted without evidence or confidence.",
      "expect": "Reject the incomplete claim.",
      "expectRule": "INV-010"
    },
    {
      "id": "competing-claims",
      "kind": "positive",
      "input": "One supported claim and one disputed claim address the same Problem.",
      "expect": "Retain both addressable claims with separate evidence confidence and status.",
      "expectRule": "INV-011"
    },
    {
      "id": "claim-overwrite",
      "kind": "negative",
      "input": "A supported claim overwrites a prior disputed claim.",
      "expect": "Reject overwrite and append the new claim or status transition.",
      "expectRule": "INV-011"
    },
    {
      "id": "claim-is-defect",
      "kind": "negative",
      "input": "A cause claim is assigned the defect identifier.",
      "expect": "Reject identity collapse and retain a version-pinned defect reference.",
      "expectRule": "INV-012"
    },
    {
      "id": "severity-regrade",
      "kind": "positive",
      "input": "Severity changes after new impact evidence.",
      "expect": "Append a superseding assessment and preserve the prior one.",
      "expectRule": "INV-006"
    },
    {
      "id": "priority-from-severity",
      "kind": "negative",
      "input": "Task priority is silently set from incident severity.",
      "expect": "Reject the derived priority without its own assertion.",
      "expectRule": "INV-007"
    },
    {
      "id": "potential-to-actual-impact",
      "kind": "positive",
      "input": "Potential customer impact is later verified as actual.",
      "expect": "Retain separate revisioned ImpactAssessment records.",
      "expectRule": "INV-008"
    },
    {
      "id": "impact-rollup",
      "kind": "negative",
      "input": "Problem impact is computed as authoritative from incident children without a rule.",
      "expect": "Reject implicit roll-up.",
      "expectRule": "INV-009"
    },
    {
      "id": "unfinished-remediation",
      "kind": "positive",
      "input": "Incident is closed after recovery while permanent remediation remains unfinished.",
      "expect": "Keep remediation Task and Problem open and preserve the closure evidence.",
      "expectRule": "INV-017"
    },
    {
      "id": "reopen-preserves-history",
      "kind": "positive",
      "input": "A closed incident recurs and is reopened.",
      "expect": "Append transition and preserve all earlier impact resolution and review records.",
      "expectRule": "INV-021"
    },
    {
      "id": "clock-collapse",
      "kind": "negative",
      "input": "Detection observation and declaration are stored as one timestamp.",
      "expect": "Reject loss of clock semantics.",
      "expectRule": "INV-020"
    },
    {
      "id": "missing-observation-source",
      "kind": "negative",
      "input": {
        "observationSourceRefs": [
          "monitor-A"
        ],
        "coverageWindow": "2026-01-01/2026-01-02",
        "coverageStatus": "unknown",
        "stalenessStatus": "stale"
      },
      "expect": "Report unknown or incomplete coverage rather than no event.",
      "expectRule": "INV-023"
    },
    {
      "id": "valid-declaration",
      "kind": "positive",
      "input": {
        "occurrenceRef": "occ-1",
        "decision": "declare",
        "definitionRevisionRef": "def@7",
        "authorityRef": "ops-authority"
      },
      "expect": "Accept one declared incident with pinned definition and authority",
      "expectRule": [
        "INV-001",
        "INV-002"
      ]
    },
    {
      "id": "valid-cyber-correspondence",
      "kind": "positive",
      "input": {
        "occurrenceRef": "occ-2",
        "governingDeclarationDecisionRef": "dd-2",
        "representationRole": "mirror"
      },
      "expect": "Accept cyber qualification without another declaration",
      "expectRule": [
        "INV-003",
        "INV-004",
        "INV-030"
      ]
    },
    {
      "id": "cyber-first",
      "kind": "positive",
      "input": {
        "origin": "WM-ACT-020",
        "occurrenceRef": "occ-3",
        "laterOperationalRole": "mirror"
      },
      "expect": "Retain the cyber-originated declaration as governing identity",
      "expectRule": [
        "INV-002",
        "INV-003"
      ]
    },
    {
      "id": "versionless-defect-ref",
      "kind": "negative",
      "input": {
        "targetModel": "WM-SFT-014",
        "targetId": "defect-1",
        "targetRevision": null
      },
      "expect": "Reject unpinned Defect reference",
      "expectRule": "INV-026"
    },
    {
      "id": "separate-work-tasks",
      "kind": "positive",
      "input": {
        "containmentTask": "t1",
        "restorationTask": "t2",
        "remediationTask": "t3"
      },
      "expect": "Retain separate WM-ACT-006 work identities",
      "expectRule": [
        "INV-014",
        "INV-019"
      ]
    },
    {
      "id": "restoration-not-elimination",
      "kind": "negative",
      "input": {
        "restorationTaskStatus": "complete",
        "rootCauseEliminated": false
      },
      "expect": "Do not infer cause elimination",
      "expectRule": "INV-015"
    },
    {
      "id": "relation-not-execution",
      "kind": "negative",
      "input": {
        "taskRef": "t9",
        "executionEvidence": null
      },
      "expect": "Do not infer work execution",
      "expectRule": "INV-022"
    },
    {
      "id": "classified-impact-projection",
      "kind": "positive",
      "input": {
        "classification": "restricted",
        "projectionPolicyRef": "pol-1"
      },
      "expect": "Expose only the governed projection",
      "expectRule": "INV-024"
    },
    {
      "id": "cascade-delete",
      "kind": "negative",
      "input": {
        "deleteIncident": "i1",
        "problemRef": "p1",
        "taskRef": "t1"
      },
      "expect": "Reject cross-aggregate deletion",
      "expectRule": "INV-025"
    },
    {
      "id": "valid-merge",
      "kind": "positive",
      "input": {
        "survivingIncidentRef": "i1",
        "absorbedIncidentRef": "i2",
        "authorityRef": "a1",
        "evidenceRefs": [
          "e1"
        ]
      },
      "expect": "Retain i2 as mirror correspondence",
      "expectRule": [
        "INV-021",
        "INV-028"
      ]
    },
    {
      "id": "clock-inversion",
      "kind": "negative",
      "input": {
        "occurrenceAt": "2026-01-02T00:00:00Z",
        "declaredAt": "2026-01-01T00:00:00Z"
      },
      "expect": "Reject known clock inversion",
      "expectRule": "INV-031"
    },
    {
      "id": "withdraw-declaration",
      "kind": "positive",
      "input": {
        "fromStatus": "declared",
        "toStatus": "withdrawn",
        "authorityRef": "a1"
      },
      "expect": "Append the authorized transition and preserve history",
      "expectRule": [
        "INV-021",
        "INV-027"
      ]
    },
    {
      "id": "free-text-root-cause",
      "kind": "negative",
      "input": {
        "IncidentReview": {
          "findings": "Root cause is X",
          "rootCauseClaimRefs": []
        }
      },
      "expect": "Reject authoritative causal claim in free text",
      "expectRule": "INV-029"
    }
  ]
}
