[fuchsia_roller] Nest checkout and manifest editing steps

This will hide a bunch of implementation-detail-y jiri steps by default
and make the "gerrit link" to the CL appear higher up on the page.

Change-Id: I17b324f058ebe519409dcccae88e2126df62856f
diff --git a/recipes/fuchsia_roller.expected/cobalt_project.json b/recipes/fuchsia_roller.expected/cobalt_project.json
index 210262c..4a77f3a 100644
--- a/recipes/fuchsia_roller.expected/cobalt_project.json
+++ b/recipes/fuchsia_roller.expected/cobalt_project.json
@@ -1,7 +1,14 @@
 [
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -15,9 +22,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -45,7 +52,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -60,7 +70,10 @@
       "https://fuchsia.googlesource.com/garnet"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -74,11 +87,21 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_cobalt"
+    "name": "edit manifest"
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_cobalt",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -95,9 +118,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "read_manifest_cobalt.jiri manifest",
+    "name": "edit manifest.read_manifest_cobalt.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"remote\": \"https://cobalt-analytics.googlesource.com/config\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
@@ -119,8 +142,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@  \"packages\": [], @@@",
@@ -151,7 +175,10 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri update (2)"
+    "name": "edit manifest.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -164,8 +191,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri source-manifest",
+    "name": "edit manifest.jiri source-manifest",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
diff --git a/recipes/fuchsia_roller.expected/garnet.json b/recipes/fuchsia_roller.expected/garnet.json
index cae9324..5c0ce71 100644
--- a/recipes/fuchsia_roller.expected/garnet.json
+++ b/recipes/fuchsia_roller.expected/garnet.json
@@ -1,7 +1,14 @@
 [
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -15,9 +22,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -45,7 +52,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -60,7 +70,10 @@
       "https://fuchsia.googlesource.com/peridot"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -74,11 +87,21 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_garnet"
+    "name": "edit manifest"
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_garnet",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -95,9 +118,9 @@
     ],
     "cwd": "[START_DIR]/peridot",
     "infra_step": true,
-    "name": "read_manifest_garnet.jiri manifest",
+    "name": "edit manifest.read_manifest_garnet.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"remote\": \"https://fuchsia.googlesource.com/garnet\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
@@ -119,8 +142,9 @@
     ],
     "cwd": "[START_DIR]/peridot",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
@@ -150,7 +174,10 @@
     ],
     "cwd": "[START_DIR]/peridot",
     "infra_step": true,
-    "name": "jiri update (2)"
+    "name": "edit manifest.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -163,8 +190,9 @@
     ],
     "cwd": "[START_DIR]/peridot",
     "infra_step": true,
-    "name": "jiri source-manifest",
+    "name": "edit manifest.jiri source-manifest",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
diff --git a/recipes/fuchsia_roller.expected/missing_manifest_import_remote.json b/recipes/fuchsia_roller.expected/missing_manifest_import_remote.json
index 9870c76..4249d39 100644
--- a/recipes/fuchsia_roller.expected/missing_manifest_import_remote.json
+++ b/recipes/fuchsia_roller.expected/missing_manifest_import_remote.json
@@ -1,7 +1,14 @@
 [
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -15,9 +22,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -45,7 +52,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -60,7 +70,10 @@
       "https://fuchsia.googlesource.com/garnet"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -74,11 +87,24 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_zircon"
+    "name": "edit manifest",
+    "~followup_annotations": [
+      "@@@STEP_FAILURE@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_zircon",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -95,9 +121,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "read_manifest_zircon.jiri manifest",
+    "name": "edit manifest.read_manifest_zircon.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{}@@@",
       "@@@STEP_LOG_END@json.output@@@"
     ]
@@ -117,8 +143,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
diff --git a/recipes/fuchsia_roller.expected/missing_manifest_project_remote.json b/recipes/fuchsia_roller.expected/missing_manifest_project_remote.json
index 8fad7b9..7cac972 100644
--- a/recipes/fuchsia_roller.expected/missing_manifest_project_remote.json
+++ b/recipes/fuchsia_roller.expected/missing_manifest_project_remote.json
@@ -1,7 +1,14 @@
 [
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -15,9 +22,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -45,7 +52,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -60,7 +70,10 @@
       "https://fuchsia.googlesource.com/garnet"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -74,11 +87,24 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_cobalt"
+    "name": "edit manifest",
+    "~followup_annotations": [
+      "@@@STEP_FAILURE@@@"
+    ]
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_cobalt",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -95,9 +121,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "read_manifest_cobalt.jiri manifest",
+    "name": "edit manifest.read_manifest_cobalt.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{}@@@",
       "@@@STEP_LOG_END@json.output@@@"
     ]
@@ -117,8 +143,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [], @@@",
       "@@@STEP_LOG_LINE@json.output@  \"packages\": [], @@@",
diff --git a/recipes/fuchsia_roller.expected/missing_revision.json b/recipes/fuchsia_roller.expected/missing_revision.json
index 5b977d8..cbd5654 100644
--- a/recipes/fuchsia_roller.expected/missing_revision.json
+++ b/recipes/fuchsia_roller.expected/missing_revision.json
@@ -8,7 +8,14 @@
   },
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -22,9 +29,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -52,7 +59,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -67,7 +77,10 @@
       "https://fuchsia.googlesource.com/garnet"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -81,11 +94,21 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_zircon"
