bb explain: understand why your build re-ran actions
bb explain shows a structural diff of two compact execution logs. It helps answer the common questions: "Why did Bazel re-execute that action?" and "What changed between these builds?"

It can highlight non-hermetic outputs and differences in inputs, environment variables, and arguments.
It works with your last two builds automatically, or you can point it at any invocation IDs:
bb explain
bb explain --old <OLD_INVOCATION_ID> --new <NEW_INVOCATION_ID>
You can download the bb CLI here.
More details in Fabian's BazelCon talk.

