{
  "repo": "core",
  "version": "7.26.1",
  "from": "35eccbd2672aa68395adb61e0c37ee0a035bf1c3",
  "to": "v7.26.1",
  "added": [
    {
      "name": "CORRUPT_BODY_FORMS",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/core/store-contracts/read-back-shape-contract.ts:21",
        "src/index.ts:2756"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "CorruptBodyForm",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/core/store-contracts/read-back-shape-contract.ts:24",
        "src/index.ts:2758"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "EstablishedRead",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/index.ts:1095",
        "src/tools/fs/shell-read-judge.ts:107"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ReadBackShapeSubject",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/core/store-contracts/read-back-shape-contract.ts:26",
        "src/index.ts:2759"
      ],
      "criteriaCovered": true,
      "breaking": false
    },
    {
      "name": "ReadCandidate",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/index.ts:1098",
        "src/tools/fs/shell-read-plan.ts:105"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ReadEstablishment",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/index.ts:1094",
        "src/tools/fs/shell-read-judge.ts:105"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ReadFinding",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/index.ts:1096",
        "src/tools/fs/shell-read-judge.ts:127"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "SHELL_READ_DECISION",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/index.ts:1088",
        "src/tools/fs/shell-read-judge.ts:72"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "SHELL_READ_FINDINGS",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/index.ts:1086",
        "src/tools/fs/shell-read-judge.ts:26"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "SHELL_READ_FINDING_RANK",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/index.ts:1089",
        "src/tools/fs/shell-read-judge.ts:37"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "SHELL_READ_SEATS",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/index.ts:1087",
        "src/tools/fs/shell-read-judge.ts:33"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ShellReadAdmission",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/index.ts:1083",
        "src/tools/fs/shell-read-check.ts:94"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ShellReadBoundary",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/index.ts:1093",
        "src/tools/fs/shell-read-judge.ts:97"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ShellReadDisposition",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/index.ts:1092",
        "src/tools/fs/shell-read-judge.ts:52"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ShellReadFinding",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/index.ts:1090",
        "src/tools/fs/shell-read-judge.ts:27"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ShellReadJudgeInput",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/index.ts:1079",
        "src/tools/fs/shell-read-check.ts:299"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ShellReadJudgment",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/index.ts:1080",
        "src/tools/fs/shell-read-check.ts:316"
      ],
      "criteriaCovered": true,
      "breaking": false
    },
    {
      "name": "ShellReadPlan",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/index.ts:1098",
        "src/tools/fs/shell-read-plan.ts:162"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ShellReadSeat",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/index.ts:1091",
        "src/tools/fs/shell-read-judge.ts:34"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ShellReadSegment",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/index.ts:1098",
        "src/tools/fs/shell-read-plan.ts:136"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ShellReadStationSeat",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/index.ts:1082",
        "src/tools/fs/shell-read-check.ts:77"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ShellReadVerdict",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/index.ts:1081",
        "src/tools/fs/shell-read-check.ts:61"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "StoreReadBackShapeHooks",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/core/store-contracts/read-back-shape-contract.ts:42",
        "src/index.ts:2760"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "judgeShellRead",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/index.ts:1078",
        "src/tools/fs/shell-read-check.ts:348"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "storeReadBackShapeContract",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/core/store-contracts/read-back-shape-contract.ts:107",
        "src/index.ts:2757"
      ],
      "criteriaCovered": false,
      "breaking": false
    }
  ],
  "removed": [],
  "changed": [],
  "narrowed": [
    {
      "id": "F1",
      "source": "behaviorFlips.summary",
      "text": "NARROWING (#1003, P2, session-policy File store): the enumeration face (`listBySession`) judges a stored row by the SAME row-shape judgment the per-key read (`getRules`) applies — a bad bucket (`toolDeny: \"rm\"`), `rev: 0`, a non-integer or negative `gen`, a non-object or torn body are disclosed through `onCorruptRead` and skipped instead of served; a `__principal` that is not a string is disclosed and skipped on the enumeration face."
    },
    {
      "id": "F3",
      "source": "behaviorFlips.summary",
      "text": "NARROWING (#1007, P2, permission-rule write entries): a write outcome is READ by one judgment (`readRuleWriteOutcome`) at every door — a refusal is a non-empty string, a decline is `conflict: true`, a landing carries a non-negative safe-integer `rev` (zero is a landing: a session-scope add on an empty durable bucket), and an answer that is two arms is an answer about neither; every unreadable answer lands as `failed` with `committed: \"unknown\"`. A landing the store cannot read back (identity not standing after the write) is `unknown` too, never `added`."
    }
  ],
  "closedSetMembers": [
    {
      "set": "CORRUPT_BODY_FORMS",
      "at": [
        "src/core/store-contracts/read-back-shape-contract.ts:21"
      ],
      "newSet": true,
      "added": [
        "missing-required",
        "not-an-object",
        "torn-json",
        "wrong-type"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "CorruptBodyForm",
      "at": [
        "src/core/store-contracts/read-back-shape-contract.ts:24",
        "src/index.ts:2758"
      ],
      "newSet": true,
      "added": [
        "missing-required",
        "not-an-object",
        "torn-json",
        "wrong-type"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    }
  ],
  "closedSetsUnreadable": [],
  "typeKeys": [],
  "declarationMoves": [
    {
      "name": "EstablishedRead",
      "kind": "interface",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-judge.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-judge.ts"
      ]
    },
    {
      "name": "ReadCandidate",
      "kind": "interface",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-plan.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-plan.ts"
      ]
    },
    {
      "name": "ReadEstablishment",
      "kind": "type",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-judge.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-judge.ts"
      ]
    },
    {
      "name": "ReadFinding",
      "kind": "interface",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-judge.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-judge.ts"
      ]
    },
    {
      "name": "SHELL_READ_DECISION",
      "kind": "variable",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-judge.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-judge.ts"
      ]
    },
    {
      "name": "SHELL_READ_FINDINGS",
      "kind": "variable",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-judge.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-judge.ts"
      ]
    },
    {
      "name": "SHELL_READ_FINDING_RANK",
      "kind": "variable",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-judge.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-judge.ts"
      ]
    },
    {
      "name": "SHELL_READ_SEATS",
      "kind": "variable",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-judge.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-judge.ts"
      ]
    },
    {
      "name": "ShellReadAdmission",
      "kind": "type",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-check.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-check.ts"
      ]
    },
    {
      "name": "ShellReadBoundary",
      "kind": "interface",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-judge.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-judge.ts"
      ]
    },
    {
      "name": "ShellReadDisposition",
      "kind": "type",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-judge.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-judge.ts"
      ]
    },
    {
      "name": "ShellReadFinding",
      "kind": "type",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-judge.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-judge.ts"
      ]
    },
    {
      "name": "ShellReadPlan",
      "kind": "interface",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-plan.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-plan.ts"
      ]
    },
    {
      "name": "ShellReadSeat",
      "kind": "type",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-judge.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-judge.ts"
      ]
    },
    {
      "name": "ShellReadSegment",
      "kind": "interface",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-plan.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-plan.ts"
      ]
    },
    {
      "name": "ShellReadStationSeat",
      "kind": "type",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-check.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-check.ts"
      ]
    },
    {
      "name": "ShellReadVerdict",
      "kind": "interface",
      "onSurface": true,
      "from": [
        "src/tools/fs/shell-read-check.ts"
      ],
      "to": [
        "src/index.ts",
        "src/tools/fs/shell-read-check.ts"
      ]
    }
  ],
  "mintMoves": [],
  "criteriaObserves": [
    {
      "kind": "typeMember",
      "name": "AddResult.committed",
      "assertions": [
        "G2.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "ReadBackShapeSubject.read",
      "assertions": [
        "G3.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "SessionRulesRecord.rules",
      "assertions": [
        "G1.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "ShellReadJudgment.offer",
      "assertions": [
        "G5.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "ShellReadJudgment.verdict",
      "assertions": [
        "G4.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "StoredSessionRules.gen",
      "assertions": [
        "G1.b"
      ]
    }
  ],
  "consumersHint": {
    "cli": [
      "EstablishedRead",
      "ReadEstablishment",
      "SHELL_READ_DECISION",
      "SHELL_READ_FINDINGS",
      "SHELL_READ_SEATS",
      "ShellReadDisposition",
      "ShellReadFinding",
      "ShellReadSeat"
    ],
    "server": [
      "SHELL_READ_DECISION"
    ],
    "sdk": [],
    "note": "scanned cli@91f1d289 server@6e083eba sdk@b9937d5 — a name listed is MENTIONED there today, which is evidence of consumption, not proof of it"
  },
  "breakingCount": 0,
  "breakingItems": [],
  "toResolvedAt": "85f33a1d582c4fa8c73d2de943b4e1b0f93a96d8"
}