+    "name": "edit manifest"
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_zircon",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -102,9 +125,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "read_manifest_zircon.jiri manifest",
+    "name": "edit manifest.read_manifest_zircon.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"remote\": \"https://fuchsia.googlesource.com/zircon\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
@@ -113,7 +136,10 @@
   },
   {
     "cmd": [],
-    "name": "ensure gitiles"
+    "name": "edit manifest.ensure gitiles",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -128,9 +154,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "ensure gitiles.ensure_installed",
+    "name": "edit manifest.ensure gitiles.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -155,8 +181,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "refs",
+    "name": "edit manifest.refs",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"refs/heads/master\": \"fc4dc762688d2263b254208f444f5c0a4b91bc07\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
@@ -178,8 +205,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
@@ -209,7 +237,10 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri update (2)"
+    "name": "edit manifest.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -222,8 +253,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri source-manifest",
+    "name": "edit manifest.jiri source-manifest",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
diff --git a/recipes/fuchsia_roller.expected/peridot.json b/recipes/fuchsia_roller.expected/peridot.json
index bc9ac53..65e006e 100644
--- a/recipes/fuchsia_roller.expected/peridot.json
+++ b/recipes/fuchsia_roller.expected/peridot.json
@@ -1,7 +1,14 @@
 [
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -15,9 +22,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -45,7 +52,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -60,7 +70,10 @@
       "https://fuchsia.googlesource.com/topaz"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -74,11 +87,21 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_peridot"
+    "name": "edit manifest"
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_peridot",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -95,9 +118,9 @@
     ],
     "cwd": "[START_DIR]/topaz",
     "infra_step": true,
-    "name": "read_manifest_peridot.jiri manifest",
+    "name": "edit manifest.read_manifest_peridot.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"remote\": \"https://fuchsia.googlesource.com/peridot\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
@@ -119,8 +142,9 @@
     ],
     "cwd": "[START_DIR]/topaz",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
@@ -150,7 +174,10 @@
     ],
     "cwd": "[START_DIR]/topaz",
     "infra_step": true,
-    "name": "jiri update (2)"
+    "name": "edit manifest.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -163,8 +190,9 @@
     ],
     "cwd": "[START_DIR]/topaz",
     "infra_step": true,
-    "name": "jiri source-manifest",
+    "name": "edit manifest.jiri source-manifest",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
diff --git a/recipes/fuchsia_roller.expected/peridot_with_lockfile.json b/recipes/fuchsia_roller.expected/peridot_with_lockfile.json
index dceb367..224640b 100644
--- a/recipes/fuchsia_roller.expected/peridot_with_lockfile.json
+++ b/recipes/fuchsia_roller.expected/peridot_with_lockfile.json
@@ -1,7 +1,14 @@
 [
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -15,9 +22,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -45,7 +52,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -60,7 +70,10 @@
       "https://fuchsia.googlesource.com/topaz"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -74,11 +87,21 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_peridot"
+    "name": "edit manifest"
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_peridot",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -95,9 +118,9 @@
     ],
     "cwd": "[START_DIR]/topaz",
     "infra_step": true,
