{
 "corpus": "arion-aer1-setclaim-extension",
 "corpus_version": "0.1.1",
 "generated": "2026-10-03T15:27:22.021Z",
 "extends": "draft-zambo-aer1 (conformance kit) — proposes row type aer1-setclaim/0.1",
 "oracle": "expect[] is the EXACT failure set for the set-claim row; member-level failures are reported as 'member <id>: <singleton reason>' and ride alongside the set verdict. expect=[] means the row MUST clear.",
 "review_gate": "each case isolates exactly one rule; expected rejection is check.js reason text, verbatim",
 "cases": [
  {
   "name": "sc-uniq-clear",
   "file": "vectors/sc-uniq-clear.json",
   "rule": "uniqueness over binding key (control)",
   "expect": []
  },
  {
   "name": "sc-uniq-pair",
   "file": "vectors/sc-uniq-pair.json",
   "rule": "uniqueness over binding key (one row per K)",
   "expect": [
    "set predicate uniqueness violated: members 00000000-0000-4000-8000-000000000003, 00000000-0000-4000-8000-000000000004 share binding key operation.op_digest=\"sha256:39b819c38ffb20bba694768b88e92d84df4586fdf38c3cc4a1ce3cb30c61e3d7\""
   ]
  },
  {
   "name": "sc-uniq-subset",
   "file": "vectors/sc-uniq-subset.json",
   "rule": "uniqueness — minimal offending subset, not the set",
   "expect": [
    "set predicate uniqueness violated: members 00000000-0000-4000-8000-000000000005, 00000000-0000-4000-8000-000000000007 share binding key operation.op_digest=\"sha256:39b819c38ffb20bba694768b88e92d84df4586fdf38c3cc4a1ce3cb30c61e3d7\""
   ]
  },
  {
   "name": "sc-uniq-tie",
   "file": "vectors/sc-uniq-tie.json",
   "rule": "uniqueness — tie resolves to earliest pair in member order",
   "expect": [
    "set predicate uniqueness violated: members 00000000-0000-4000-8000-000000000008, 00000000-0000-4000-8000-000000000009 share binding key operation.op_digest=\"sha256:39b819c38ffb20bba694768b88e92d84df4586fdf38c3cc4a1ce3cb30c61e3d7\""
   ]
  },
  {
   "name": "sc-uniq-seq-dup",
   "file": "vectors/sc-uniq-seq-dup.json",
   "rule": "uniqueness over attempt_seq within op (retry replay)",
   "expect": [
    "set predicate uniqueness violated: members 00000000-0000-4000-8000-000000000011, 00000000-0000-4000-8000-000000000012 share operation.attempt_seq=1 under binding key operation.op_digest=\"sha256:39b819c38ffb20bba694768b88e92d84df4586fdf38c3cc4a1ce3cb30c61e3d7\""
   ]
  },
  {
   "name": "sc-uniq-seq-clear",
   "file": "vectors/sc-uniq-seq-clear.json",
   "rule": "uniqueness over attempt_seq (control)",
   "expect": []
  },
  {
   "name": "sc-order-clear",
   "file": "vectors/sc-order-clear.json",
   "rule": "ordering strictly_increasing (control)",
   "expect": []
  },
  {
   "name": "sc-order-replay",
   "file": "vectors/sc-order-replay.json",
   "rule": "ordering — attempt_seq replay in member order",
   "expect": [
    "set predicate ordering violated: member 00000000-0000-4000-8000-000000000020 operation.attempt_seq=2 not strictly increasing after member 00000000-0000-4000-8000-000000000019 operation.attempt_seq=2"
   ]
  },
  {
   "name": "sc-order-invert",
   "file": "vectors/sc-order-invert.json",
   "rule": "ordering — non-monotonic attempt_seq",
   "expect": [
    "set predicate ordering violated: member 00000000-0000-4000-8000-000000000023 operation.attempt_seq=2 not strictly increasing after member 00000000-0000-4000-8000-000000000022 operation.attempt_seq=3"
   ]
  },
  {
   "name": "sc-mutex-double-success",
   "file": "vectors/sc-mutex-double-success.json",
   "rule": "mutual_exclusion — one success per op",
   "expect": [
    "set predicate mutual_exclusion violated: members 00000000-0000-4000-8000-000000000024, 00000000-0000-4000-8000-000000000025 both carry operation.outcome in [\"success\"] under binding key operation.op_digest=\"sha256:39b819c38ffb20bba694768b88e92d84df4586fdf38c3cc4a1ce3cb30c61e3d7\""
   ]
  },
  {
   "name": "sc-mutex-retry-clear",
   "file": "vectors/sc-mutex-retry-clear.json",
   "rule": "mutual_exclusion (control: failed->success retry)",
   "expect": []
  },
  {
   "name": "sc-pred-unknown",
   "file": "vectors/sc-pred-unknown.json",
   "rule": "schema — closed predicate enum",
   "expect": [
    "unknown set claim predicate: similarity"
   ]
  },
  {
   "name": "sc-closure-missing",
   "file": "vectors/sc-closure-missing.json",
   "rule": "schema — closure is required",
   "expect": [
    "missing required member: closure"
   ]
  },
  {
   "name": "sc-closure-stale",
   "file": "vectors/sc-closure-stale.json",
   "rule": "closure — digest binds membership, extra rows break it",
   "expect": [
    "closure digest does not match member set"
   ]
  },
  {
   "name": "sc-uniq-memberbad",
   "file": "vectors/sc-uniq-memberbad.json",
   "rule": "member singleton + set verdicts ride alongside",
   "expect": [
    "member 00000000-0000-4000-8000-000000000035: output_hash does not match sha256(canonical_bytes)",
    "set predicate uniqueness violated: members 00000000-0000-4000-8000-000000000034, 00000000-0000-4000-8000-000000000035 share binding key operation.op_digest=\"sha256:39b819c38ffb20bba694768b88e92d84df4586fdf38c3cc4a1ce3cb30c61e3d7\""
   ]
  }
 ]
}
