)]}'
{
  "commit": "e3e94c20f53e102b6f2ea2faa0e6b039d1286d4d",
  "tree": "8a5b87e021b1fec9a7023bc3c71a51572c06762a",
  "parents": [
    "696734cfd3d338d04a885fa65b996ece43fe365c"
  ],
  "author": {
    "name": "twerth",
    "email": "twerth@google.com",
    "time": "Fri Aug 28 01:42:39 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Aug 28 01:44:25 2026 -0700"
  },
  "message": "Fix dropped action dependency when input artifact parent component is running.\n\nIn CriticalPathComputer.addArtifactDependency, when an input artifact has a parent (such as a TreeFileArtifact inside a SpecialArtifact / TreeArtifact), SELECT_LONGER_COMPONENT was used to select between the direct input artifact component and its parent component.\n\nIf the parent component had a longer aggregated elapsed time but was currently running (isRunning() \u003d\u003d true, e.g. during concurrent template action executions, rewinding, or cache hit retries), SELECT_LONGER_COMPONENT selected the running parent component over the completed child component. The subsequent check `if (depComponent !\u003d null \u0026\u0026 !depComponent.isRunning())` then evaluated to false, completely dropping the valid, completed dependency and resulting in an artificial gap in the critical path.\n\nThis change evaluates both the direct input artifact component and each parent component in the chain individually, invoking addDepInfo on any completed (non-running) component.\n\nPiperOrigin-RevId: 972431794\nChange-Id: I77f93d0ff75b85a1ae6c0822ece126b3711654e9\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d92cf8018505f33f8237978e3117f53951d090c1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/metrics/criticalpath/CriticalPathComputer.java",
      "new_id": "fb2bf4096546db8bbc7ea775302b471fac304c09",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/metrics/criticalpath/CriticalPathComputer.java"
    },
    {
      "type": "modify",
      "old_id": "e39e2e240f3feab437baf20910d2411b8bc34919",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/metrics/criticalpath/CriticalPathComputerTest.java",
      "new_id": "8c1bf9e3ec03fa8e126d185535f7fed423e4945c",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/metrics/criticalpath/CriticalPathComputerTest.java"
    }
  ]
}
