diff --git a/recipe_modules/adhoc_validation/__init__.py b/recipe_modules/adhoc_validation/__init__.py
index 5ab5be1..9952250 100644
--- a/recipe_modules/adhoc_validation/__init__.py
+++ b/recipe_modules/adhoc_validation/__init__.py
@@ -1,4 +1,5 @@
 DEPS = [
+    'flutter/flutter_bcid',
     'flutter/bucket_util',
     'flutter/firebase',
     'flutter/flutter_deps',
diff --git a/recipe_modules/adhoc_validation/api.py b/recipe_modules/adhoc_validation/api.py
index 00b0af9..b6a415f 100644
--- a/recipe_modules/adhoc_validation/api.py
+++ b/recipe_modules/adhoc_validation/api.py
@@ -3,6 +3,7 @@
 # found in the LICENSE file.
 
 from recipe_engine import recipe_api
+from RECIPE_MODULES.flutter.flutter_bcid.api import BcidStage
 
 
 class AddhocValidationApi(recipe_api.RecipeApi):
@@ -56,6 +57,7 @@
               env, env_prefixes, checkout_path.join('dev', 'ci', 'mac')
           )
           with self.m.context(env=env, env_prefixes=env_prefixes):
+            self.m.flutter_bcid.report_stage(BcidStage.COMPILE.value)
             self.m.test_utils.run_test(
               validation,
               [resource_name],
@@ -80,7 +82,11 @@
             docs_path = checkout_path.join('dev', 'docs')
             # Do not upload on docs_deploy.
             if not validation == 'docs_deploy':
-              self.m.bucket_util.upload_folder('Upload API Docs', docs_path, 'doc', "api_docs.zip")
+              self.m.flutter_bcid.report_stage(BcidStage.UPLOAD.value)
+              dst = self.m.bucket_util.upload_folder('Upload API Docs', docs_path,
+                'doc', "api_docs.zip")
+              self.m.flutter_bcid.upload_provenance(docs_path, dst)
+              self.m.flutter_bcid.report_stage(BcidStage.UPLOAD_COMPLETE.value)
             project = self.m.properties.get('firebase_project')
             # Only deploy to firebase directly if this is master or main.
             if ((self.m.properties.get('git_branch') in ['master', 'main']) or
diff --git a/recipe_modules/adhoc_validation/examples/full.expected/invalid_validation.json b/recipe_modules/adhoc_validation/examples/full.expected/invalid_validation.json
index d3ad326..532d800 100644
--- a/recipe_modules/adhoc_validation/examples/full.expected/invalid_validation.json
+++ b/recipe_modules/adhoc_validation/examples/full.expected/invalid_validation.json
@@ -17,9 +17,9 @@
       "The recipe has crashed at point 'Uncaught exception'!",
       "",
       "Traceback (most recent call last):",
-      "  File \"RECIPE_REPO[flutter]/recipe_modules/adhoc_validation/examples/full.py\", line 24, in RunSteps",
+      "  File \"RECIPE_REPO[flutter]/recipe_modules/adhoc_validation/examples/full.py\", line 26, in RunSteps",
       "    api.adhoc_validation.run('Docs', validation, {}, {})",
-      "  File \"RECIPE_REPO[flutter]/recipe_modules/adhoc_validation/api.py\", line 36, in run",
+      "  File \"RECIPE_REPO[flutter]/recipe_modules/adhoc_validation/api.py\", line 37, in run",
       "    raise AssertionError(msg)",
       "AssertionError('invalid is not listed in available_validations.')"
     ]
diff --git a/recipe_modules/adhoc_validation/examples/full.py b/recipe_modules/adhoc_validation/examples/full.py
index 239c8c2..b45672a 100644
--- a/recipe_modules/adhoc_validation/examples/full.py
+++ b/recipe_modules/adhoc_validation/examples/full.py
@@ -7,11 +7,13 @@
 DEPS = [
     'flutter/adhoc_validation',
     'flutter/repo_util',
+    'recipe_engine/buildbucket',
     'recipe_engine/context',
     'recipe_engine/path',
     'recipe_engine/platform',
     'recipe_engine/properties',
     'recipe_engine/raw_io',
+    'recipe_engine/runtime',
 ]
 
 
diff --git a/recipes/devicelab/devicelab_drone.expected/no-task-name.json b/recipes/devicelab/devicelab_drone.expected/no-task-name.json
index 4a7aeea..1b63109 100644
--- a/recipes/devicelab/devicelab_drone.expected/no-task-name.json
+++ b/recipes/devicelab/devicelab_drone.expected/no-task-name.json
@@ -19,7 +19,7 @@
       "The recipe has crashed at point 'Uncaught exception'!",
       "",
       "Traceback (most recent call last):",
-      "  File \"RECIPE_REPO[flutter]/recipes/devicelab/devicelab_drone.py\", line 40, in RunSteps",
+      "  File \"RECIPE_REPO[flutter]/recipes/devicelab/devicelab_drone.py\", line 43, in RunSteps",
       "    raise ValueError('A task_name property is required')",
       "ValueError('A task_name property is required')"
     ]
diff --git a/recipes/devicelab/devicelab_drone.py b/recipes/devicelab/devicelab_drone.py
index b36e497..b208bd7 100644
--- a/recipes/devicelab/devicelab_drone.py
+++ b/recipes/devicelab/devicelab_drone.py
@@ -3,9 +3,11 @@
 # found in the LICENSE file.
 
 from recipe_engine.recipe_api import Property
+from RECIPE_MODULES.flutter.flutter_bcid.api import BcidStage
 
 DEPS = [
     'flutter/devicelab_osx_sdk',
+    'flutter/flutter_bcid',
     'flutter/flutter_deps',
     'flutter/logs_util',
     'flutter/os_utils',
@@ -32,6 +34,7 @@
 MAX_TIMEOUT_SECS = 30 * 60
 
 def RunSteps(api):
+  api.flutter_bcid.report_stage(BcidStage.START.value)
   # Collect memory/cpu/process before task execution.
   api.os_utils.collect_os_info()
 
@@ -41,6 +44,7 @@
 
   api.os_utils.print_pub_certs()
 
+  api.flutter_bcid.report_stage(BcidStage.FETCH.value)
   flutter_path = api.path.mkdtemp().join('flutter sdk')
   api.repo_util.checkout(
       'flutter',
@@ -151,8 +155,8 @@
   with api.context(env=env, env_prefixes=env_prefixes, cwd=devicelab_path):
     uploadResults(
         api, env, env_prefixes, results_path, test_status == 'flaky',
-        git_branch, api.properties.get('buildername'), commit_time, task_name,
-        benchmark_tags, suppress_log=suppress_log
+        git_branch, api.properties.get('buildername'), commit_time,
+        task_name, benchmark_tags, suppress_log=suppress_log
     )
     uploadMetricsToCas(api, results_path)
 
