)]}'
{
  "commit": "5ac2a53ee108f23dc40a63d5378a0d6b21d821c3",
  "tree": "6ea685fbd45ce310949d466423830162b927df7b",
  "parents": [
    "8cf0c77eb2be9b32ab26bc916a101e9c17674032"
  ],
  "author": {
    "name": "Charlie Marsh",
    "email": "charlie.r.marsh@gmail.com",
    "time": "Sat Jun 06 20:06:17 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Jun 06 20:06:17 2026 -0400"
  },
  "message": "[ty] Cache constraint implication checks (#25714)\n\n## Summary\n\nWhen building sequent maps, we repeatedly compare the same ordered pairs\nof range constraints to determine whether one directly implies the\nother. Each comparison performs assignability checks for the lower and\nupper bounds, even when an earlier sequent calculation has already\nchecked the same pair.\n\nThis change caches the final boolean result for each ordered constraint\npair in the constraint-set builder, including negative results. Sequent\nconstruction and solving behavior remain unchanged, while later checks\ncan reuse the existing result.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ee536030eb09c5a8154856855c2dc24d22d9c821",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/src/types/constraints.rs",
      "new_id": "e814295d9131c9fc62816865aafecdd3d1c7c5ae",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/src/types/constraints.rs"
    }
  ]
}