-    "name": "read_manifest_peridot.jiri manifest",
+    "name": "edit manifest.read_manifest_peridot.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"remote\": \"https://fuchsia.googlesource.com/peridot\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
@@ -119,8 +142,9 @@
     ],
     "cwd": "[START_DIR]/topaz",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
@@ -152,8 +176,9 @@
     ],
     "cwd": "[START_DIR]/topaz",
     "infra_step": true,
-    "name": "jiri resolve",
+    "name": "edit manifest.jiri resolve",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@output@@@@",
       "@@@STEP_LOG_END@output@@@"
     ]
@@ -172,7 +197,10 @@
     ],
     "cwd": "[START_DIR]/topaz",
     "infra_step": true,
-    "name": "jiri update (2)"
+    "name": "edit manifest.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -185,8 +213,9 @@
     ],
     "cwd": "[START_DIR]/topaz",
     "infra_step": true,
-    "name": "jiri source-manifest",
+    "name": "edit manifest.jiri source-manifest",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
diff --git a/recipes/fuchsia_roller.expected/roll_from_non_https_remote.json b/recipes/fuchsia_roller.expected/roll_from_non_https_remote.json
index 3c57a8e..4c0533c 100644
--- a/recipes/fuchsia_roller.expected/roll_from_non_https_remote.json
+++ b/recipes/fuchsia_roller.expected/roll_from_non_https_remote.json
@@ -1,7 +1,14 @@
 [
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -15,9 +22,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -45,7 +52,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -60,7 +70,10 @@
       "https://fuchsia.googlesource.com/garnet"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -74,11 +87,21 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_third_party/foo"
+    "name": "edit manifest"
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_third_party/foo",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -95,9 +118,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "read_manifest_third_party/foo.jiri manifest",
+    "name": "edit manifest.read_manifest_third_party/foo.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"remote\": \"sso://host/foo\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
@@ -119,8 +142,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
@@ -150,7 +174,10 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri update (2)"
+    "name": "edit manifest.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -163,8 +190,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri source-manifest",
+    "name": "edit manifest.jiri source-manifest",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
diff --git a/recipes/fuchsia_roller.expected/zircon-noop.json b/recipes/fuchsia_roller.expected/zircon-noop.json
index 6a938de..c468e7e 100644
--- a/recipes/fuchsia_roller.expected/zircon-noop.json
+++ b/recipes/fuchsia_roller.expected/zircon-noop.json
@@ -1,7 +1,14 @@
 [
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -15,9 +22,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -45,7 +52,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -60,7 +70,10 @@
       "https://fuchsia.googlesource.com/garnet"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -74,11 +87,21 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_zircon"
+    "name": "edit manifest"
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_zircon",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -95,9 +118,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "read_manifest_zircon.jiri manifest",
+    "name": "edit manifest.read_manifest_zircon.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"remote\": \"https://fuchsia.googlesource.com/zircon\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
@@ -119,8 +142,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_TEXT@manifest up-to-date, nothing to roll@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": []@@@",
diff --git a/recipes/fuchsia_roller.expected/zircon.json b/recipes/fuchsia_roller.expected/zircon.json
index de9cf4d..2aeda7a 100644
--- a/recipes/fuchsia_roller.expected/zircon.json
+++ b/recipes/fuchsia_roller.expected/zircon.json
@@ -1,7 +1,14 @@
 [
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -15,9 +22,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -45,7 +52,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -60,7 +70,10 @@
       "https://fuchsia.googlesource.com/garnet"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -74,11 +87,21 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_zircon"
+    "name": "edit manifest"
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_zircon",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -95,9 +118,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "read_manifest_zircon.jiri manifest",
+    "name": "edit manifest.read_manifest_zircon.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"remote\": \"https://fuchsia.googlesource.com/zircon\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
@@ -119,8 +142,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
@@ -150,7 +174,10 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri update (2)"
+    "name": "edit manifest.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -163,8 +190,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri source-manifest",
+    "name": "edit manifest.jiri source-manifest",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
diff --git a/recipes/fuchsia_roller.expected/zircon_dry_run.json b/recipes/fuchsia_roller.expected/zircon_dry_run.json
index b814ac6..a3b4d26 100644
--- a/recipes/fuchsia_roller.expected/zircon_dry_run.json
+++ b/recipes/fuchsia_roller.expected/zircon_dry_run.json
@@ -1,7 +1,14 @@
 [
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -15,9 +22,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -45,7 +52,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -60,7 +70,10 @@
       "https://fuchsia.googlesource.com/garnet"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -74,11 +87,21 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_zircon"
+    "name": "edit manifest"
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_zircon",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -95,9 +118,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "read_manifest_zircon.jiri manifest",
+    "name": "edit manifest.read_manifest_zircon.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"remote\": \"https://fuchsia.googlesource.com/zircon\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
@@ -119,8 +142,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
@@ -150,7 +174,10 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri update (2)"
+    "name": "edit manifest.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -163,8 +190,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri source-manifest",
+    "name": "edit manifest.jiri source-manifest",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
diff --git a/recipes/fuchsia_roller.expected/zircon_no_changeid.json b/recipes/fuchsia_roller.expected/zircon_no_changeid.json
index 4a81205..dff4abf 100644
--- a/recipes/fuchsia_roller.expected/zircon_no_changeid.json
+++ b/recipes/fuchsia_roller.expected/zircon_no_changeid.json
@@ -1,7 +1,14 @@
 [
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -15,9 +22,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -45,7 +52,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -60,7 +70,10 @@
       "https://fuchsia.googlesource.com/garnet"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -74,11 +87,21 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_zircon"
+    "name": "edit manifest"
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_zircon",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -95,9 +118,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "read_manifest_zircon.jiri manifest",
+    "name": "edit manifest.read_manifest_zircon.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"remote\": \"https://fuchsia.googlesource.com/zircon\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
@@ -119,8 +142,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
@@ -150,7 +174,10 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri update (2)"
+    "name": "edit manifest.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -163,8 +190,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri source-manifest",
+    "name": "edit manifest.jiri source-manifest",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
diff --git a/recipes/fuchsia_roller.expected/zircon_no_comment.json b/recipes/fuchsia_roller.expected/zircon_no_comment.json
index 5c1e6e0..bf939ec 100644
--- a/recipes/fuchsia_roller.expected/zircon_no_comment.json
+++ b/recipes/fuchsia_roller.expected/zircon_no_comment.json
@@ -1,7 +1,14 @@
 [
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -15,9 +22,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -45,7 +52,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -60,7 +70,10 @@
       "https://fuchsia.googlesource.com/garnet"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -74,11 +87,21 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_zircon"
+    "name": "edit manifest"
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_zircon",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -95,9 +118,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "read_manifest_zircon.jiri manifest",
+    "name": "edit manifest.read_manifest_zircon.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"remote\": \"https://fuchsia.googlesource.com/zircon\"@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
@@ -119,8 +142,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
@@ -150,7 +174,10 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri update (2)"
+    "name": "edit manifest.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -163,8 +190,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri source-manifest",
+    "name": "edit manifest.jiri source-manifest",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
diff --git a/recipes/fuchsia_roller.expected/zircon_with_commit_links.json b/recipes/fuchsia_roller.expected/zircon_with_commit_links.json
index ec4557c..3cc340a 100644
--- a/recipes/fuchsia_roller.expected/zircon_with_commit_links.json
+++ b/recipes/fuchsia_roller.expected/zircon_with_commit_links.json
@@ -1,7 +1,14 @@
 [
   {
     "cmd": [],
-    "name": "ensure jiri"
+    "name": "checkout"
+  },
+  {
+    "cmd": [],
+    "name": "checkout.ensure jiri",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -15,9 +22,9 @@
       "/path/to/tmp/json"
     ],
     "infra_step": true,
-    "name": "ensure jiri.ensure_installed",
+    "name": "checkout.ensure jiri.ensure_installed",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"result\": {@@@",
       "@@@STEP_LOG_LINE@json.output@    \"\": [@@@",
@@ -45,7 +52,10 @@
       "-shared"
     ],
     "infra_step": true,
-    "name": "jiri init"
+    "name": "checkout.jiri init",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -60,7 +70,10 @@
       "https://fuchsia.googlesource.com/garnet"
     ],
     "infra_step": true,
-    "name": "jiri import"
+    "name": "checkout.jiri import",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -74,11 +87,21 @@
       "-run-hooks=false"
     ],
     "infra_step": true,
-    "name": "jiri update"
+    "name": "checkout.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [],
-    "name": "read_manifest_zircon"
+    "name": "edit manifest"
+  },
+  {
+    "cmd": [],
+    "name": "edit manifest.read_manifest_zircon",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -95,9 +118,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "read_manifest_zircon.jiri manifest",
+    "name": "edit manifest.read_manifest_zircon.jiri manifest",
     "~followup_annotations": [
-      "@@@STEP_NEST_LEVEL@1@@@",
+      "@@@STEP_NEST_LEVEL@2@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"gerrithost\": \"https://origin-host-review.googlesource.com\", @@@",
       "@@@STEP_LOG_LINE@json.output@  \"remote\": \"https://fuchsia.googlesource.com/zircon\"@@@",
@@ -120,8 +143,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri edit",
+    "name": "edit manifest.jiri edit",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
       "@@@STEP_LOG_LINE@json.output@  \"imports\": [@@@",
       "@@@STEP_LOG_LINE@json.output@    {@@@",
@@ -151,7 +175,10 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri update (2)"
+    "name": "edit manifest.jiri update",
+    "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@"
+    ]
   },
   {
     "cmd": [
@@ -164,8 +191,9 @@
     ],
     "cwd": "[START_DIR]/garnet",
     "infra_step": true,
-    "name": "jiri source-manifest",
+    "name": "edit manifest.jiri source-manifest",
     "~followup_annotations": [
+      "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@{@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@  \"directories\": {@@@",
       "@@@STEP_LOG_LINE@json.output[source manifest]@    \"manifest\": {@@@",
diff --git a/recipes/fuchsia_roller.py b/recipes/fuchsia_roller.py
index 0633985..4d9d538 100644
--- a/recipes/fuchsia_roller.py
+++ b/recipes/fuchsia_roller.py
@@ -6,7 +6,6 @@
 from recipe_engine.config import Enum, List
 from recipe_engine.recipe_api import Property
 
-import re
 from urlparse import urlparse
 
 # ROLL_TYPES lists the types of rolls we can perform on the target manifest.
@@ -106,6 +105,63 @@
   return 'https://%s.googlesource.com%s' % (url.netloc, url.path)
 
 
+def write_commit_message(api, roll_from_repo, import_from, old_rev, new_rev,
+                         origin_host, send_comment):
+  # Get the commit history and generate a commit message.
+  log = api.gitiles.log(
+      roll_from_repo, '%s..%s' % (old_rev, new_rev), step_name='log')
+
+  current_host = api.gerrit.host
+  if origin_host:
+    # change gerrit host to get change details from correct host
+    api.gerrit.host = origin_host
+
+  commit_lines = []
+
+  with api.step.nest('get gerrit change numbers'):
+    for commit in log:
+      commit_label = commit['id'][:7]
+
+      if origin_host:
+        change = api.gerrit.change_details(
+            'change details for %s' % commit_label,
+            commit['id'],
+            test_data=api.json.test_api.output({'_number': 12345}),
+            ok_ret='any')
+        if change:
+          # url.path contains a leading '/'.
+          project_repo = urlparse(roll_from_repo).path
+          commit_label = '{label}:{gerrit_host}/c{project_repo}/+/{change_number}'.format(
+              label=commit_label,
+              gerrit_host=origin_host.rstrip('/'),
+              project_repo=project_repo,
+              change_number=str(change['_number']))
+      commit_lines.append('{commit} {subject}'.format(
+          commit=commit_label,
+          subject=commit['message'].splitlines()[0],
+      ))
+
+  # reset host
+  api.gerrit.host = current_host
+
+  message = COMMIT_MESSAGE.format(
+      project=import_from,
+      old=old_rev[:7],
+      new=new_rev[:7],
+      count=len(log),
+      commits='\n'.join(commit_lines),
+      builder=api.buildbucket.builder_name,
+      build_id=api.buildbucket_util.id,
+  )
+  if send_comment:
+    message += COMMENT_FOOTERS.format(
+        old=old_rev[:7],
+        new=new_rev[:7],
+        repo=roll_from_repo,
+    )
+  return message
+
+
 # This recipe has two 'modes' of operation: production and dry-run. Which mode
 # of execution should be used is dictated by the 'dry_run' property.
 #
@@ -120,12 +176,13 @@
       owners_step = api.step('owners', None)
       owners_step.presentation.step_summary_text = ', '.join(owners)
 
-    api.jiri.init(use_lock_file=enforce_locks)
-    api.jiri.import_manifest(manifest, remote, name=project)
-    api.jiri.update(run_hooks=False)
+    with api.step.nest('checkout'):
+      api.jiri.init(use_lock_file=enforce_locks)
+      api.jiri.import_manifest(manifest, remote, name=project)
+      api.jiri.update(run_hooks=False)
 
     project_dir = api.path['start_dir'].join(*project.split('/'))
-    with api.context(cwd=project_dir):
+    with api.step.nest('edit manifest'), api.context(cwd=project_dir):
       # Read the remote URL of the repo we're rolling from.
       origin_manifest_element = api.jiri.read_manifest_element(
           manifest=import_in,
@@ -182,64 +239,21 @@
       api.jiri.update(run_hooks=False, local_manifest=True)
       api.jiri.emit_source_manifest()
 
-    # Get the commit history and generate a commit message.
-    log = api.gitiles.log(
-        roll_from_repo, '%s..%s' % (old_rev, new_rev), step_name='log')
-    origin_host = origin_manifest_element.get('gerrithost')
-    current_host = api.gerrit.host
-    if origin_host:
-      # change gerrit host to get change details from correct host
-      api.gerrit.host = origin_host
-
-    commit_lines = []
-
-    with api.step.nest('get gerrit change numbers'):
-      for commit in log:
-        commit_label = commit['id'][:7]
-
-        if origin_host:
-          change = api.gerrit.change_details(
-              'change details for %s' % commit_label,
-              commit['id'],
-              test_data=api.json.test_api.output({'_number': 12345}),
-              ok_ret='any')
-          if change:
-            # url.path contains a leading '/'.
-            project_repo = urlparse(roll_from_repo).path
-            commit_label = '{label}:{gerrit_host}/c{project_repo}/+/{change_number}'.format(
-                label=commit_label,
-                gerrit_host=origin_host.rstrip('/'),
-                project_repo=project_repo,
-                change_number=str(change['_number']))
-        commit_lines.append('{commit} {subject}'.format(
-            commit=commit_label,
-            subject=commit['message'].splitlines()[0],
-        ))
-
-    # reset host
-    api.gerrit.host = current_host
-
-    message = COMMIT_MESSAGE.format(
-        project=import_from,
-        old=old_rev[:7],
-        new=new_rev[:7],
-        count=len(log),
-        commits='\n'.join(commit_lines),
-        builder=api.buildbucket.builder_name,
-        build_id=api.buildbucket_util.id,
+    commit_message = write_commit_message(
+        api,
+        roll_from_repo=roll_from_repo,
+        import_from=import_from,
+        old_rev=old_rev,
+        new_rev=new_rev,
+        origin_host=origin_manifest_element.get('gerrithost'),
+        send_comment=send_comment,
     )
-    if send_comment:
-      message += COMMENT_FOOTERS.format(
-          old=old_rev[:7],
-          new=new_rev[:7],
-          repo=roll_from_repo,
-      )
 
     # Land the changes.
     api.auto_roller.attempt_roll(
         gerrit_project=project,
         repo_dir=project_dir,
-        commit_message=message,
+        commit_message=commit_message,
         dry_run=dry_run,
     )
 
@@ -263,14 +277,16 @@
           manifest='manifest/garnet',
           element_name='zircon',
           element_type='import',
+          nesting='edit manifest',
           test_output={'remote': 'https://fuchsia.googlesource.com/zircon'}) +
-      api.gitiles.refs('refs', (
+      api.gitiles.refs('edit manifest.refs', (
           'refs/heads/master', 'fc4dc762688d2263b254208f444f5c0a4b91bc07')) +
       api.gitiles.log('log', 'A', add_change_id=True) + success_step_data +
       api.jiri.read_manifest_element(api,
           manifest='manifest/garnet',
           element_name='zircon',
           element_type='import',
+          nesting='edit manifest',
           test_output={'remote': 'https://fuchsia.googlesource.com/zircon'}))
 
   # Test when the project to roll from is missing a 'remote' manifest attribute.
@@ -288,6 +304,7 @@
           manifest='manifest/garnet',
           element_name='cobalt',
           element_type='project',
+          nesting='edit manifest',
           test_output={}))
 
   # Test when the import to roll from is missing a 'remote' manifest attribute.
@@ -303,6 +320,7 @@
           manifest='manifest/garnet',
           element_name='zircon',
           element_type='import',
+          nesting='edit manifest',
           test_output={}))
 
   # Test rolling a project instead of an import.
@@ -319,6 +337,7 @@
           manifest='manifest/garnet',
           element_name='cobalt',
           element_type='project',
+          nesting='edit manifest',
           test_output={
               'remote': 'https://cobalt-analytics.googlesource.com/config'
           }))
@@ -336,6 +355,7 @@
           manifest='manifest/garnet',
           element_name='zircon',
           element_type='import',
+          nesting='edit manifest',
           test_output={'remote': 'https://fuchsia.googlesource.com/zircon'}))
 
   # Test a successful roll of zircon into garnet.
