{
  "format": "vercy-model-allocation-fixtures/v1",
  "proposedName": "Evidence Artifact / Source Work",
  "cases": [
    {
      "id": "shared-source",
      "kind": "positive",
      "input": "Two decisions cite the same issued source expression through separate citation acts.",
      "expect": "One source expression remains independently resolvable while citation identity stays external and distinct."
    },
    {
      "id": "source-retraction",
      "kind": "positive",
      "input": "A source work is later retracted.",
      "expect": "A work-level status event records source, observation and ingestion times; citations and decisions preserve history and reassess separately."
    },
    {
      "id": "expression-correction",
      "kind": "positive",
      "input": "A source publishes a corrected expression.",
      "expect": "A successor expression is linked without changing the earlier expression or representation digest."
    },
    {
      "id": "draft-expression",
      "kind": "positive",
      "input": "A source expression exists in draft state.",
      "expect": "The expression has no issuedAt and no abstract content digest; representations may carry their own digests."
    },
    {
      "id": "notice-bootstrap",
      "kind": "positive",
      "input": "An authority issues the first retraction notice for a source work.",
      "expect": "The status event can reference the registered notice source without requiring a pre-existing evidence event."
    },
    {
      "id": "mutable-url-identity",
      "kind": "negative",
      "input": "A mutable URL is treated as stable source-work identity.",
      "expect": "The identity inference is rejected."
    },
    {
      "id": "identifier-scheme-collision",
      "kind": "negative",
      "input": "Equal external identifier strings from different schemes are treated as one work.",
      "expect": "The merge is rejected without scheme, authority and equivalence evidence."
    },
    {
      "id": "digest-on-expression",
      "kind": "negative",
      "input": "A byte digest is used as the identity of an abstract source expression.",
      "expect": "Validation rejects the collapse; digest belongs to a representation binding."
    },
    {
      "id": "disposition-drops-fixity",
      "kind": "negative",
      "input": "Disposal erases provenance and cited representation fixity references.",
      "expect": "Validation rejects disposal that breaks historical citation interpretation."
    },
    {
      "id": "expression-only-work-retraction",
      "kind": "negative",
      "input": "A work-level retraction is stored only as a mutation of one expression.",
      "expect": "Validation rejects the unmastered work status and requires an append-only work-level event."
    }
  ]
}
