)]}'
{
  "commit": "8ec564a0a4dc953eb3e03942a9789df45b0cc9ea",
  "tree": "200ed3505354a3a5bae70fc079a0479df3da9352",
  "parents": [
    "781884d74c22aa0a7a494bfc260157e64900f1ff"
  ],
  "author": {
    "name": "Sergiu Deitsch",
    "email": "sergiu.deitsch@gmail.com",
    "time": "Sun Oct 18 18:11:55 2026 +0200"
  },
  "committer": {
    "name": "Sergiu Deitsch",
    "email": "sergiu.deitsch@gmail.com",
    "time": "Wed Oct 21 15:53:33 2026 -0700"
  },
  "message": "Include what the public headers use\n\nSeveral public headers include headers they do not use, such as\nEigen/Dense, while relying on transitive includes for symbols they do\nuse. This exposes users to dependencies they may come to rely on and\nmakes IWYU attribute symbols to unrelated headers. Remove the unused\nincludes, forward declare types used only through pointers and\nreferences, and include the remaining dependencies directly.\n\nChange-Id: Ic8d44bf4d3d3cc00f030199d7207e06e77e2397c\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "63536ac6329f70ebc608f564a4889ed944ff8387",
      "old_mode": 33188,
      "old_path": "include/ceres/accurate_norm.h",
      "new_id": "c9a8a6f2459a91ca121906712beec5a878177519",
      "new_mode": 33188,
      "new_path": "include/ceres/accurate_norm.h"
    },
    {
      "type": "modify",
      "old_id": "c10556cb7f5493c34ae384bed1004c047a82c220",
      "old_mode": 33188,
      "old_path": "include/ceres/autodiff_cost_function.h",
      "new_id": "68d7b664c023c5f2af1103d3ca88bd27871f72e8",
      "new_mode": 33188,
      "new_path": "include/ceres/autodiff_cost_function.h"
    },
    {
      "type": "modify",
      "old_id": "26ed414bc9ee764578954451610c11aa087a4b6e",
      "old_mode": 33188,
      "old_path": "include/ceres/autodiff_first_order_function.h",
      "new_id": "fbd669a97203645573b4e8be773a4d8c4adf91b3",
      "new_mode": 33188,
      "new_path": "include/ceres/autodiff_first_order_function.h"
    },
    {
      "type": "modify",
      "old_id": "93cbba5192af8b2efa16a7c1a8f627308d79e798",
      "old_mode": 33188,
      "old_path": "include/ceres/autodiff_manifold.h",
      "new_id": "5ab85663a95d76415ba3b99dcfe9f562c9e361ba",
      "new_mode": 33188,
      "new_path": "include/ceres/autodiff_manifold.h"
    },
    {
      "type": "modify",
      "old_id": "a2647c992696b6fb9aebb88a666d4831e861368f",
      "old_mode": 33188,
      "old_path": "include/ceres/conditioned_cost_function.h",
      "new_id": "be63bf5fef8737723a30d94cf625c5c14afbade3",
      "new_mode": 33188,
      "new_path": "include/ceres/conditioned_cost_function.h"
    },
    {
      "type": "modify",
      "old_id": "f8aeba6d2a36fd9606b56fed63d4e33d7bd2ab2a",
      "old_mode": 33188,
      "old_path": "include/ceres/cost_function_to_functor.h",
      "new_id": "04c0f3e28e863a1cb0306f1886b733f7beba4a78",
      "new_mode": 33188,
      "new_path": "include/ceres/cost_function_to_functor.h"
    },
    {
      "type": "modify",
      "old_id": "b9912bee620fed929a5013e3725ac96f6c4daf55",
      "old_mode": 33188,
      "old_path": "include/ceres/dynamic_autodiff_cost_function.h",
      "new_id": "2efb4c0b5b2cab0f359b9873b3fc47b6338dc33b",
      "new_mode": 33188,
      "new_path": "include/ceres/dynamic_autodiff_cost_function.h"
    },
    {
      "type": "modify",
      "old_id": "02ce1e9f2a4cba0de04c96a6f9be19f8e07d36e4",
      "old_mode": 33188,
      "old_path": "include/ceres/dynamic_cost_function.h",
      "new_id": "b0d6ca260b8218e209d0cfe5640d4fd512852b22",
      "new_mode": 33188,
      "new_path": "include/ceres/dynamic_cost_function.h"
    },
    {
      "type": "modify",
      "old_id": "8030eff94a21e4b991ba2996277926813bb9ca1f",
      "old_mode": 33188,
      "old_path": "include/ceres/dynamic_cost_function_to_functor.h",
      "new_id": "875b64455e52689b5b9f633db6e81c85f49920f5",
      "new_mode": 33188,
      "new_path": "include/ceres/dynamic_cost_function_to_functor.h"
    },
    {
      "type": "modify",
      "old_id": "bfba17e569571da2f64177b44429b6a25a15eaec",
      "old_mode": 33188,
      "old_path": "include/ceres/dynamic_numeric_diff_cost_function.h",
      "new_id": "9bc855ba606b8db5fb63fdb45dc1b0a1e2bfb148",
      "new_mode": 33188,
      "new_path": "include/ceres/dynamic_numeric_diff_cost_function.h"
    },
    {
      "type": "modify",
      "old_id": "b0789420fc02e164a8e563773f86391ba4eae06d",
      "old_mode": 33188,
      "old_path": "include/ceres/gradient_checker.h",
      "new_id": "8f37f1005b213743eabc14f8108c685214ad9e35",
      "new_mode": 33188,
      "new_path": "include/ceres/gradient_checker.h"
    },
    {
      "type": "modify",
      "old_id": "e6e1364debd4935bf114acb56008049d142bfb47",
      "old_mode": 33188,
      "old_path": "include/ceres/gradient_problem.h",
      "new_id": "0349da8d8fc117db23d94d854dae41c7eec8ffcb",
      "new_mode": 33188,
      "new_path": "include/ceres/gradient_problem.h"
    },
    {
      "type": "modify",
      "old_id": "e9ae6f5d02b4f99bbfbee528b21acc24a3564527",
      "old_mode": 33188,
      "old_path": "include/ceres/gradient_problem_solver.h",
      "new_id": "886b3dcbbc31f33d66f1ff8a09f6a169018de943",
      "new_mode": 33188,
      "new_path": "include/ceres/gradient_problem_solver.h"
    },
    {
      "type": "modify",
      "old_id": "0d35ccdd523ae22ed54f48e0e07cc79a32dd623c",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/householder_vector.h",
      "new_id": "b9bef0a1a7e04f47d01d9e765f4afc84dcbbfe1e",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/householder_vector.h"
    },
    {
      "type": "modify",
      "old_id": "267a1d2f117c948ef00ce12202d7d76225297d26",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/integer_sequence_algorithm.h",
      "new_id": "dd7d8d15757661b7046c5df3a86860eb6db4731c",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/integer_sequence_algorithm.h"
    },
    {
      "type": "modify",
      "old_id": "07d1c707dfec48d1d17bf260d97ae9ef137216de",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/numeric_diff.h",
      "new_id": "626b29273caaa16e4cfcc174edbc415671c1147b",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/numeric_diff.h"
    },
    {
      "type": "modify",
      "old_id": "ee39c8953b27cd7a8867e7c66e475478eae185e8",
      "old_mode": 33188,
      "old_path": "include/ceres/internal/sphere_manifold_functions.h",
      "new_id": "4d4de5d3d32e6cc1b04907413b50ef6752c88302",
      "new_mode": 33188,
      "new_path": "include/ceres/internal/sphere_manifold_functions.h"
    },
    {
      "type": "modify",
      "old_id": "4768693edac57e26dae57070fb6a87d377da6497",
      "old_mode": 33188,
      "old_path": "include/ceres/jet.h",
      "new_id": "180e5abe693e601b3987d69671785d93d6dacd2e",
      "new_mode": 33188,
      "new_path": "include/ceres/jet.h"
    },
    {
      "type": "modify",
      "old_id": "dae98d86f586a20f27ff67a51b5f99f41d122fe8",
      "old_mode": 33188,
      "old_path": "include/ceres/line_manifold.h",
      "new_id": "a98d923e0bf1140aaec7bffb2fd3d8d6d8f08ac6",
      "new_mode": 33188,
      "new_path": "include/ceres/line_manifold.h"
    },
    {
      "type": "modify",
      "old_id": "b82c3b09f289ce345f552c14fcd82c34935156fe",
      "old_mode": 33188,
      "old_path": "include/ceres/manifold.h",
      "new_id": "3e70e5def84fa8c3fe69474d803b9904f09d206b",
      "new_mode": 33188,
      "new_path": "include/ceres/manifold.h"
    },
    {
      "type": "modify",
      "old_id": "eb513cc1aac637279899ccbf1cc597eb53276d2d",
      "old_mode": 33188,
      "old_path": "include/ceres/manifold_test_utils.h",
      "new_id": "f89b8067e9d8845bd28dd65aae25add623473b7f",
      "new_mode": 33188,
      "new_path": "include/ceres/manifold_test_utils.h"
    },
    {
      "type": "modify",
      "old_id": "beeac5320d7b9aba7a4fc78cbe72eb9deb4d0f9e",
      "old_mode": 33188,
      "old_path": "include/ceres/normal_prior.h",
      "new_id": "519678187f271cd7df3c1447239317674e43c707",
      "new_mode": 33188,
      "new_path": "include/ceres/normal_prior.h"
    },
    {
      "type": "modify",
      "old_id": "9866d36454d2830df92402ce9b6d308f938852e8",
      "old_mode": 33188,
      "old_path": "include/ceres/numeric_diff_cost_function.h",
      "new_id": "3347fbce0ba503d07777e0ccc68cf18fe6926ede",
      "new_mode": 33188,
      "new_path": "include/ceres/numeric_diff_cost_function.h"
    },
    {
      "type": "modify",
      "old_id": "0bd2d82dabf4dccf1d659aa29286463e792310d7",
      "old_mode": 33188,
      "old_path": "include/ceres/numeric_diff_first_order_function.h",
      "new_id": "038c0a49cf0e5be6dc5f11c7c1958633845ee047",
      "new_mode": 33188,
      "new_path": "include/ceres/numeric_diff_first_order_function.h"
    },
    {
      "type": "modify",
      "old_id": "3d98158e4f308f6e76980e2751c84bdc6cc26920",
      "old_mode": 33188,
      "old_path": "include/ceres/problem.h",
      "new_id": "3107045afd14a5abace80a73fcb883d9541fc689",
      "new_mode": 33188,
      "new_path": "include/ceres/problem.h"
    },
    {
      "type": "modify",
      "old_id": "41fe258fcb123205d6b9eab1612229489ed47e72",
      "old_mode": 33188,
      "old_path": "include/ceres/product_manifold.h",
      "new_id": "2fa30e92b43a22b36cb7b91474935a2dc7939397",
      "new_mode": 33188,
      "new_path": "include/ceres/product_manifold.h"
    },
    {
      "type": "modify",
      "old_id": "8647fbf9e4453e6d9c4b66fd6321952a297430a1",
      "old_mode": 33188,
      "old_path": "include/ceres/rotation.h",
      "new_id": "f9020ce1b213aae566611c0d1869fea0a7caf35c",
      "new_mode": 33188,
      "new_path": "include/ceres/rotation.h"
    },
    {
      "type": "modify",
      "old_id": "a956ebdd5738e446cf328fceda413fd34797413c",
      "old_mode": 33188,
      "old_path": "include/ceres/sized_cost_function.h",
      "new_id": "3bc0511594a65c78b95b3f10ebc62f59f25477c2",
      "new_mode": 33188,
      "new_path": "include/ceres/sized_cost_function.h"
    },
    {
      "type": "modify",
      "old_id": "97ab583978e113d1a2a455e12ba58c27401a6d97",
      "old_mode": 33188,
      "old_path": "include/ceres/solver.h",
      "new_id": "baa6fa69dac5f9f3617c349f8e56cf125b63173d",
      "new_mode": 33188,
      "new_path": "include/ceres/solver.h"
    },
    {
      "type": "modify",
      "old_id": "fa1228f0da264b1ca9f6572e30ed8020e53d5303",
      "old_mode": 33188,
      "old_path": "include/ceres/sphere_manifold.h",
      "new_id": "3cadab4fa2578ccbcd6f7438b8fff1bbf56be093",
      "new_mode": 33188,
      "new_path": "include/ceres/sphere_manifold.h"
    },
    {
      "type": "modify",
      "old_id": "b2b1ba1e5c8baf6e229ab03cf12f58e02a44d545",
      "old_mode": 33188,
      "old_path": "include/ceres/tiny_solver.h",
      "new_id": "bf82d767c9c55f8b6c9fe2987e118afc2bb464ce",
      "new_mode": 33188,
      "new_path": "include/ceres/tiny_solver.h"
    },
    {
      "type": "modify",
      "old_id": "045ea4358687a73dfa7fdf033d3a3c6695f0ee18",
      "old_mode": 33188,
      "old_path": "include/ceres/tiny_solver_autodiff_function.h",
      "new_id": "3a76baaee30c2516a320d95a33253f051f3fe262",
      "new_mode": 33188,
      "new_path": "include/ceres/tiny_solver_autodiff_function.h"
    },
    {
      "type": "modify",
      "old_id": "92d78d26b755a99b654a13a3fb72321a0b730666",
      "old_mode": 33188,
      "old_path": "include/ceres/tiny_solver_cost_function_adapter.h",
      "new_id": "f53693ac302adf36ff116d61535601b4e789861c",
      "new_mode": 33188,
      "new_path": "include/ceres/tiny_solver_cost_function_adapter.h"
    },
    {
      "type": "modify",
      "old_id": "dffbba29e7c1c40ee42ace6c65c785991fe982f2",
      "old_mode": 33188,
      "old_path": "internal/ceres/gradient_checker.cc",
      "new_id": "d08b5680fbbed4a0d0984c7bae33296372dd70d4",
      "new_mode": 33188,
      "new_path": "internal/ceres/gradient_checker.cc"
    },
    {
      "type": "modify",
      "old_id": "0b9f3a636f16f76a3ff28bb6a4fcbe775db3b4c3",
      "old_mode": 33188,
      "old_path": "internal/ceres/gradient_checker_test.cc",
      "new_id": "e82f77f255668ba8e007d003a5bc8ff2d1a8c83c",
      "new_mode": 33188,
      "new_path": "internal/ceres/gradient_checker_test.cc"
    },
    {
      "type": "modify",
      "old_id": "94afa94c83cf03a9c4991d0376b6a02544b76a49",
      "old_mode": 33188,
      "old_path": "internal/ceres/gradient_checking_cost_function.cc",
      "new_id": "228c42cba2088bf22b877ab5fec6917e743cfbab",
      "new_mode": 33188,
      "new_path": "internal/ceres/gradient_checking_cost_function.cc"
    },
    {
      "type": "modify",
      "old_id": "c366f0edd713597bd9f5bffdba9dbd947b0b5a5b",
      "old_mode": 33188,
      "old_path": "internal/ceres/problem_impl.h",
      "new_id": "d292c4faf5ba660607c060ea446a24b82dd65094",
      "new_mode": 33188,
      "new_path": "internal/ceres/problem_impl.h"
    }
  ]
}