@@ -351,6 +371,7 @@
           manifest='manifest/garnet',
           element_name='third_party/foo',
           element_type='import',
+          nesting='edit manifest',
           test_output={'remote': 'sso://host/foo'}))
 
   # Test a no-op roll of zircon into garnet.
@@ -365,8 +386,10 @@
           manifest='manifest/garnet',
           element_name='zircon',
           element_type='import',
+          nesting='edit manifest',
           test_output={'remote': 'https://fuchsia.googlesource.com/zircon'}) +
-      api.step_data('jiri edit', api.json.output({'imports': []})))
+      api.step_data('edit manifest.jiri edit',
+                    api.json.output({'imports': []})))
 
   # Test a successful roll of garnet into peridot.
   yield (api.test('garnet') +
@@ -381,6 +404,7 @@
           manifest='manifest/garnet',
           element_name='garnet',
           element_type='import',
+          nesting='edit manifest',
           test_output={'remote': 'https://fuchsia.googlesource.com/garnet'}))
 
   # Test a successful roll of peridot into topaz.
@@ -396,6 +420,7 @@
           manifest='manifest/garnet',
           element_name='peridot',
           element_type='import',
+          nesting='edit manifest',
           test_output={'remote': 'https://fuchsia.googlesource.com/peridot'}))
 
   # Test a dry-run of the auto-roller for rolling zircon into garnet. We
