{
 "schema": "uta-runner-mutation-sweep/1.0",
 "as_of": "2026-09-10",
 "target": "score-runner.mjs",
 "target_sha256": "5802cc35c076c3e45dbca9200b483b1606302fe0a8cf93afb9d4775ffa28565b",
 "target_bytes": 18641,
 "oracle": {
  "answer_key_sha256": "4063919bd4e3b118973cc2694d8c069ef24f8fa24d4cf9b0c77f4267e983c738",
  "surfaces": [
   "--matrix separation table (8 rows, failure lists included)",
   "reference-mode verdict + exit code",
   "adversarial challenge (seeded two-bound distribution via --generated)",
   "fail-closed probe: malformed card (exit 1 + marker)",
   "fail-closed probe: poisoned sidecar (exit 1 + marker)"
  ],
  "note": "The kill oracle is exactly the behavior the answer key pins \u2014 five surfaces, no more, no less. A mutant the suite cannot distinguish from pristine on ANY surface is a survivor by definition of the published oracle. Survivors name checks the suite does not enforce."
 },
 "operators": [
  {
   "id": "eq-flip",
   "label": "=== \u2192 !==",
   "description": "flip strict equality to strict inequality",
   "sites": 11,
   "valid": 11,
   "caught": 11,
   "survivors": 0,
   "invalid_syntax": 0
  },
  {
   "id": "neq-flip",
   "label": "!== \u2192 ===",
   "description": "flip strict inequality to strict equality",
   "sites": 8,
   "valid": 8,
   "caught": 8,
   "survivors": 0,
   "invalid_syntax": 0
  },
  {
   "id": "and-or",
   "label": "&& \u2192 ||",
   "description": "replace logical AND with logical OR",
   "sites": 27,
   "valid": 27,
   "caught": 24,
   "survivors": 3,
   "invalid_syntax": 0
  },
  {
   "id": "or-and",
   "label": "|| \u2192 &&",
   "description": "replace logical OR with logical AND",
   "sites": 6,
   "valid": 6,
   "caught": 3,
   "survivors": 3,
   "invalid_syntax": 0
  },
  {
   "id": "not-drop",
   "label": "unary ! removed",
   "description": "delete a unary negation",
   "sites": 18,
   "valid": 17,
   "caught": 16,
   "survivors": 1,
   "invalid_syntax": 1
  },
  {
   "id": "true-false",
   "label": "true \u2192 false",
   "description": "flip a boolean literal",
   "sites": 8,
   "valid": 8,
   "caught": 8,
   "survivors": 0,
   "invalid_syntax": 0
  },
  {
   "id": "false-true",
   "label": "false \u2192 true",
   "description": "flip a boolean literal",
   "sites": 2,
   "valid": 2,
   "caught": 2,
   "survivors": 0,
   "invalid_syntax": 0
  },
  {
   "id": "lt-widen",
   "label": "< \u2192 <=",
   "description": "widen a strict less-than",
   "sites": 1,
   "valid": 1,
   "caught": 0,
   "survivors": 1,
   "invalid_syntax": 0
  },
  {
   "id": "gt-widen",
   "label": "> \u2192 >=",
   "description": "widen a strict greater-than",
   "sites": 7,
   "valid": 7,
   "caught": 4,
   "survivors": 3,
   "invalid_syntax": 0
  },
  {
   "id": "le-narrow",
   "label": "<= \u2192 <",
   "description": "narrow a less-than-or-equal",
   "sites": 5,
   "valid": 5,
   "caught": 4,
   "survivors": 1,
   "invalid_syntax": 0
  },
  {
   "id": "ge-narrow",
   "label": ">= \u2192 >",
   "description": "narrow a greater-than-or-equal",
   "sites": 0,
   "valid": 0,
   "caught": 0,
   "survivors": 0,
   "invalid_syntax": 0
  },
  {
   "id": "int-bump",
   "label": "integer n \u2192 n+1",
   "description": "off-by-one an integer literal",
   "sites": 21,
   "valid": 21,
   "caught": 12,
   "survivors": 9,
   "invalid_syntax": 0
  }
 ],
 "totals": {
  "operators": 12,
  "sites": 114,
  "valid_mutants": 113,
  "caught": 92,
  "survivors": 21,
  "invalid_syntax": 1,
  "survivor_rate": 18.6
 },
 "mutants": [
  {
   "id": "eq-flip@L67:c27",
   "op": "eq-flip",
   "line": 67,
   "col": 27,
   "original": " =>\u23ce  (x !== null && typeof x === 'object' && !Array.isArray(x)",
   "token": "===",
   "replacement": "!==",
   "context": "(x !== null && typeof x === 'object' && !Array.isArray(x))",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "053693e26236a6f1c0195f8ce5fb4adbde481d07619a7d1db3cbbc72ec27279f"
  },
  {
   "id": "eq-flip@L107:c32",
   "op": "eq-flip",
   "line": 107,
   "col": 32,
   "original": " const statusOk = card.status === 'active';\u23ce  return { verify: ",
   "token": "===",
   "replacement": "!==",
   "context": "const statusOk = card.status === 'active';",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial"
   ],
   "sha256": "5926220e149c7ffb1d8dcf912b92b37966fdd0ba0d5a4acaeb12ca86fe84807c"
  },
  {
   "id": "eq-flip@L117:c32",
   "op": "eq-flip",
   "line": 117,
   "col": 32,
   "original": " const statusOk = card.status === 'active';\u23ce  return { verify: ",
   "token": "===",
   "replacement": "!==",
   "context": "const statusOk = card.status === 'active';",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "12f91e10409114b0fb5d235445a4a2ef3b63b5bbba0eb0d33ecc11743a0837ac"
  },
  {
   "id": "eq-flip@L136:c32",
   "op": "eq-flip",
   "line": 136,
   "col": 32,
   "original": " const statusOk = card.status === 'active';\u23ce  return { verify: ",
   "token": "===",
   "replacement": "!==",
   "context": "const statusOk = card.status === 'active';",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "f3e3caee9235dfe2706b7b8c3fffb14139e7ede17ebe70edea5d7338a61d23b4"
  },
  {
   "id": "eq-flip@L144:c27",
   "op": "eq-flip",
   "line": 144,
   "col": 27,
   "original": " };\u23ce  return { verify: digest === validAtcSha, stages: null };\u23ce",
   "token": "===",
   "replacement": "!==",
   "context": "return { verify: digest === validAtcSha, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "2eab8f468d0f5b29187dbc22a67110a6084e5c34790bed3ebacb44d2375566bc"
  },
  {
   "id": "eq-flip@L163:c32",
   "op": "eq-flip",
   "line": 163,
   "col": 32,
   "original": " const statusOk = card.status === 'active';\u23ce  const truth = { v",
   "token": "===",
   "replacement": "!==",
   "context": "const statusOk = card.status === 'active';",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "57d53038b2416103992f093a472eca534c9fde59c8e5da70661f880d3ecd2fa6"
  },
  {
   "id": "eq-flip@L176:c28",
   "op": "eq-flip",
   "line": 176,
   "col": 28,
   "original": ");\u23ce    let correct = r.verify === expected_verify;\u23ce    if (corr",
   "token": "===",
   "replacement": "!==",
   "context": "let correct = r.verify === expected_verify;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial"
   ],
   "sha256": "8d124515d36e9c90c2d5d4a7560d82b78b936cda5c39538f5f696420ccc0a43f"
  },
  {
   "id": "eq-flip@L232:c34",
   "op": "eq-flip",
   "line": 232,
   "col": 34,
   "original": " const statusOk = card.status === 'active';\u23ce    const expected_",
   "token": "===",
   "replacement": "!==",
   "context": "const statusOk = card.status === 'active';",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "exit-1"
   ],
   "sha256": "ae20a41121e9f72b7c365c02dae85cfeb0d0e28d05608c57bcd3ef41ad859eb1"
  },
  {
   "id": "eq-flip@L235:c48",
   "op": "eq-flip",
   "line": 235,
   "col": 48,
   "original": "genIndex?.find(m => m.card_id === card.card_id);\u23ce    if (meta) ",
   "token": "===",
   "replacement": "!==",
   "context": "const meta = genIndex?.find(m => m.card_id === card.card_id);",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "exit-1"
   ],
   "sha256": "e9895eebe00886413d6650552b9de6dbf326f3f4a88c92686f4e77547f5704ed"
  },
  {
   "id": "eq-flip@L277:c23",
   "op": "eq-flip",
   "line": 277,
   "col": 23,
   "original": "`);\u23ce  }\u23ce  const allOk = s1.ok === s1.total && (!generated.lengt",
   "token": "===",
   "replacement": "!==",
   "context": "const allOk = s1.ok === s1.total && (!generated.length || score(reference, generated).ok === generated.length);",
   "status": "caught",
   "diverges_at": [
    "reference",
    "adversarial"
   ],
   "sha256": "19d4dde59251ef2528accf190f0e7501366f44b6151e61212876e5082348b750"
  },
  {
   "id": "eq-flip@L277:c92",
   "op": "eq-flip",
   "line": 277,
   "col": 92,
   "original": "core(reference, generated).ok === generated.length);\u23ce  console.",
   "token": "===",
   "replacement": "!==",
   "context": "const allOk = s1.ok === s1.total && (!generated.length || score(reference, generated).ok === generated.length);",
   "status": "caught",
   "diverges_at": [
    "adversarial"
   ],
   "sha256": "7b8b412d6bc7bed578c9133045d9aebbb4f46cbf3c918f0b3bc426d4ea3714b1"
  },
  {
   "id": "neq-flip@L67:c6",
   "op": "neq-flip",
   "line": 67,
   "col": 6,
   "original": "N.stringify(v, (k, x) =>\u23ce  (x !== null && typeof x === 'object'",
   "token": "!==",
   "replacement": "===",
   "context": "(x !== null && typeof x === 'object' && !Array.isArray(x))",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "79f47290ef972d294ac56ab6114066ef23738fbed4189731736eeb3cc52c3d88"
  },
  {
   "id": "neq-flip@L77:c23",
   "op": "neq-flip",
   "line": 77,
   "col": 23,
   "original": "ated');\u23ceconst genDir = genIdx !== -1 && args[genIdx + 1] && !ar",
   "token": "!==",
   "replacement": "===",
   "context": "const genDir = genIdx !== -1 && args[genIdx + 1] && !args[genIdx + 1].startsWith('--') ? args[genIdx + 1] : null;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned"
   ],
   "sha256": "556c319e84911a98118b9b28be356be70b226766b6e490ae176513d84d2a18b0"
  },
  {
   "id": "neq-flip@L179:c29",
   "op": "neq-flip",
   "line": 179,
   "col": 29,
   "original": "{\u23ce        if (r.stages[stage] !== expected) { correct = false; ",
   "token": "!==",
   "replacement": "===",
   "context": "if (r.stages[stage] !== expected) { correct = false; break; }",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial"
   ],
   "sha256": "62b975b2b89d1f4866745b622bc687c7c3529d43982597d4b40bac4b4b2d89f7"
  },
  {
   "id": "neq-flip@L201:c21",
   "op": "neq-flip",
   "line": 201,
   "col": 21,
   "original": "subtree);\u23ce      if (rederived !== published) { console.error(`F",
   "token": "!==",
   "replacement": "===",
   "context": "if (rederived !== published) { console.error(`FATAL: ${v.id} re-derivation mismatch`); process.exit(1); }",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "6a33172e33730dccb3696de78308aa573ebed14f321f7d464bcb94652f91e76e"
  },
  {
   "id": "neq-flip@L202:c18",
   "op": "neq-flip",
   "line": 202,
   "col": 18,
   "original": "s.exit(1); }\u23ce      if (digest !== v.sha256) { console.error(`FA",
   "token": "!==",
   "replacement": "===",
   "context": "if (digest !== v.sha256) { console.error(`FATAL: ${v.id} digest mismatch vs _index.json`); process.exit(1); }",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "f9586e4d817dcc73a9aa84bf155216347fcbf15dcc9044db5a2cc0c9d7974e7b"
  },
  {
   "id": "neq-flip@L214:c73",
   "op": "neq-flip",
   "line": 214,
   "col": 73,
   "original": "f => f.endsWith('.json') && f !== '_generated-index.json' && !f",
   "token": "!==",
   "replacement": "===",
   "context": "for (const f of readdirSync(dir).filter(f => f.endsWith('.json') && f !== '_generated-index.json' && !f.startsWith('_'))",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned"
   ],
   "sha256": "ee8850aa73d1babdf402613157712d81d1a4cf53bbe4626dc3c0a7070b5b9782"
  },
  {
   "id": "neq-flip@L237:c32",
   "op": "neq-flip",
   "line": 237,
   "col": 32,
   "original": "     if (meta.expected_verify !== expected_verify) {\u23ce        co",
   "token": "!==",
   "replacement": "===",
   "context": "if (meta.expected_verify !== expected_verify) {",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "exit-1"
   ],
   "sha256": "9281916a7e029492744b131ae2c92f9abe5dab2131f8f9672c0986eb20ffb562"
  },
  {
   "id": "neq-flip@L243:c38",
   "op": "neq-flip",
   "line": 243,
   "col": 38,
   "original": "   if (expected_stages[stage] !== expected) {\u23ce            conso",
   "token": "!==",
   "replacement": "===",
   "context": "if (expected_stages[stage] !== expected) {",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "exit-1"
   ],
   "sha256": "21b0092e5ba9bd681beae47779e72463c167f66e8ce4d4b2c76165dd8bc20a7f"
  },
  {
   "id": "and-or@L67:c15",
   "op": "and-or",
   "line": 67,
   "col": 15,
   "original": "fy(v, (k, x) =>\u23ce  (x !== null && typeof x === 'object' && !Arr",
   "token": "&&",
   "replacement": "||",
   "context": "(x !== null && typeof x === 'object' && !Array.isArray(x))",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "bf1cb0f3092361958619b855374e626ccc59e490d5a95e9ea086e216685d01f9"
  },
  {
   "id": "and-or@L67:c40",
   "op": "and-or",
   "line": 67,
   "col": 40,
   "original": "null && typeof x === 'object' && !Array.isArray(x))\u23ce    ? Obje",
   "token": "&&",
   "replacement": "||",
   "context": "(x !== null && typeof x === 'object' && !Array.isArray(x))",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "7b0784c5f7031aa0315a6d508d07845e4f7034ff627153cbb4b1ab3d6a659a42"
  },
  {
   "id": "and-or@L77:c30",
   "op": "and-or",
   "line": 77,
   "col": 30,
   "original": "\u23ceconst genDir = genIdx !== -1 && args[genIdx + 1] && !args[gen",
   "token": "&&",
   "replacement": "||",
   "context": "const genDir = genIdx !== -1 && args[genIdx + 1] && !args[genIdx + 1].startsWith('--') ? args[genIdx + 1] : null;",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "32bd94372a60a89cc82728bdf4dab5ae54b9110229e70d272ae279e65aea6356"
  },
  {
   "id": "and-or@L77:c50",
   "op": "and-or",
   "line": 77,
   "col": 50,
   "original": "dx !== -1 && args[genIdx + 1] && !args[genIdx + 1].startsWith(",
   "token": "&&",
   "replacement": "||",
   "context": "const genDir = genIdx !== -1 && args[genIdx + 1] && !args[genIdx + 1].startsWith('--') ? args[genIdx + 1] : null;",
   "status": "caught",
   "diverges_at": [
    "reference"
   ],
   "sha256": "fd809e8522950e57a0c16e4327c087101fcc079d42358e51a05c4f19d35fffd0"
  },
  {
   "id": "and-or@L106:c59",
   "op": "and-or",
   "line": 106,
   "col": 59,
   "original": "oad.metadata.expires_at > NOW && card.payload.metadata.issued_",
   "token": "&&",
   "replacement": "||",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial"
   ],
   "sha256": "3722a52dde5cfe484ffe63674fd13a9cedb55e80889fc545047c889d61c0d1a3"
  },
  {
   "id": "and-or@L108:c26",
   "op": "and-or",
   "line": 108,
   "col": 26,
   "original": "ve';\u23ce  return { verify: sigOk && anchorOk && inWindow && statu",
   "token": "&&",
   "replacement": "||",
   "context": "return { verify: sigOk && anchorOk && inWindow && statusOk, stages: stagesOf(sigOk, anchorOk, inWindow, statusOk) };",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial"
   ],
   "sha256": "51b41c08e0f9a174cf69bc6a152cd2ea79bfa59e929f2f83c4c35be72f501fbd"
  },
  {
   "id": "and-or@L108:c38",
   "op": "and-or",
   "line": 108,
   "col": 38,
   "original": "n { verify: sigOk && anchorOk && inWindow && statusOk, stages:",
   "token": "&&",
   "replacement": "||",
   "context": "return { verify: sigOk && anchorOk && inWindow && statusOk, stages: stagesOf(sigOk, anchorOk, inWindow, statusOk) };",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial"
   ],
   "sha256": "a94a1ac8e2f31e71815f5862aae4cd9e4dfdebaf74d7e0cc8039fc973fe63acb"
  },
  {
   "id": "and-or@L108:c50",
   "op": "and-or",
   "line": 108,
   "col": 50,
   "original": "sigOk && anchorOk && inWindow && statusOk, stages: stagesOf(si",
   "token": "&&",
   "replacement": "||",
   "context": "return { verify: sigOk && anchorOk && inWindow && statusOk, stages: stagesOf(sigOk, anchorOk, inWindow, statusOk) };",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial"
   ],
   "sha256": "90c886f93f4e038570da3ffede5fc8890050c67e75c05a4fc25170582e691f29"
  },
  {
   "id": "and-or@L116:c59",
   "op": "and-or",
   "line": 116,
   "col": 59,
   "original": "oad.metadata.expires_at > NOW && card.payload.metadata.issued_",
   "token": "&&",
   "replacement": "||",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "a250f79cbdd842bfb199915964d3930e7866dd8da6f758e150e009eb89853523"
  },
  {
   "id": "and-or@L118:c29",
   "op": "and-or",
   "line": 118,
   "col": 29,
   "original": ";\u23ce  return { verify: inWindow && statusOk, stages: null };\u23ce};\u23ce",
   "token": "&&",
   "replacement": "||",
   "context": "return { verify: inWindow && statusOk, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "c953cbb99435e7c578818090dbf5ab283b46b3bd2e77f6699c939e19475be532"
  },
  {
   "id": "and-or@L127:c26",
   "op": "and-or",
   "line": 127,
   "col": 26,
   "original": "ey);\u23ce  return { verify: sigOk && anchorOk, stages: null };\u23ce};\u23ce",
   "token": "&&",
   "replacement": "||",
   "context": "return { verify: sigOk && anchorOk, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "8e1bec7b5e4253d20cf31e9c2dc5987848fa56573249a5c632a1a3da99b6b191"
  },
  {
   "id": "and-or@L135:c59",
   "op": "and-or",
   "line": 135,
   "col": 59,
   "original": "oad.metadata.expires_at > NOW && card.payload.metadata.issued_",
   "token": "&&",
   "replacement": "||",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "1f6ebf03aa57368a187693ba71d112dff4bd68553ddeb88c38ccb24b799695c8"
  },
  {
   "id": "and-or@L137:c26",
   "op": "and-or",
   "line": 137,
   "col": 26,
   "original": "ve';\u23ce  return { verify: sigOk && inWindow && statusOk, stages:",
   "token": "&&",
   "replacement": "||",
   "context": "return { verify: sigOk && inWindow && statusOk, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "4ed66306a18904d4b3096d3077d6ffc21e57c62fed33f5aca15e7ac20c38fda7"
  },
  {
   "id": "and-or@L137:c38",
   "op": "and-or",
   "line": 137,
   "col": 38,
   "original": "n { verify: sigOk && inWindow && statusOk, stages: null };\u23ce};\u23ce",
   "token": "&&",
   "replacement": "||",
   "context": "return { verify: sigOk && inWindow && statusOk, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "297d9d993e59adcd591d369f8885a9106dc7049a0f81feb11d0e3e84c82dfd0b"
  },
  {
   "id": "and-or@L162:c59",
   "op": "and-or",
   "line": 162,
   "col": 59,
   "original": "oad.metadata.expires_at > NOW && card.payload.metadata.issued_",
   "token": "&&",
   "replacement": "||",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "31c1c60f1e4277f53564e68d808bedae7f602d20790f034903bdb7da14d6ad41"
  },
  {
   "id": "and-or@L164:c33",
   "op": "and-or",
   "line": 164,
   "col": 33,
   "original": "const truth = { verify: sigOk && anchorOk && inWindow && statu",
   "token": "&&",
   "replacement": "||",
   "context": "const truth = { verify: sigOk && anchorOk && inWindow && statusOk, stages: stagesOf(sigOk, anchorOk, inWindow, statusOk)",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "1ceb95b1f66a4bea1093c2058c0bd78516e0c539792e1e41314de88ee55d17c7"
  },
  {
   "id": "and-or@L164:c45",
   "op": "and-or",
   "line": 164,
   "col": 45,
   "original": "= { verify: sigOk && anchorOk && inWindow && statusOk, stages:",
   "token": "&&",
   "replacement": "||",
   "context": "const truth = { verify: sigOk && anchorOk && inWindow && statusOk, stages: stagesOf(sigOk, anchorOk, inWindow, statusOk)",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "79d52d1509564ee44b7e594c88762a85176b85ec60e7270a0f5bc0855f16625e"
  },
  {
   "id": "and-or@L164:c57",
   "op": "and-or",
   "line": 164,
   "col": 57,
   "original": "sigOk && anchorOk && inWindow && statusOk, stages: stagesOf(si",
   "token": "&&",
   "replacement": "||",
   "context": "const truth = { verify: sigOk && anchorOk && inWindow && statusOk, stages: stagesOf(sigOk, anchorOk, inWindow, statusOk)",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "4b2cbc3f2be4f67d2eeeff0997a1b3cb89cd1c01173958ca3571d1ef365d32dc"
  },
  {
   "id": "and-or@L177:c17",
   "op": "and-or",
   "line": 177,
   "col": 17,
   "original": "ected_verify;\u23ce    if (correct && expected_stages && r.stages) ",
   "token": "&&",
   "replacement": "||",
   "context": "if (correct && expected_stages && r.stages) {",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial",
    "exit-1"
   ],
   "sha256": "5d0cb2c78cfff3940a61852865c46f6ffe1b1fc577023fa65f0c0e0e4b2e2cb8"
  },
  {
   "id": "and-or@L177:c36",
   "op": "and-or",
   "line": 177,
   "col": 36,
   "original": "f (correct && expected_stages && r.stages) {\u23ce      for (const ",
   "token": "&&",
   "replacement": "||",
   "context": "if (correct && expected_stages && r.stages) {",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "exit-1"
   ],
   "sha256": "1ad56c1027e4364bdaa82d3260a1c4a01dc36a1dd044f2b073168abc34b96d60"
  },
  {
   "id": "and-or@L214:c68",
   "op": "and-or",
   "line": 214,
   "col": 68,
   "original": "lter(f => f.endsWith('.json') && f !== '_generated-index.json'",
   "token": "&&",
   "replacement": "||",
   "context": "for (const f of readdirSync(dir).filter(f => f.endsWith('.json') && f !== '_generated-index.json' && !f.startsWith('_'))",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "d65765b6cd35474f8879ac871ba826f28a2f6ac13803ea75a84ca37e15c28fdd"
  },
  {
   "id": "and-or@L214:c101",
   "op": "and-or",
   "line": 214,
   "col": 101,
   "original": "f !== '_generated-index.json' && !f.startsWith('_'))) {\u23ce    co",
   "token": "&&",
   "replacement": "||",
   "context": "for (const f of readdirSync(dir).filter(f => f.endsWith('.json') && f !== '_generated-index.json' && !f.startsWith('_'))",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "fc8437005459eb24bd1b51add5bcb31b66d62b067d5d5fe90b4250dcd5bcb329"
  },
  {
   "id": "and-or@L231:c61",
   "op": "and-or",
   "line": 231,
   "col": 61,
   "original": "oad.metadata.expires_at > NOW && card.payload.metadata.issued_",
   "token": "&&",
   "replacement": "||",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "exit-1"
   ],
   "sha256": "0b832fcdee33a2105d753b55dd94e3933312fc6f47dc94303d591da1a17d4106"
  },
  {
   "id": "and-or@L233:c35",
   "op": "and-or",
   "line": 233,
   "col": 35,
   "original": "const expected_verify = sigOk && anchorOk && inWindow && statu",
   "token": "&&",
   "replacement": "||",
   "context": "const expected_verify = sigOk && anchorOk && inWindow && statusOk;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "exit-1"
   ],
   "sha256": "2bbf7f091c3387c1f7023cb408820d039a21f6c7edda371567fe1f2d7f679814"
  },
  {
   "id": "and-or@L233:c47",
   "op": "and-or",
   "line": 233,
   "col": 47,
   "original": "ed_verify = sigOk && anchorOk && inWindow && statusOk;\u23ce    con",
   "token": "&&",
   "replacement": "||",
   "context": "const expected_verify = sigOk && anchorOk && inWindow && statusOk;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "exit-1"
   ],
   "sha256": "3b5b11d9d78088398d752122d4d56466edf675ebcda0d848946ff5a3c28431c1"
  },
  {
   "id": "and-or@L233:c59",
   "op": "and-or",
   "line": 233,
   "col": 59,
   "original": "sigOk && anchorOk && inWindow && statusOk;\u23ce    const expected_",
   "token": "&&",
   "replacement": "||",
   "context": "const expected_verify = sigOk && anchorOk && inWindow && statusOk;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "exit-1"
   ],
   "sha256": "324961bb8d1482ba3bb7aaac9e14d13b85e1b0de75f774b819c896b41905915b"
  },
  {
   "id": "and-or@L277:c36",
   "op": "and-or",
   "line": 277,
   "col": 36,
   "original": "st allOk = s1.ok === s1.total && (!generated.length || score(r",
   "token": "&&",
   "replacement": "||",
   "context": "const allOk = s1.ok === s1.total && (!generated.length || score(reference, generated).ok === generated.length);",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "0572518714bed7e726275ba7a58b3a95e11a73461d4805d84d25ce23de35c7c5"
  },
  {
   "id": "or-and@L204:c105",
   "op": "or-and",
   "line": 204,
   "col": 105,
   "original": "ted_stages: v.expected_stages || null, digest });\u23ce  }\u23ce  return",
   "token": "||",
   "replacement": "&&",
   "context": "cards.push({ id: v.id, card, expected_verify: v.expected_verify, expected_stages: v.expected_stages || null, digest });",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "2d25b489e827fb8fed4ffbf972c4de4fe6064fdf50333b8432bd6c2c9057106d"
  },
  {
   "id": "or-and@L220:c32",
   "op": "or-and",
   "line": 220,
   "col": 32,
   "original": "   if (!card.signature?.value || !card.payload?.identity?.publ",
   "token": "||",
   "replacement": "&&",
   "context": "if (!card.signature?.value || !card.payload?.identity?.public_key ||",
   "status": "caught",
   "diverges_at": [
    "failclosed-malformed"
   ],
   "sha256": "82c1c77d8f3f96d88b1c55e75e6b47cabe8f52c80c0fd62aa89841599f6d5aab"
  },
  {
   "id": "or-and@L220:c71",
   "op": "or-and",
   "line": 220,
   "col": 71,
   "original": "payload?.identity?.public_key ||\u23ce        !card.payload?.metada",
   "token": "||",
   "replacement": "&&",
   "context": "if (!card.signature?.value || !card.payload?.identity?.public_key ||",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "fa0b8b3586c52c1122f3bbfce8e9b5b3bada2d0f794a99175abd8867dff7bd23"
  },
  {
   "id": "or-and@L221:c44",
   "op": "or-and",
   "line": 221,
   "col": 44,
   "original": ".payload?.metadata?.issued_at || !card.payload?.metadata?.expi",
   "token": "||",
   "replacement": "&&",
   "context": "!card.payload?.metadata?.issued_at || !card.payload?.metadata?.expires_at || !card.status) {",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "7c81abf354f109861b41d8c0f928b359c93e18ade465b465a179976374f32140"
  },
  {
   "id": "or-and@L221:c83",
   "op": "or-and",
   "line": 221,
   "col": 83,
   "original": "payload?.metadata?.expires_at || !card.status) {\u23ce      console",
   "token": "||",
   "replacement": "&&",
   "context": "!card.payload?.metadata?.issued_at || !card.payload?.metadata?.expires_at || !card.status) {",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "ac8a98a6ce1876da6d39dce8456efe56028d12c440634aa9ff0ffd2efd804ae4"
  },
  {
   "id": "or-and@L277:c58",
   "op": "or-and",
   "line": 277,
   "col": 58,
   "original": "1.total && (!generated.length || score(reference, generated).o",
   "token": "||",
   "replacement": "&&",
   "context": "const allOk = s1.ok === s1.total && (!generated.length || score(reference, generated).ok === generated.length);",
   "status": "caught",
   "diverges_at": [
    "adversarial"
   ],
   "sha256": "a78531d0672eaf862014f44e47a0c2a9417d4f8b429d49094c03322c9097a476"
  },
  {
   "id": "not-drop@L1:c2",
   "op": "not-drop",
   "line": 1,
   "col": 2,
   "original": "#!/usr/bin/env node\u23ce// =========",
   "token": "!",
   "replacement": "(removed)",
   "context": "#!/usr/bin/env node",
   "status": "invalid-syntax",
   "note": "operator application produced unparsable JavaScript \u2014 counted, not silently dropped"
  },
  {
   "id": "not-drop@L67:c43",
   "op": "not-drop",
   "line": 67,
   "col": 43,
   "original": "l && typeof x === 'object' && !Array.isArray(x))\u23ce    ? Object",
   "token": "!",
   "replacement": "(removed)",
   "context": "(x !== null && typeof x === 'object' && !Array.isArray(x))",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "f9176a6917de521f44fa26f07c882ba6687b9f40a08136caae120d31a0bf7b5f"
  },
  {
   "id": "not-drop@L77:c53",
   "op": "not-drop",
   "line": 77,
   "col": 53,
   "original": "!== -1 && args[genIdx + 1] && !args[genIdx + 1].startsWith('-",
   "token": "!",
   "replacement": "(removed)",
   "context": "const genDir = genIdx !== -1 && args[genIdx + 1] && !args[genIdx + 1].startsWith('--') ? args[genIdx + 1] : null;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned"
   ],
   "sha256": "fd5c4db614519e49290f4447ebcb8b22c69eea9955cbd76591ba6e8f72a921e3"
  },
  {
   "id": "not-drop@L99:c7",
   "op": "not-drop",
   "line": 99,
   "col": 7,
   "original": "e = (card, digest) => {\u23ce  if (!card.signature) return { verif",
   "token": "!",
   "replacement": "(removed)",
   "context": "if (!card.signature) return { verify: true, stages: null }; // translation family",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial",
    "exit-1"
   ],
   "sha256": "b39778f1c7aabcead3eb43479df4e150c588a8e85ef29433b7de9767f00d7f71"
  },
  {
   "id": "not-drop@L115:c7",
   "op": "not-drop",
   "line": 115,
   "col": 7,
   "original": "deleted from the runner\u23ce  if (!card.signature) return { verif",
   "token": "!",
   "replacement": "(removed)",
   "context": "if (!card.signature) return { verify: true, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "exit-1"
   ],
   "sha256": "922207591993cb07ab71414e1c77cec12078d8fed7ead9b6361e195499036eca"
  },
  {
   "id": "not-drop@L122:c7",
   "op": "not-drop",
   "line": 122,
   "col": 7,
   "original": "no expiry/status checks\u23ce  if (!card.signature) return { verif",
   "token": "!",
   "replacement": "(removed)",
   "context": "if (!card.signature) return { verify: true, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "exit-1"
   ],
   "sha256": "54944fe379e2f2f331498acdc7ee2be97c75904a45ff570e794f06a94ffd7cc8"
  },
  {
   "id": "not-drop@L131:c7",
   "op": "not-drop",
   "line": 131,
   "col": 7,
   "original": "-on-first-use) + policy\u23ce  if (!card.signature) return { verif",
   "token": "!",
   "replacement": "(removed)",
   "context": "if (!card.signature) return { verify: true, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "exit-1"
   ],
   "sha256": "d91e9011e598f31f37ebf2458e264a6ac731dc321172fae694ea963bdf08f3d7"
  },
  {
   "id": "not-drop@L143:c7",
   "op": "not-drop",
   "line": 143,
   "col": 7,
   "original": "r = (card, digest) => {\u23ce  if (!card.signature) return { verif",
   "token": "!",
   "replacement": "(removed)",
   "context": "if (!card.signature) return { verify: true, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "1fb55803e6f154693ec7323538f174c539aebabdc12ada272dd7cb97f2ad7003"
  },
  {
   "id": "not-drop@L149:c7",
   "op": "not-drop",
   "line": 149,
   "col": 7,
   "original": "r = (card, digest) => {\u23ce  if (!card.signature) return { verif",
   "token": "!",
   "replacement": "(removed)",
   "context": "if (!card.signature) return { verify: true, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "exit-1"
   ],
   "sha256": "1406319500da41c630634c343b19d81e1c5ea132e859d5b29861150d381c923c"
  },
  {
   "id": "not-drop@L157:c7",
   "op": "not-drop",
   "line": 157,
   "col": 7,
   "original": "stageLiar = (card) => {\u23ce  if (!card.signature) return { verif",
   "token": "!",
   "replacement": "(removed)",
   "context": "if (!card.signature) return { verify: true, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "exit-1"
   ],
   "sha256": "726c51e3b22ca11d631017bb25d398652a2ce867f1ff701e19b3dac5d9e1f07b"
  },
  {
   "id": "not-drop@L214:c104",
   "op": "not-drop",
   "line": 214,
   "col": 104,
   "original": "== '_generated-index.json' && !f.startsWith('_'))) {\u23ce    cons",
   "token": "!",
   "replacement": "(removed)",
   "context": "for (const f of readdirSync(dir).filter(f => f.endsWith('.json') && f !== '_generated-index.json' && !f.startsWith('_'))",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned"
   ],
   "sha256": "f407cf2d915ae8cd1d29b6548960839b47575571fa29d7643c9ba78197efb18c"
  },
  {
   "id": "not-drop@L220:c9",
   "op": "not-drop",
   "line": 220,
   "col": 9,
   "original": " FATAL (fail closed).\u23ce    if (!card.signature?.value || !card",
   "token": "!",
   "replacement": "(removed)",
   "context": "if (!card.signature?.value || !card.payload?.identity?.public_key ||",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "52739592eccc5d13aa46fb07251dbf2162ffa1299812958371dbd3fadd30712d"
  },
  {
   "id": "not-drop@L220:c35",
   "op": "not-drop",
   "line": 220,
   "col": 35,
   "original": "if (!card.signature?.value || !card.payload?.identity?.public",
   "token": "!",
   "replacement": "(removed)",
   "context": "if (!card.signature?.value || !card.payload?.identity?.public_key ||",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "5d917e7c4419289b3d2699fc976f8e850f834cb9fe9be12d464b1a33899bff6d"
  },
  {
   "id": "not-drop@L221:c9",
   "op": "not-drop",
   "line": 221,
   "col": 9,
   "original": "entity?.public_key ||\u23ce        !card.payload?.metadata?.issued",
   "token": "!",
   "replacement": "(removed)",
   "context": "!card.payload?.metadata?.issued_at || !card.payload?.metadata?.expires_at || !card.status) {",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "a8dcd1f372ae5784676be9706cc4808330834aff99aedae8b9d3a697b1447f8b"
  },
  {
   "id": "not-drop@L221:c47",
   "op": "not-drop",
   "line": 221,
   "col": 47,
   "original": "yload?.metadata?.issued_at || !card.payload?.metadata?.expire",
   "token": "!",
   "replacement": "(removed)",
   "context": "!card.payload?.metadata?.issued_at || !card.payload?.metadata?.expires_at || !card.status) {",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "f38cd1f269b8ca54b2503bbca624fc2657af6c6ce3465262a5755dab247de5de"
  },
  {
   "id": "not-drop@L221:c86",
   "op": "not-drop",
   "line": 221,
   "col": 86,
   "original": "load?.metadata?.expires_at || !card.status) {\u23ce      console.e",
   "token": "!",
   "replacement": "(removed)",
   "context": "!card.payload?.metadata?.issued_at || !card.payload?.metadata?.expires_at || !card.status) {",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "8e9a8490934042504defd3e1c907626651062b67589fc07bf682903cb4822311"
  },
  {
   "id": "not-drop@L267:c5",
   "op": "not-drop",
   "line": 267,
   "col": 5,
   "original": "dGenerated(genDir) : [];\u23ce\u23ceif (!wantMatrix) {\u23ce  // reference r",
   "token": "!",
   "replacement": "(removed)",
   "context": "if (!wantMatrix) {",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial"
   ],
   "sha256": "40390fc660ad6c279e7489581229c2086e30488f07ca1577c2257764259d9eed"
  },
  {
   "id": "not-drop@L277:c40",
   "op": "not-drop",
   "line": 277,
   "col": 40,
   "original": "llOk = s1.ok === s1.total && (!generated.length || score(refe",
   "token": "!",
   "replacement": "(removed)",
   "context": "const allOk = s1.ok === s1.total && (!generated.length || score(reference, generated).ok === generated.length);",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "d9ac66eb74d687f0bb60b24be8459116ce81e1a7b4c9a6fa2c78b419e16c5fd7"
  },
  {
   "id": "true-false@L99:c41",
   "op": "true-false",
   "line": 99,
   "col": 41,
   "original": "d.signature) return { verify: true, stages: null }; // translati",
   "token": "true",
   "replacement": "false",
   "context": "if (!card.signature) return { verify: true, stages: null }; // translation family",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial"
   ],
   "sha256": "4a5e0005ae8a1dbe20068fd6896c9cb456f651e31647eabeb657d9aa37a6e153"
  },
  {
   "id": "true-false@L112:c41",
   "op": "true-false",
   "line": 112,
   "col": 41,
   "original": "ysTrue = (card) => ({ verify: true, stages: null });\u23ce\u23ceconst poli",
   "token": "true",
   "replacement": "false",
   "context": "const alwaysTrue = (card) => ({ verify: true, stages: null });",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "0c327598eb3befd6d76c160b9e0c9dfafabfb14c7c8925c961379fe118825270"
  },
  {
   "id": "true-false@L115:c41",
   "op": "true-false",
   "line": 115,
   "col": 41,
   "original": "d.signature) return { verify: true, stages: null };\u23ce  const inWi",
   "token": "true",
   "replacement": "false",
   "context": "if (!card.signature) return { verify: true, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "063e279cd209f18cc7a8c7645a47e6c865b3d5287d0b9a6a188812e6d5a12912"
  },
  {
   "id": "true-false@L122:c41",
   "op": "true-false",
   "line": 122,
   "col": 41,
   "original": "d.signature) return { verify: true, stages: null };\u23ce  const { si",
   "token": "true",
   "replacement": "false",
   "context": "if (!card.signature) return { verify: true, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "2c4ed43fb7e0b76c28c2d736f31b469526feeede55a66dabe00d26208939bea6"
  },
  {
   "id": "true-false@L131:c41",
   "op": "true-false",
   "line": 131,
   "col": 41,
   "original": "d.signature) return { verify: true, stages: null };\u23ce  const { si",
   "token": "true",
   "replacement": "false",
   "context": "if (!card.signature) return { verify: true, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "ea79f5d0e6887646afb6c65a34d978af6a66c7be500e88f2a5994b32d21315dd"
  },
  {
   "id": "true-false@L143:c41",
   "op": "true-false",
   "line": 143,
   "col": 41,
   "original": "d.signature) return { verify: true, stages: null };\u23ce  return { v",
   "token": "true",
   "replacement": "false",
   "context": "if (!card.signature) return { verify: true, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "d1baf9ec874782fb6fa20f85c01e114377ef0641f475edf776004ebb8789d84f"
  },
  {
   "id": "true-false@L149:c41",
   "op": "true-false",
   "line": 149,
   "col": 41,
   "original": "d.signature) return { verify: true, stages: null };\u23ce  const hasU",
   "token": "true",
   "replacement": "false",
   "context": "if (!card.signature) return { verify: true, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "bd6810cd6d0f7854fec9c0b198737358b3cb60d5f3de92c42750ac0286091a76"
  },
  {
   "id": "true-false@L157:c41",
   "op": "true-false",
   "line": 157,
   "col": 41,
   "original": "d.signature) return { verify: true, stages: null };\u23ce  const { si",
   "token": "true",
   "replacement": "false",
   "context": "if (!card.signature) return { verify: true, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "6bd2ba2dc905c04095b8d9b17e11b2dd6a153dee97f3142239c6fbf7d7a44142"
  },
  {
   "id": "false-true@L151:c36",
   "op": "false-true",
   "line": 151,
   "col": 36,
   "original": "(hasUnknown) return { verify: false, stages: null };\u23ce  return ref",
   "token": "false",
   "replacement": "true",
   "context": "if (hasUnknown) return { verify: false, stages: null };",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "19f586e1c801f10910916f1bb7333b28de3332fa6d4c62382ad79b1339a5d1da"
  },
  {
   "id": "false-true@L179:c55",
   "op": "false-true",
   "line": 179,
   "col": 55,
   "original": "ge] !== expected) { correct = false; break; }\u23ce      }\u23ce    }\u23ce    i",
   "token": "false",
   "replacement": "true",
   "context": "if (r.stages[stage] !== expected) { correct = false; break; }",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "732dd1cb12cc869474666d97e22a4881faed3d0388efb831940465cf0ac4b439"
  },
  {
   "id": "lt-widen@L68:c66",
   "op": "lt-widen",
   "line": 68,
   "col": 66,
   "original": "ries(x).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))\u23ce   ",
   "token": "<",
   "replacement": "<=",
   "context": "? Object.fromEntries(Object.entries(x).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "525f65b215962df08779a4247aaef317c1ceabe7c7370ecc0801577d3cc0cf71"
  },
  {
   "id": "gt-widen@L68:c79",
   "op": "gt-widen",
   "line": 68,
   "col": 79,
   "original": "([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))\u23ce    : x);\u23ce\u23ceconst",
   "token": ">",
   "replacement": ">=",
   "context": "? Object.fromEntries(Object.entries(x).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "92eb3ed61dfbd109bb21c998a42fce969954eb6962214624f5a98ff31e3b8015"
  },
  {
   "id": "gt-widen@L106:c53",
   "op": "gt-widen",
   "line": 106,
   "col": 53,
   "original": "d.payload.metadata.expires_at > NOW && card.payload.metadata.",
   "token": ">",
   "replacement": ">=",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial"
   ],
   "sha256": "7ece13945eb23867ae41156c5a5cf2ded56689abc9757ded2ef6599b65d8aa02"
  },
  {
   "id": "gt-widen@L116:c53",
   "op": "gt-widen",
   "line": 116,
   "col": 53,
   "original": "d.payload.metadata.expires_at > NOW && card.payload.metadata.",
   "token": ">",
   "replacement": ">=",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "585b2e0531fa10d3bf9a14ad0fcecc83973096a3434f606a6680e4aab11d4e42"
  },
  {
   "id": "gt-widen@L135:c53",
   "op": "gt-widen",
   "line": 135,
   "col": 53,
   "original": "d.payload.metadata.expires_at > NOW && card.payload.metadata.",
   "token": ">",
   "replacement": ">=",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "75408c00e399df83bccc91400fab4d0a035470f8395cf8dd8672c38988a7d14b"
  },
  {
   "id": "gt-widen@L162:c53",
   "op": "gt-widen",
   "line": 162,
   "col": 53,
   "original": "d.payload.metadata.expires_at > NOW && card.payload.metadata.",
   "token": ">",
   "replacement": ">=",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "914833a3adf802ceb390403abfa7d3142ebe425809c5d0661fe4690d46c8fe48"
  },
  {
   "id": "gt-widen@L231:c55",
   "op": "gt-widen",
   "line": 231,
   "col": 55,
   "original": "d.payload.metadata.expires_at > NOW && card.payload.metadata.",
   "token": ">",
   "replacement": ">=",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "exit-1"
   ],
   "sha256": "d512c0a379a4f3c7c32abc601b6492860d09fa57dee36f7344d289356e97080b"
  },
  {
   "id": "gt-widen@L299:c133",
   "op": "gt-widen",
   "line": 299,
   "col": 133,
   "original": "join(', ')}${sf.failed.length > 3 ? '\u2026' : ''}` : ''} | ${sg ?",
   "token": ">",
   "replacement": ">=",
   "context": "console.log(`| ${name} | ${sf.ok}/${sf.total} ${sf.failed.length ? `\u2190 fails ${sf.failed.slice(0, 3).join(', ')}${sf.fail",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "5c9305c0234c4d8f36f0e21fcd8741c468dbe6aa52383da364c5e4a406edfac9"
  },
  {
   "id": "le-narrow@L106:c94",
   "op": "le-narrow",
   "line": 106,
   "col": 94,
   "original": "rd.payload.metadata.issued_at <= NOW;\u23ce  const statusOk = card.",
   "token": "<=",
   "replacement": "<",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial"
   ],
   "sha256": "604fb4ad0824015dd9c957e1c55c447c04005dfd52b2563f117b12341d342789"
  },
  {
   "id": "le-narrow@L116:c94",
   "op": "le-narrow",
   "line": 116,
   "col": 94,
   "original": "rd.payload.metadata.issued_at <= NOW;\u23ce  const statusOk = card.",
   "token": "<=",
   "replacement": "<",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "3dffd62ad59eaad63040f8464f60dbeff54c5c52d26014b77e5c8c7f0c2670cb"
  },
  {
   "id": "le-narrow@L135:c94",
   "op": "le-narrow",
   "line": 135,
   "col": 94,
   "original": "rd.payload.metadata.issued_at <= NOW;\u23ce  const statusOk = card.",
   "token": "<=",
   "replacement": "<",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "09744f8e459a21f92ed62f2cce9d1c88a3a554dac052c723e0ad7b30065cd301"
  },
  {
   "id": "le-narrow@L162:c94",
   "op": "le-narrow",
   "line": 162,
   "col": 94,
   "original": "rd.payload.metadata.issued_at <= NOW;\u23ce  const statusOk = card.",
   "token": "<=",
   "replacement": "<",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "a5dcb0f68578e89a069d63699b98691b03ae6f4b425cc54821a9dd7e143c39d9"
  },
  {
   "id": "le-narrow@L231:c96",
   "op": "le-narrow",
   "line": 231,
   "col": 96,
   "original": "rd.payload.metadata.issued_at <= NOW;\u23ce    const statusOk = car",
   "token": "<=",
   "replacement": "<",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "exit-1"
   ],
   "sha256": "9bc531ceb6adfdd60fa280c5c9402fba2a30e598ee040193ec325a6fdea583de"
  },
  {
   "id": "int-bump@L64:c44",
   "op": "int-bump",
   "line": 64,
   "col": 44,
   "original": "ew Date().toISOString().slice(0, 10) + 'T00:00:00Z';\u23ce\u23ceconst j",
   "token": "0",
   "replacement": "1",
   "context": "const NOW = new Date().toISOString().slice(0, 10) + 'T00:00:00Z';",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial",
    "exit-1"
   ],
   "sha256": "720fa4f60e83323316b6f119adf972f8f077ec26eba497d3e4d163368cb7064a"
  },
  {
   "id": "int-bump@L64:c47",
   "op": "int-bump",
   "line": 64,
   "col": 47,
   "original": "Date().toISOString().slice(0, 10) + 'T00:00:00Z';\u23ce\u23ceconst jcs =",
   "token": "10",
   "replacement": "11",
   "context": "const NOW = new Date().toISOString().slice(0, 10) + 'T00:00:00Z';",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "exit-1"
   ],
   "sha256": "48aee91e6bf74c4f2415e0e2f871345f21fd0193ca2a9b7aca27f613e030df69"
  },
  {
   "id": "int-bump@L68:c73",
   "op": "int-bump",
   "line": 68,
   "col": 73,
   "original": ".sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))\u23ce    : x);\u23ce",
   "token": "1",
   "replacement": "2",
   "context": "? Object.fromEntries(Object.entries(x).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "9d1e6fbdec5e1b37bf54c6888c4c78bab90dbe1428b642425e423650ee16aafe"
  },
  {
   "id": "int-bump@L68:c85",
   "op": "int-bump",
   "line": 68,
   "col": 85,
   "original": "[b]) => (a < b ? -1 : a > b ? 1 : 0)))\u23ce    : x);\u23ce\u23ceconst sha25",
   "token": "1",
   "replacement": "2",
   "context": "? Object.fromEntries(Object.entries(x).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "3dee9424b856fc8f7d3009ff704f00a2b46dfbe9da6f933f5bce52c86523f3f7"
  },
  {
   "id": "int-bump@L68:c89",
   "op": "int-bump",
   "line": 68,
   "col": 89,
   "original": " => (a < b ? -1 : a > b ? 1 : 0)))\u23ce    : x);\u23ce\u23ceconst sha256hex",
   "token": "0",
   "replacement": "1",
   "context": "? Object.fromEntries(Object.entries(x).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "c5effd454d219f596046c6074f35ef1fc152bb06ee36f550a1e8aeee5fd65c74"
  },
  {
   "id": "int-bump@L74:c33",
   "op": "int-bump",
   "line": 74,
   "col": 33,
   "original": "nst args = process.argv.slice(2);\u23ceconst wantMatrix = args.inc",
   "token": "2",
   "replacement": "3",
   "context": "const args = process.argv.slice(2);",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned"
   ],
   "sha256": "2ba9861d04024ff873b5bd71a72186accaf5a34a4d637984ecae43818b991577"
  },
  {
   "id": "int-bump@L77:c28",
   "op": "int-bump",
   "line": 77,
   "col": 28,
   "original": ");\u23ceconst genDir = genIdx !== -1 && args[genIdx + 1] && !args[",
   "token": "1",
   "replacement": "2",
   "context": "const genDir = genIdx !== -1 && args[genIdx + 1] && !args[genIdx + 1].startsWith('--') ? args[genIdx + 1] : null;",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "2a4ceacd24ce25dfcd2ceeaf6b2bd5187a71d78de6c7ca945488311366a58b48"
  },
  {
   "id": "int-bump@L77:c47",
   "op": "int-bump",
   "line": 77,
   "col": 47,
   "original": "enIdx !== -1 && args[genIdx + 1] && !args[genIdx + 1].startsW",
   "token": "1",
   "replacement": "2",
   "context": "const genDir = genIdx !== -1 && args[genIdx + 1] && !args[genIdx + 1].startsWith('--') ? args[genIdx + 1] : null;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned"
   ],
   "sha256": "199f64aaf6e971b78ae5ecf13fba637868b68760e9c4f459ea227ea4419e1ec7"
  },
  {
   "id": "int-bump@L77:c68",
   "op": "int-bump",
   "line": 77,
   "col": 68,
   "original": "genIdx + 1] && !args[genIdx + 1].startsWith('--') ? args[genI",
   "token": "1",
   "replacement": "2",
   "context": "const genDir = genIdx !== -1 && args[genIdx + 1] && !args[genIdx + 1].startsWith('--') ? args[genIdx + 1] : null;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned",
    "exit-1"
   ],
   "sha256": "b7ef52787932a3808bc42c547616d48e5aab65a5026c1d2d24491236854a5d32"
  },
  {
   "id": "int-bump@L77:c104",
   "op": "int-bump",
   "line": 77,
   "col": 104,
   "original": "rtsWith('--') ? args[genIdx + 1] : null;\u23ce\u23ce// --- load manifes",
   "token": "1",
   "replacement": "2",
   "context": "const genDir = genIdx !== -1 && args[genIdx + 1] && !args[genIdx + 1].startsWith('--') ? args[genIdx + 1] : null;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "adversarial",
    "failclosed-malformed",
    "failclosed-poisoned"
   ],
   "sha256": "0ffbb952ad1a94a00e97fa407d65a8fa0415d220b1ed81b1b00761f8419c175c"
  },
  {
   "id": "int-bump@L172:c12",
   "op": "int-bump",
   "line": 172,
   "col": 12,
   "original": "unner, cards) => {\u23ce  let ok = 0;\u23ce  const failed = [];\u23ce  for (",
   "token": "0",
   "replacement": "1",
   "context": "let ok = 0;",
   "status": "caught",
   "diverges_at": [
    "matrix",
    "reference",
    "adversarial"
   ],
   "sha256": "b83ff962cdc1253bfc5eb304d735b14c4ea5a2ed41993ed23f0bb48ccbeebae1"
  },
  {
   "id": "int-bump@L201:c107",
   "op": "int-bump",
   "line": 201,
   "col": 107,
   "original": "tion mismatch`); process.exit(1); }\u23ce      if (digest !== v.sh",
   "token": "1",
   "replacement": "2",
   "context": "if (rederived !== published) { console.error(`FATAL: ${v.id} re-derivation mismatch`); process.exit(1); }",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "9a017fb1fac484fdf461b531a8179c047fd1d6de7af62d0f314295a38ecb7df7"
  },
  {
   "id": "int-bump@L202:c111",
   "op": "int-bump",
   "line": 202,
   "col": 111,
   "original": "s _index.json`); process.exit(1); }\u23ce    }\u23ce    cards.push({ id",
   "token": "1",
   "replacement": "2",
   "context": "if (digest !== v.sha256) { console.error(`FATAL: ${v.id} digest mismatch vs _index.json`); process.exit(1); }",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "5cbfa130e5ff955bf440dda3df55f15c18802d63f15c014018455a23dec2d66c"
  },
  {
   "id": "int-bump@L223:c20",
   "op": "int-bump",
   "line": 223,
   "col": 20,
   "original": "closed.`);\u23ce      process.exit(1);\u23ce    }\u23ce    const { signature",
   "token": "1",
   "replacement": "2",
   "context": "process.exit(1);",
   "status": "caught",
   "diverges_at": [
    "failclosed-malformed"
   ],
   "sha256": "456e993e12b0895ac91aa152bcb0add011ce5de273a4ea2e05f9f0cc2fed0874"
  },
  {
   "id": "int-bump@L239:c22",
   "op": "int-bump",
   "line": 239,
   "col": 22,
   "original": "core.`);\u23ce        process.exit(1);\u23ce      }\u23ce      if (meta.expe",
   "token": "1",
   "replacement": "2",
   "context": "process.exit(1);",
   "status": "caught",
   "diverges_at": [
    "failclosed-poisoned"
   ],
   "sha256": "e40e8260f9257c4197750cfd7557437cb6a5d09cda9df9c1381d122c1e295936"
  },
  {
   "id": "int-bump@L245:c26",
   "op": "int-bump",
   "line": 245,
   "col": 26,
   "original": ".`);\u23ce            process.exit(1);\u23ce          }\u23ce        }\u23ce     ",
   "token": "1",
   "replacement": "2",
   "context": "process.exit(1);",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "c89143618d0f294762782ae20572b4f66ec27fb443e145a893d30b6801dad16d"
  },
  {
   "id": "int-bump@L279:c24",
   "op": "int-bump",
   "line": 279,
   "col": 24,
   "original": "D \u274c');\u23ce  process.exit(allOk ? 0 : 1);\u23ce}\u23ce\u23ce// --matrix: the sep",
   "token": "0",
   "replacement": "1",
   "context": "process.exit(allOk ? 0 : 1);",
   "status": "caught",
   "diverges_at": [
    "reference",
    "adversarial"
   ],
   "sha256": "d2379959c198d1412441e7360c12fd0f6d9c765a5df9d2528080e415672ff7e1"
  },
  {
   "id": "int-bump@L279:c28",
   "op": "int-bump",
   "line": 279,
   "col": 28,
   "original": ");\u23ce  process.exit(allOk ? 0 : 1);\u23ce}\u23ce\u23ce// --matrix: the separat",
   "token": "1",
   "replacement": "2",
   "context": "process.exit(allOk ? 0 : 1);",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "3b3d19c89f03078d27d947deacd9cee9e8408287c88e60e0f15cfa9f499c79d5"
  },
  {
   "id": "int-bump@L299:c97",
   "op": "int-bump",
   "line": 299,
   "col": 97,
   "original": " ? `\u2190 fails ${sf.failed.slice(0, 3).join(', ')}${sf.failed.le",
   "token": "0",
   "replacement": "1",
   "context": "console.log(`| ${name} | ${sf.ok}/${sf.total} ${sf.failed.length ? `\u2190 fails ${sf.failed.slice(0, 3).join(', ')}${sf.fail",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "853bdf14017b58b97472dc5dd9382bdaab0c8b5e9babe4d4903ed2ff667a216c"
  },
  {
   "id": "int-bump@L299:c100",
   "op": "int-bump",
   "line": 299,
   "col": 100,
   "original": "`\u2190 fails ${sf.failed.slice(0, 3).join(', ')}${sf.failed.lengt",
   "token": "3",
   "replacement": "4",
   "context": "console.log(`| ${name} | ${sf.ok}/${sf.total} ${sf.failed.length ? `\u2190 fails ${sf.failed.slice(0, 3).join(', ')}${sf.fail",
   "status": "caught",
   "diverges_at": [
    "matrix"
   ],
   "sha256": "58cd8b9ca5ede62c0fd802dcf15e90dbe5eba7e857f93228a4227a25ed106f17"
  },
  {
   "id": "int-bump@L299:c135",
   "op": "int-bump",
   "line": 299,
   "col": 135,
   "original": "in(', ')}${sf.failed.length > 3 ? '\u2026' : ''}` : ''} | ${sg ? `",
   "token": "3",
   "replacement": "4",
   "context": "console.log(`| ${name} | ${sf.ok}/${sf.total} ${sf.failed.length ? `\u2190 fails ${sf.failed.slice(0, 3).join(', ')}${sf.fail",
   "status": "SURVIVOR",
   "diverges_at": [],
   "sha256": "fb1c608517db1fe4ab7c8796c954afa428dcca1067abb85800aacbff2eea9c90"
  }
 ],
 "survivors": [
  {
   "id": "and-or@L77:c30",
   "op": "and-or",
   "line": 77,
   "col": 30,
   "original": "\u23ceconst genDir = genIdx !== -1 && args[genIdx + 1] && !args[gen",
   "context": "const genDir = genIdx !== -1 && args[genIdx + 1] && !args[genIdx + 1].startsWith('--') ? args[genIdx + 1] : null;",
   "classification": "equivalent-under-oracle",
   "justification": "diverges only for degenerate CLI shapes (`--generated` with no value, or a value starting with `--`); the oracle always passes a well-formed directory argument"
  },
  {
   "id": "and-or@L162:c59",
   "op": "and-or",
   "line": 162,
   "col": 59,
   "original": "oad.metadata.expires_at > NOW && card.payload.metadata.issued_",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "classification": "equivalent-by-masking",
   "justification": "stage-liar's own lie fails every staged card at signature_verification, so its boolean channel \u2014 the only place the window feeds \u2014 is pre-failed; the mutated window cannot move a row that is already failing. Only an oracle comparing booleans independently of stages could observe it"
  },
  {
   "id": "and-or@L277:c36",
   "op": "and-or",
   "line": 277,
   "col": 36,
   "original": "st allOk = s1.ok === s1.total && (!generated.length || score(r",
   "context": "const allOk = s1.ok === s1.total && (!generated.length || score(reference, generated).ok === generated.length);",
   "classification": "real",
   "justification": "verdict aggregation: `allOk`'s first `&&` \u2192 `||` is indistinguishable while the pristine runner passes everything; only a failing pristine (which the oracle never produces) would expose the formula change"
  },
  {
   "id": "or-and@L220:c71",
   "op": "or-and",
   "line": 220,
   "col": 71,
   "original": "payload?.identity?.public_key ||\u23ce        !card.payload?.metada",
   "context": "if (!card.signature?.value || !card.payload?.identity?.public_key ||",
   "classification": "real",
   "justification": "short-circuit masking in the fail-closed shape check: the malformed probe removes the signature, so the FIRST disjunct fires and the mutated `||` is never the deciding operator. A probe removing ONLY a later field (identity.public_key) would kill it"
  },
  {
   "id": "or-and@L221:c44",
   "op": "or-and",
   "line": 221,
   "col": 44,
   "original": ".payload?.metadata?.issued_at || !card.payload?.metadata?.expi",
   "context": "!card.payload?.metadata?.issued_at || !card.payload?.metadata?.expires_at || !card.status) {",
   "classification": "real",
   "justification": "the fail-closed shape check's metadata disjuncts are unprobed: no challenge card lacks issued_at / expires_at / status, so those rejections are not pinned by the oracle"
  },
  {
   "id": "or-and@L221:c83",
   "op": "or-and",
   "line": 221,
   "col": 83,
   "original": "payload?.metadata?.expires_at || !card.status) {\u23ce      console",
   "context": "!card.payload?.metadata?.issued_at || !card.payload?.metadata?.expires_at || !card.status) {",
   "classification": "real",
   "justification": "same as or-and@L221:c44 \u2014 the status-missing disjunct of the shape check is never exercised"
  },
  {
   "id": "not-drop@L277:c40",
   "op": "not-drop",
   "line": 277,
   "col": 40,
   "original": "llOk = s1.ok === s1.total && (!generated.length || score(refe",
   "context": "const allOk = s1.ok === s1.total && (!generated.length || score(reference, generated).ok === generated.length);",
   "classification": "real",
   "justification": "same aggregation family: `!generated.length` is short-circuited past when cards are present and the runner passes \u2014 the branch is unevaluated"
  },
  {
   "id": "lt-widen@L68:c66",
   "op": "lt-widen",
   "line": 68,
   "col": 66,
   "original": "ries(x).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))\u23ce   ",
   "context": "? Object.fromEntries(Object.entries(x).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))",
   "classification": "equivalent",
   "justification": "comparator: JCS sorts object keys, which are unique by construction \u2014 `a < b` and `a <= b` order distinct keys identically; equality never occurs"
  },
  {
   "id": "gt-widen@L68:c79",
   "op": "gt-widen",
   "line": 68,
   "col": 79,
   "original": "([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))\u23ce    : x);\u23ce\u23ceconst",
   "context": "? Object.fromEntries(Object.entries(x).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))",
   "classification": "equivalent",
   "justification": "same: `a > b` vs `a >= b` is indistinguishable when two keys are never equal"
  },
  {
   "id": "gt-widen@L162:c53",
   "op": "gt-widen",
   "line": 162,
   "col": 53,
   "original": "d.payload.metadata.expires_at > NOW && card.payload.metadata.",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "classification": "equivalent-by-masking",
   "justification": "same masking as and-or@L162:c59: the stage lie dominates the window mutation in stage-liar's rows"
  },
  {
   "id": "gt-widen@L299:c133",
   "op": "gt-widen",
   "line": 299,
   "col": 133,
   "original": "join(', ')}${sf.failed.length > 3 ? '\u2026' : ''}` : ''} | ${sg ?",
   "context": "console.log(`| ${name} | ${sf.ok}/${sf.total} ${sf.failed.length ? `\u2190 fails ${sf.failed.slice(0, 3).join(', ')}${sf.fail",
   "classification": "real",
   "justification": "observability gap: the failure-list ellipsis is display-only \u2014 the oracle's parser strips a trailing `\u2026`, so `> 3` vs `>= 3` never reaches the pinned surface; how many failure names are disclosed is not pinned"
  },
  {
   "id": "le-narrow@L162:c94",
   "op": "le-narrow",
   "line": 162,
   "col": 94,
   "original": "rd.payload.metadata.issued_at <= NOW;\u23ce  const statusOk = card.",
   "context": "const inWindow = card.payload.metadata.expires_at > NOW && card.payload.metadata.issued_at <= NOW;",
   "classification": "equivalent-by-masking",
   "justification": "same masking: stage-liar is already failing every staged card through its lie"
  },
  {
   "id": "int-bump@L68:c73",
   "op": "int-bump",
   "line": 68,
   "col": 73,
   "original": ".sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))\u23ce    : x);\u23ce",
   "context": "? Object.fromEntries(Object.entries(x).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))",
   "classification": "equivalent",
   "justification": "Array.sort only distinguishes the comparator's SIGN: returning 0 instead of -1 for a<b still leaves the pair unswapped; returning 2 instead of 1 (the next site) still swaps"
  },
  {
   "id": "int-bump@L68:c85",
   "op": "int-bump",
   "line": 68,
   "col": 85,
   "original": "[b]) => (a < b ? -1 : a > b ? 1 : 0)))\u23ce    : x);\u23ce\u23ceconst sha25",
   "context": "? Object.fromEntries(Object.entries(x).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))",
   "classification": "equivalent",
   "justification": "comparator sign again: 1 \u2192 2 stays positive, swap decision unchanged"
  },
  {
   "id": "int-bump@L68:c89",
   "op": "int-bump",
   "line": 68,
   "col": 89,
   "original": " => (a < b ? -1 : a > b ? 1 : 0)))\u23ce    : x);\u23ce\u23ceconst sha256hex",
   "context": "? Object.fromEntries(Object.entries(x).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))",
   "classification": "equivalent",
   "justification": "0 \u2192 1 fires only when two keys compare equal \u2014 impossible with unique object keys"
  },
  {
   "id": "int-bump@L77:c28",
   "op": "int-bump",
   "line": 77,
   "col": 28,
   "original": ");\u23ceconst genDir = genIdx !== -1 && args[genIdx + 1] && !args[",
   "context": "const genDir = genIdx !== -1 && args[genIdx + 1] && !args[genIdx + 1].startsWith('--') ? args[genIdx + 1] : null;",
   "classification": "equivalent-under-oracle",
   "justification": "-1 \u2192 -2: genIdx is never -2, and for every invocation shape the oracle issues the fallback still resolves to a falsy genDir (no directory read)"
  },
  {
   "id": "int-bump@L201:c107",
   "op": "int-bump",
   "line": 201,
   "col": 107,
   "original": "tion mismatch`); process.exit(1); }\u23ce      if (digest !== v.sh",
   "context": "if (rederived !== published) { console.error(`FATAL: ${v.id} re-derivation mismatch`); process.exit(1); }",
   "classification": "real",
   "justification": "exit code of the canonical-bytes FATAL (loadCards re-derivation mismatch): the fixed vectors never mismatch, so the path is never taken under the oracle and its exit value is unpinned"
  },
  {
   "id": "int-bump@L202:c111",
   "op": "int-bump",
   "line": 202,
   "col": 111,
   "original": "s _index.json`); process.exit(1); }\u23ce    }\u23ce    cards.push({ id",
   "context": "if (digest !== v.sha256) { console.error(`FATAL: ${v.id} digest mismatch vs _index.json`); process.exit(1); }",
   "classification": "real",
   "justification": "exit code of the digest-vs-_index.json FATAL \u2014 never taken on valid vectors, unpinned"
  },
  {
   "id": "int-bump@L245:c26",
   "op": "int-bump",
   "line": 245,
   "col": 26,
   "original": ".`);\u23ce            process.exit(1);\u23ce          }\u23ce        }\u23ce     ",
   "context": "process.exit(1);",
   "classification": "real",
   "justification": "exit code of the sidecar STAGE-mismatch FATAL: the poisoned probe flips expected_verify, not expected_stages, so this specific refusal path stays unprobed"
  },
  {
   "id": "int-bump@L279:c28",
   "op": "int-bump",
   "line": 279,
   "col": 28,
   "original": ");\u23ce  process.exit(allOk ? 0 : 1);\u23ce}\u23ce\u23ce// --matrix: the separat",
   "context": "process.exit(allOk ? 0 : 1);",
   "classification": "real",
   "justification": "the failure exit code (1 \u2192 2) of the final verdict: pristine never fails, so the value the suite would emit on failure is unpinned"
  },
  {
   "id": "int-bump@L299:c135",
   "op": "int-bump",
   "line": 299,
   "col": 135,
   "original": "in(', ')}${sf.failed.length > 3 ? '\u2026' : ''}` : ''} | ${sg ? `",
   "context": "console.log(`| ${name} | ${sf.ok}/${sf.total} ${sf.failed.length ? `\u2190 fails ${sf.failed.slice(0, 3).join(', ')}${sf.fail",
   "classification": "real",
   "justification": "same observability gap: slice(0,3) truncation vs slice(0,4) changes raw output on rows with \u22654 failures, but the parser normalizes the difference away"
  }
 ],
 "reproducibility": {
  "regenerate": "node generate-mutants.mjs --check",
  "deterministic": true,
  "note": "Operator set + site scan are pure functions of the target bytes; observation re-runs the same two surfaces the answer key pins. Classifications and justifications are editorial and pinned here, not re-derived by --check."
 },
 "note": "Generated mutation sweep (anp2network round 3, comment 3ehcp): a declared set of syntax-level operators applied at every applicable site in score-runner.mjs, each mutant observed through the answer-key oracle. Survivors are the point: each one names a check the suite does not enforce. Equivalents are separated from real blind spots by the per-survivor classification.",
 "survivor_summary": {
  "total": 21,
  "equivalent": 5,
  "equivalent_under_oracle": 2,
  "equivalent_by_masking": 3,
  "real_blind_spots": 11,
  "note": "Separated per anp2network's round-3 ask. Equivalents carry no information; real survivors each name a check the suite does not enforce (unprobed fail-closed disjuncts, unpinned exit codes of never-taken FATAL paths, verdict aggregation only observable on a failing runner, and display normalization gaps in the parser). Classifications are editorial and pinned here; --check re-verifies the caught/survivor identity sets, not the prose."
 },
 "sweep_history": [
  {
   "iteration": 1,
   "oracle": "matrix + reference (2 surfaces)",
   "valid_mutants": 113,
   "caught": 56,
   "survivors": 57
  },
  {
   "iteration": 2,
   "oracle": "+ adversarial challenge, malformed + poisoned-sidecar probes (5 surfaces)",
   "valid_mutants": 113,
   "caught": 88,
   "survivors": 25
  },
  {
   "iteration": 3,
   "oracle": "+ matrix scored over the generated challenge (generated column pinned)",
   "valid_mutants": 113,
   "caught": 92,
   "survivors": 21
  },
  {
   "note": "Each iteration closed a class of survivors the previous sweep named \u2014 the loop anp2network asked for: survivors identify checks the suite does not enforce; the cheap ones get enforced, the rest are published here."
  }
 ]
}
