)]}'
{
  "commit": "6a9fbd1031a78b11b631534c90ca1c7ab07741bf",
  "tree": "a02c83a8f64d077955c66bffcba62d5658d4b4c5",
  "parents": [
    "273284783db0cfd5e1d0a6c330ff81a62bd06767"
  ],
  "author": {
    "name": "Shunsuke Shibayama",
    "email": "sbym1346@gmail.com",
    "time": "Sat Sep 12 13:10:43 2026 +0900"
  },
  "committer": {
    "name": "Shunsuke Shibayama",
    "email": "sbym1346@gmail.com",
    "time": "Sat Sep 12 13:10:43 2026 +0900"
  },
  "message": "[ty] Separate constraint equivalence from structural dependencies\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9eae79941eae167243fa7fd5e60fa25e7ef79724",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/attributes.md",
      "new_id": "f2f43ce2586d04e6e05228455954774e5ef5d395",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/attributes.md"
    },
    {
      "type": "modify",
      "old_id": "7c3dfd17abe2aced703ab7f30241df8b73102ef6",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/bidirectional.md",
      "new_id": "9d6f0ff017a7e959c33c56a1bc9b5d86630b5c58",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/bidirectional.md"
    },
    {
      "type": "modify",
      "old_id": "3bc6c8424c9d17a5a3b777d8618bdb17d66c2e4b",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/call/builtins.md",
      "new_id": "ba935c571baa5c188ce92257f3611e0faf3be63d",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/call/builtins.md"
    },
    {
      "type": "modify",
      "old_id": "0def1b371006004da0064274c15b8cc769f3a0c5",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/call/function.md",
      "new_id": "36addf0ac735f3d133ab56c67c79c00de006205d",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/call/function.md"
    },
    {
      "type": "modify",
      "old_id": "070b08c27fd0b1f11df7466607aaacc5114e2616",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/cycle/implicit_instance_attributes.md",
      "new_id": "721741f56f79c6600fb822aeda2f196ba0373a97",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/cycle/implicit_instance_attributes.md"
    },
    {
      "type": "modify",
      "old_id": "024d710bcca935f5baa7ce59d4c58e6898fa985c",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/generics/legacy/classes.md",
      "new_id": "7c5f229dcd5cb26e3c7300bf8c5ccdea1f4cc07f",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/generics/legacy/classes.md"
    },
    {
      "type": "modify",
      "old_id": "464bfc3ea460eb75e9398eec156f65e1c497e4e5",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/generics/pep695/classes.md",
      "new_id": "b29c3d4f7796f19a1ccb13f4058d8424f21379fb",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/generics/pep695/classes.md"
    },
    {
      "type": "modify",
      "old_id": "5155d1d603f44df4e3cfbc00c7270c6f6919b283",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/implicit_type_aliases.md",
      "new_id": "cbf4d540080fc8945842ce2a6d79ba92d7a5738b",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/implicit_type_aliases.md"
    },
    {
      "type": "modify",
      "old_id": "3597fb07cbca7c1e3a42f114584b6b18bbf31c37",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/loops/for.md",
      "new_id": "4526deb683a1d265dd3f8ccc01a8049645f16f37",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/loops/for.md"
    },
    {
      "type": "modify",
      "old_id": "df93c141fc6353ef682dfcd179a9f25f39ac8c72",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/pep695_type_aliases.md",
      "new_id": "0d1e87b47a34da216fc9cc36eb5314d0a2fc61a2",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/pep695_type_aliases.md"
    },
    {
      "type": "modify",
      "old_id": "9d4e29b18587d3de9bcc6ccf21fee9dae17a561a",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/regression/constraint_set_ordering.md",
      "new_id": "ee00546221b51044d0e38e3128ac9f4b24992413",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/regression/constraint_set_ordering.md"
    },
    {
      "type": "modify",
      "old_id": "5065dfc583dbc0008968e999d2c664335c667776",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/type_display/recursive.md",
      "new_id": "42eadf63242346e5d6f574b140527a36af184a33",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/type_display/recursive.md"
    },
    {
      "type": "modify",
      "old_id": "576c8827794bbbfdf9ce718df26523ca3c0b96ef",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/type_properties/constraints.md",
      "new_id": "7ea9921d614bb6e3bc6cff744261a0353caf6f8e",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/type_properties/constraints.md"
    },
    {
      "type": "modify",
      "old_id": "ebf96e20f3bf7dda2e1d83370c5a31deb96b4f87",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/type_properties/materialization.md",
      "new_id": "01f50ad7248d809fa508262e2bb95a24e2d682e3",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/type_properties/materialization.md"
    },
    {
      "type": "modify",
      "old_id": "fe986596aab29a17902f80386e55ebfd8305d34b",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/resources/mdtest/type_properties/quantification.md",
      "new_id": "b0e9ecae8513c0e4af8abd3280292bfa5bfc0215",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/resources/mdtest/type_properties/quantification.md"
    },
    {
      "type": "modify",
      "old_id": "0953bf9f1e3eff54e7cdb3fa93e01a7c1b29345c",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/src/types/constraints.rs",
      "new_id": "4a3ee939c63376e1b081a7f03853a44b0f434648",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/src/types/constraints.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d29316e7f2173af3e76f23f878a55266acd24b51",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/src/types/constraints/relations.rs"
    },
    {
      "type": "modify",
      "old_id": "a0691140ed5888c650d63673bd8b1a7b6dcc136e",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/src/types/constraints/solutions.rs",
      "new_id": "4986655fb9ebc7b5953655a80aeae2835abc93bd",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/src/types/constraints/solutions.rs"
    },
    {
      "type": "modify",
      "old_id": "4d37c869054f49e4ca9b226f1fe10ee9212c293e",
      "old_mode": 33188,
      "old_path": "crates/ty_python_semantic/src/types/relation.rs",
      "new_id": "29bc51d76faa179a691c613a00ebfe1b71ced927",
      "new_mode": 33188,
      "new_path": "crates/ty_python_semantic/src/types/relation.rs"
    }
  ]
}