@@ -415,6 +440,7 @@
           manifest='manifest/garnet',
           element_name='zircon',
           element_type='import',
+          nesting='edit manifest',
           test_output={'remote': 'https://fuchsia.googlesource.com/zircon'}))
 
   # Test a successful roll of peridot into topaz with lockfile.
@@ -431,6 +457,7 @@
           manifest='manifest/garnet',
           element_name='peridot',
           element_type='import',
+          nesting='edit manifest',
           test_output={'remote': 'https://fuchsia.googlesource.com/peridot'}))
 
   # Test a successful roll without sending a comment once the roll is complete.
@@ -447,6 +474,7 @@
           manifest='manifest/garnet',
           element_name='zircon',
           element_type='import',
+          nesting='edit manifest',
           test_output={'remote': 'https://fuchsia.googlesource.com/zircon'}))
 
   # Test a successful roll without sending a comment because the change has
@@ -463,6 +491,7 @@
           manifest='manifest/garnet',
           element_name='zircon',
           element_type='import',
+          nesting='edit manifest',
           test_output={'remote': 'https://fuchsia.googlesource.com/zircon'}))
 
   # Test a successful roll with links to the rolled commits in the commit
@@ -479,5 +508,6 @@
           manifest='manifest/garnet',
           element_name='zircon',
           element_type='import',
+          nesting='edit manifest',
           test_output={'remote': 'https://fuchsia.googlesource.com/zircon',
                        'gerrithost': 'https://origin-host-review.googlesource.com'}))