Introduce top-down action caching in Bazel. The top-down cache may be provided by a Bazel module.

The cache works by first computing a _transitive_ cache key for the action, known as a sketch. It composes the action keys for all dependent actions and all transitive source file digest hashes.

This feature is not currently wired up for use - consider it extremely experimental at this point.

RELNOTES: None
PiperOrigin-RevId: 260973078
diff --git a/src/BUILD b/src/BUILD
index b8f1a7d..d9d5184 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -430,6 +430,7 @@
         "//src/java_tools/singlejar:srcs",
         "//src/main/cpp:srcs",
         "//src/main/java/com/google/devtools/build/docgen:srcs",
+        "//src/main/java/com/google/devtools/build/lib/actionsketch:srcs",
         "//src/main/java/com/google/devtools/build/lib:srcs",
         "//src/main/java/com/google/devtools/build/lib/includescanning:srcs",
         "//src/main/java/com/google/devtools/build/lib/network:srcs",