{
  "format": "vercy-enterprise-allocation-fixtures/v1",
  "candidateName": "Processing Activity / Processing Register Entry",
  "cases": [
    {
      "id": "partial-erasure",
      "kind": "positive",
      "input": "Operational data is erased while an accounting subset is retained.",
      "expect": "The erased tuple gets durable proof; retained data binds to a separately governed restricted-purpose activity with its own accepted basis and expiry."
    },
    {
      "id": "derived-purpose-ceiling",
      "kind": "positive",
      "input": "A derived dataset combines inputs allowed for analytics and fraud prevention.",
      "expect": "The ceiling is the intersection of input ceilings; no widening is representable."
    },
    {
      "id": "role-by-purpose",
      "kind": "positive",
      "input": "One party is controller for P1 and processor for P2.",
      "expect": "Separate purpose-scoped time-qualified RoleAssertions coexist."
    },
    {
      "id": "storage-implies-purpose",
      "kind": "negative",
      "input": "All data in one system is assigned one purpose automatically.",
      "expect": "The inference is rejected."
    },
    {
      "id": "withdrawal-erases-statutory",
      "kind": "negative",
      "input": "Consent withdrawal deletes records retained under statutory duty.",
      "expect": "Deletion is rejected; withdrawal is prospective and instrument-specific."
    },
    {
      "id": "proof-retains-payload",
      "kind": "negative",
      "input": "An erasure certificate embeds erased payload.",
      "expect": "The proof is rejected."
    },
    {
      "id": "ropa-is-master",
      "kind": "negative",
      "input": "A ROPA edition replaces processing-activity identity.",
      "expect": "The substitution is rejected."
    },
    {
      "id": "analytics-widening-new-activity",
      "kind": "positive",
      "input": "A wider analytics purpose is requested.",
      "expect": "It is accepted only as a new activity with its own purpose and basis."
    },
    {
      "id": "purpose-without-accepted-basis",
      "kind": "negative",
      "input": "A purpose has only a proposed basis.",
      "expect": "Activation is rejected and the purpose remains unresolved."
    },
    {
      "id": "multi-basis-conflict",
      "kind": "positive",
      "input": "Consent and statutory bases overlap for one purpose.",
      "expect": "Both remain separate; withdrawing consent leaves the statutory basis in force."
    },
    {
      "id": "role-interval-overlap",
      "kind": "negative",
      "input": "Two controller assertions for one party and purpose overlap without supersession.",
      "expect": "The overlap is rejected."
    },
    {
      "id": "joint-controller-by-purpose",
      "kind": "positive",
      "input": "Two parties are joint controllers for P1 and one controls P2.",
      "expect": "Purpose-scoped assertions coexist."
    },
    {
      "id": "temporal-distinctness",
      "kind": "positive",
      "input": "A revision is recorded after its effective start and event time differs.",
      "expect": "Event, effective and recorded times remain independently queryable."
    },
    {
      "id": "revision-interval-overlap",
      "kind": "negative",
      "input": "Two revisions are effective at the same instant.",
      "expect": "The overlap is rejected."
    },
    {
      "id": "identifier-recycling",
      "kind": "negative",
      "input": "A retired activity id or revision number is reused.",
      "expect": "Reuse is rejected."
    },
    {
      "id": "hold-and-floor-distinct",
      "kind": "positive",
      "input": "A floor and legal hold apply to one target.",
      "expect": "Both retain distinct authority, kind and precedence owner."
    },
    {
      "id": "unresolved-precedence-refuses",
      "kind": "negative",
      "input": "Floor and hold conflict without a resolvable precedence owner.",
      "expect": "Execution is refused, not guessed."
    },
    {
      "id": "projection-narrows-only",
      "kind": "positive",
      "input": "A WM-XCT-003 shape narrows fields within purpose, then is rebound outside the ceiling.",
      "expect": "The first use is accepted and the outside-purpose binding rejected."
    },
    {
      "id": "unsupported-model-reference",
      "kind": "negative",
      "input": "A candidate cites a model with no declared purpose.",
      "expect": "The reference is rejected."
    },
    {
      "id": "ropa-edition-unowned",
      "kind": "negative",
      "input": "The activity claims ROPA edition identity.",
      "expect": "The claim is rejected and mastership remains an open hold."
    }
  ]
}
