diff --git a/cmd/skaffold/app/cmd/cmd.go b/cmd/skaffold/app/cmd/cmd.go
index 780826ed1c2..f985515655c 100644
--- a/cmd/skaffold/app/cmd/cmd.go
+++ b/cmd/skaffold/app/cmd/cmd.go
@@ -47,7 +47,7 @@ var (
 
 func NewSkaffoldCommand(out, err io.Writer) *cobra.Command {
 	updateMsg := make(chan string)
-	var 	shutdownAPIServer func() error
+	var shutdownAPIServer func() error
 
 	rootCmd := &cobra.Command{
 		Use: "skaffold",
diff --git a/cmd/skaffold/app/cmd/commands.go b/cmd/skaffold/app/cmd/commands.go
index e90ae70f6f3..6ec396a8094 100644
--- a/cmd/skaffold/app/cmd/commands.go
+++ b/cmd/skaffold/app/cmd/commands.go
@@ -23,8 +23,6 @@ import (
 
 	"github.com/spf13/cobra"
 	"github.com/spf13/pflag"
-
-	"github.com/GoogleContainerTools/skaffold/pkg/skaffold/event"
 )
 
 // Builder is used to build cobra commands.
@@ -96,11 +94,7 @@ func (b *builder) ExactArgs(argCount int, action func(context.Context, io.Writer
 func (b *builder) NoArgs(action func(context.Context, io.Writer) error) *cobra.Command {
 	b.cmd.Args = cobra.NoArgs
 	b.cmd.RunE = func(*cobra.Command, []string) error {
-		err := action(b.cmd.Context(), b.cmd.OutOrStdout())
-		// The actual error code will be passed in
-		// https://github.com/GoogleContainerTools/skaffold/pull/4045
-		event.EndSessionEvent(1)
-		return err
+		return action(b.cmd.Context(), b.cmd.OutOrStdout())
 	}
 	return &b.cmd
 }
diff --git a/docs/content/en/api/skaffold.swagger.json b/docs/content/en/api/skaffold.swagger.json
index affb1f30895..d5540a480c9 100644
--- a/docs/content/en/api/skaffold.swagger.json
+++ b/docs/content/en/api/skaffold.swagger.json
@@ -97,13 +97,13 @@
           },
           {
             "name": "event.buildEvent.errCode",
-            "description": " - COULD_NOT_DETERMINE: Could not determine error\n - SUCCESS: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - ErrorCode_UNKNOWN: Unknown Error Codes\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - FILE_SYNC_INIT_ERROR: File Sync Initialize failure\n - DEV_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEV_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEV_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEV_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.",
+            "description": " - COULD_NOT_DETERMINE: Could not determine error\n - STATUS_CHECK_NO_ERROR: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - ErrorCode_UNKNOWN: Unknown Error Codes\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - FILE_SYNC_INIT_ERROR: File Sync Initialize failure\n - DEV_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEV_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEV_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEV_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.",
             "in": "query",
             "required": false,
             "type": "string",
             "enum": [
               "COULD_NOT_DETERMINE",
-              "SUCCESS",
+              "STATUS_CHECK_NO_ERROR",
               "STATUS_CHECK_IMAGE_PULL_ERR",
               "STATUS_CHECK_CONTAINER_CREATING",
               "STATUS_CHECK_RUN_CONTAINER_ERR",
@@ -142,13 +142,13 @@
           },
           {
             "name": "event.deployEvent.errCode",
-            "description": " - COULD_NOT_DETERMINE: Could not determine error\n - SUCCESS: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - ErrorCode_UNKNOWN: Unknown Error Codes\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - FILE_SYNC_INIT_ERROR: File Sync Initialize failure\n - DEV_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEV_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEV_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEV_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.",
+            "description": " - COULD_NOT_DETERMINE: Could not determine error\n - STATUS_CHECK_NO_ERROR: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - ErrorCode_UNKNOWN: Unknown Error Codes\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - FILE_SYNC_INIT_ERROR: File Sync Initialize failure\n - DEV_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEV_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEV_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEV_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.",
             "in": "query",
             "required": false,
             "type": "string",
             "enum": [
               "COULD_NOT_DETERMINE",
-              "SUCCESS",
+              "STATUS_CHECK_NO_ERROR",
               "STATUS_CHECK_IMAGE_PULL_ERR",
               "STATUS_CHECK_CONTAINER_CREATING",
               "STATUS_CHECK_RUN_CONTAINER_ERR",
@@ -249,13 +249,13 @@
           },
           {
             "name": "event.statusCheckEvent.errCode",
-            "description": " - COULD_NOT_DETERMINE: Could not determine error\n - SUCCESS: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - ErrorCode_UNKNOWN: Unknown Error Codes\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - FILE_SYNC_INIT_ERROR: File Sync Initialize failure\n - DEV_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEV_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEV_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEV_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.",
+            "description": " - COULD_NOT_DETERMINE: Could not determine error\n - STATUS_CHECK_NO_ERROR: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - ErrorCode_UNKNOWN: Unknown Error Codes\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - FILE_SYNC_INIT_ERROR: File Sync Initialize failure\n - DEV_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEV_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEV_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEV_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.",
             "in": "query",
             "required": false,
             "type": "string",
             "enum": [
               "COULD_NOT_DETERMINE",
-              "SUCCESS",
+              "STATUS_CHECK_NO_ERROR",
               "STATUS_CHECK_IMAGE_PULL_ERR",
               "STATUS_CHECK_CONTAINER_CREATING",
               "STATUS_CHECK_RUN_CONTAINER_ERR",
@@ -331,13 +331,13 @@
           },
           {
             "name": "event.fileSyncEvent.errCode",
-            "description": " - COULD_NOT_DETERMINE: Could not determine error\n - SUCCESS: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - ErrorCode_UNKNOWN: Unknown Error Codes\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - FILE_SYNC_INIT_ERROR: File Sync Initialize failure\n - DEV_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEV_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEV_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEV_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.",
+            "description": " - COULD_NOT_DETERMINE: Could not determine error\n - STATUS_CHECK_NO_ERROR: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - ErrorCode_UNKNOWN: Unknown Error Codes\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - FILE_SYNC_INIT_ERROR: File Sync Initialize failure\n - DEV_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEV_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEV_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEV_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.",
             "in": "query",
             "required": false,
             "type": "string",
             "enum": [
               "COULD_NOT_DETERMINE",
-              "SUCCESS",
+              "STATUS_CHECK_NO_ERROR",
               "STATUS_CHECK_IMAGE_PULL_ERR",
               "STATUS_CHECK_CONTAINER_CREATING",
               "STATUS_CHECK_RUN_CONTAINER_ERR",
@@ -411,22 +411,6 @@
             "type": "integer",
             "format": "int32"
           },
-          {
-            "name": "event.devLoopEvent.changeType",
-            "description": " - INITIAL_LOOP: First iteration\n - BUILD: Indicates build dependency change\n - TEST: Indicates test dependency change\n - DEPLOY: Indicates deploy dependency change\n - CONFIG: Indicates skaffold config change\n - SYNC: Indicates sync dependency change",
-            "in": "query",
-            "required": false,
-            "type": "string",
-            "enum": [
-              "INITIAL_LOOP",
-              "BUILD",
-              "TEST",
-              "DEPLOY",
-              "CONFIG",
-              "SYNC"
-            ],
-            "default": "INITIAL_LOOP"
-          },
           {
             "name": "event.devLoopEvent.status",
             "in": "query",
@@ -435,13 +419,13 @@
           },
           {
             "name": "event.devLoopEvent.err.errCode",
-            "description": " - COULD_NOT_DETERMINE: Could not determine error\n - SUCCESS: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - ErrorCode_UNKNOWN: Unknown Error Codes\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - FILE_SYNC_INIT_ERROR: File Sync Initialize failure\n - DEV_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEV_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEV_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEV_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.",
+            "description": " - COULD_NOT_DETERMINE: Could not determine error\n - STATUS_CHECK_NO_ERROR: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - ErrorCode_UNKNOWN: Unknown Error Codes\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - FILE_SYNC_INIT_ERROR: File Sync Initialize failure\n - DEV_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEV_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEV_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEV_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.",
             "in": "query",
             "required": false,
             "type": "string",
             "enum": [
               "COULD_NOT_DETERMINE",
-              "SUCCESS",
+              "STATUS_CHECK_NO_ERROR",
               "STATUS_CHECK_IMAGE_PULL_ERR",
               "STATUS_CHECK_CONTAINER_CREATING",
               "STATUS_CHECK_RUN_CONTAINER_ERR",
@@ -482,45 +466,6 @@
             },
             "collectionFormat": "multi"
           },
-          {
-            "name": "event.endEvent.errCode",
-            "description": " - COULD_NOT_DETERMINE: Could not determine error\n - SUCCESS: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - ErrorCode_UNKNOWN: Unknown Error Codes\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - FILE_SYNC_INIT_ERROR: File Sync Initialize failure\n - DEV_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEV_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEV_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEV_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.",
-            "in": "query",
-            "required": false,
-            "type": "string",
-            "enum": [
-              "COULD_NOT_DETERMINE",
-              "SUCCESS",
-              "STATUS_CHECK_IMAGE_PULL_ERR",
-              "STATUS_CHECK_CONTAINER_CREATING",
-              "STATUS_CHECK_RUN_CONTAINER_ERR",
-              "STATUS_CHECK_CONTAINER_TERMINATED",
-              "STATUS_CHECK_CONTAINER_RESTARTING",
-              "STATUS_CHECK_NODE_MEMORY_PRESSURE",
-              "STATUS_CHECK_NODE_DISK_PRESSURE",
-              "STATUS_CHECK_NODE_NETWORK_UNAVAILABLE",
-              "STATUS_CHECK_NODE_PID_PRESSURE",
-              "STATUS_CHECK_NODE_UNSCHEDULABLE",
-              "STATUS_CHECK_NODE_UNREACHABLE",
-              "STATUS_CHECK_NODE_NOT_READY",
-              "ErrorCode_UNKNOWN",
-              "STATUS_CHECK_UNKNOWN",
-              "STATUS_CHECK_UNKNOWN_UNSCHEDULABLE",
-              "STATUS_CHECK_CONTAINER_WAITING_UNKNOWN",
-              "FILE_SYNC_INIT_ERROR",
-              "DEV_REGISTER_BUILD_DEPS",
-              "DEV_REGISTER_TEST_DEPS",
-              "DEV_REGISTER_DEPLOY_DEPS",
-              "DEV_REGISTER_CONFIG_DEP"
-            ],
-            "default": "COULD_NOT_DETERMINE"
-          },
-          {
-            "name": "event.endEvent.errMsg",
-            "in": "query",
-            "required": false,
-            "type": "string"
-          },
           {
             "name": "entry",
             "in": "query",
@@ -644,9 +589,6 @@
         "count": {
           "type": "integer",
           "format": "int32"
-        },
-        "changeType": {
-          "$ref": "#/definitions/protoChangeType"
         }
       }
     },
@@ -749,20 +691,6 @@
       "default": "UNKNOWN_BUILDER_TYPE",
       "description": "Enum indicating builders used\n- UNKNOWN_BUILDER_TYPE: Could not determine builder type\n - JIB: JIB Builder\n - BAZEL: Bazel Builder\n - BUILDPACKS: Buildpacks Builder\n - CUSTOM: Custom Builder\n - KANIKO: Kaniko Builder\n - DOCKER: Docker Builder"
     },
-    "protoChangeType": {
-      "type": "string",
-      "enum": [
-        "INITIAL_LOOP",
-        "BUILD",
-        "TEST",
-        "DEPLOY",
-        "CONFIG",
-        "SYNC"
-      ],
-      "default": "INITIAL_LOOP",
-      "description": "- INITIAL_LOOP: First iteration\n - BUILD: Indicates build dependency change\n - TEST: Indicates test dependency change\n - DEPLOY: Indicates deploy dependency change\n - CONFIG: Indicates skaffold config change\n - SYNC: Indicates sync dependency change",
-      "description": "Enum for indicating which dependency change triggered the dev loop"
-    },
     "protoClusterType": {
       "type": "string",
       "enum": [
@@ -857,21 +785,6 @@
       "default": "UNKNOWN_DEPLOYER_TYPE",
       "description": "Enum indicating deploy tools used\n- UNKNOWN_DEPLOYER_TYPE: Could not determine Deployer Type\n - HELM: Helm Deployer\n - KUSTOMIZE: Kustomize Deployer\n - KUBECTL: Kubectl Deployer"
     },
-    "protoDevLoop": {
-      "type": "object",
-      "properties": {
-        "iteration": {
-          "type": "integer",
-          "format": "int32"
-        },
-        "changeType": {
-          "$ref": "#/definitions/protoChangeType"
-        },
-        "errCode": {
-          "$ref": "#/definitions/protoErrorCode"
-        }
-      }
-    },
     "protoDevLoopEvent": {
       "type": "object",
       "properties": {
@@ -879,9 +792,6 @@
           "type": "integer",
           "format": "int32"
         },
-        "changeType": {
-          "$ref": "#/definitions/protoChangeType"
-        },
         "status": {
           "type": "string"
         },
@@ -891,29 +801,11 @@
       },
       "description": "`DevLoopEvent` marks the start and end of a dev loop."
     },
-    "protoEndEvent": {
-      "type": "object",
-      "properties": {
-        "errCode": {
-          "$ref": "#/definitions/protoErrorCode"
-        },
-        "errMsg": {
-          "type": "string"
-        },
-        "loops": {
-          "type": "array",
-          "items": {
-            "$ref": "#/definitions/protoDevLoop"
-          }
-        }
-      },
-      "description": "`EndEvent` is the last event indicating skaffold session ended."
-    },
     "protoErrorCode": {
       "type": "string",
       "enum": [
         "COULD_NOT_DETERMINE",
-        "SUCCESS",
+        "STATUS_CHECK_NO_ERROR",
         "STATUS_CHECK_IMAGE_PULL_ERR",
         "STATUS_CHECK_CONTAINER_CREATING",
         "STATUS_CHECK_RUN_CONTAINER_ERR",
@@ -938,6 +830,7 @@
       ],
       "default": "COULD_NOT_DETERMINE",
 <<<<<<< HEAD
+<<<<<<< HEAD
 <<<<<<< HEAD
       "description": "Enum for error codes\n- COULD_NOT_DETERMINE: Could not determine error\n - STATUS_CHECK_NO_ERROR: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason"
 =======
@@ -945,6 +838,9 @@
 =======
       "description": "- COULD_NOT_DETERMINE: Could not determine error\n - SUCCESS: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - ErrorCode_UNKNOWN: Unknown Error Codes\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - FILE_SYNC_INIT_ERROR: File Sync Initialize failure\n - DEV_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEV_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEV_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEV_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.",
 >>>>>>> ca8075742... add skaffold end session event
+=======
+      "description": "- COULD_NOT_DETERMINE: Could not determine error\n - STATUS_CHECK_NO_ERROR: Status Check Success\n - STATUS_CHECK_IMAGE_PULL_ERR: Container image pull error\n - STATUS_CHECK_CONTAINER_CREATING: Container creating error\n - STATUS_CHECK_RUN_CONTAINER_ERR: Container run error\n - STATUS_CHECK_CONTAINER_TERMINATED: Container is already terminated\n - STATUS_CHECK_CONTAINER_RESTARTING: Container restarting error\n - STATUS_CHECK_NODE_MEMORY_PRESSURE: Node memory pressure error\n - STATUS_CHECK_NODE_DISK_PRESSURE: Node disk pressure error\n - STATUS_CHECK_NODE_NETWORK_UNAVAILABLE: Node network unavailable error\n - STATUS_CHECK_NODE_PID_PRESSURE: Node PID pressure error\n - STATUS_CHECK_NODE_UNSCHEDULABLE: Node unschedulable error\n - STATUS_CHECK_NODE_UNREACHABLE: Node unreachable error\n - STATUS_CHECK_NODE_NOT_READY: Node not ready error\n - ErrorCode_UNKNOWN: Unknown Error Codes\n - STATUS_CHECK_UNKNOWN: Status Check error unknown\n - STATUS_CHECK_UNKNOWN_UNSCHEDULABLE: Container is unschedulable due to unknown reasons\n - STATUS_CHECK_CONTAINER_WAITING_UNKNOWN: Container is waiting due to unknown reason\n - FILE_SYNC_INIT_ERROR: File Sync Initialize failure\n - DEV_REGISTER_BUILD_DEPS: Failed to configure watcher for build dependencies in dev loop\n - DEV_REGISTER_TEST_DEPS: Failed to configure watcher for test dependencies in dev loop\n - DEV_REGISTER_DEPLOY_DEPS: Failed to configure watcher for deploy dependencies in dev loop\n - DEV_REGISTER_CONFIG_DEP: Failed to configure watcher for Skaffold configuration file.",
+>>>>>>> fcd6a6594... Revert "add skaffold end session event"
       "description": "Enum for error codes"
 >>>>>>> 118d52ef4... Add  to indicate start and end of skaffold dev iterations
     },
@@ -977,9 +873,6 @@
         },
         "devLoopEvent": {
           "$ref": "#/definitions/protoDevLoopEvent"
-        },
-        "endEvent": {
-          "$ref": "#/definitions/protoEndEvent"
         }
       },
       "description": "`Event` describes an event in the Skaffold process.\nIt is one of MetaEvent, BuildEvent, DeployEvent, PortEvent, StatusCheckEvent, ResourceStatusCheckEvent, FileSyncEvent, or DebuggingContainerEvent."
@@ -1163,12 +1056,6 @@
         },
         "metadata": {
           "$ref": "#/definitions/protoMetadata"
-        },
-        "loops": {
-          "type": "array",
-          "items": {
-            "$ref": "#/definitions/protoDevLoop"
-          }
         }
       },
       "description": "`State` represents the current state of the Skaffold components"
diff --git a/docs/content/en/docs/references/api/grpc.md b/docs/content/en/docs/references/api/grpc.md
index b93e0b82bb7..e27d7166c2e 100644
--- a/docs/content/en/docs/references/api/grpc.md
+++ b/docs/content/en/docs/references/api/grpc.md
@@ -247,7 +247,6 @@ anytime a deployment starts or completes, successfully or not.
 | ----- | ---- | ----- | ----------- |
 | type | [DeployerType](#proto.DeployerType) |  |  |
 | count | [int32](#int32) |  |  |
-| changeType | [ChangeType](#proto.ChangeType) |  |  |
 
 
 
@@ -270,23 +269,6 @@ anytime a deployment starts or completes, successfully or not.
 
 
 
-<a name="proto.DevLoop"></a>
-#### DevLoop
-
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| iteration | [int32](#int32) |  | dev loop iteration |
-| changeType | [ChangeType](#proto.ChangeType) |  | Change type which triggered this loop |
-| errCode | [ErrorCode](#proto.ErrorCode) |  | actionable error message |
-
-
-
-
-
-
-
 <a name="proto.DevLoopEvent"></a>
 #### DevLoopEvent
 `DevLoopEvent` marks the start and end of a dev loop.
@@ -295,7 +277,6 @@ anytime a deployment starts or completes, successfully or not.
 | Field | Type | Label | Description |
 | ----- | ---- | ----- | ----------- |
 | iteration | [int32](#int32) |  | dev loop iteration |
-| changeType | [ChangeType](#proto.ChangeType) |  |  |
 | status | [string](#string) |  | dev loop status oneof: In Progress, Completed, Failed |
 | err | [ActionableErr](#proto.ActionableErr) |  | actionable error message |
 
@@ -305,23 +286,6 @@ anytime a deployment starts or completes, successfully or not.
 
 
 
-<a name="proto.EndEvent"></a>
-#### EndEvent
-`EndEvent` is the last event indicating skaffold session ended.
-
-
-| Field | Type | Label | Description |
-| ----- | ---- | ----- | ----------- |
-| errCode | [ErrorCode](#proto.ErrorCode) |  |  |
-| errMsg | [string](#string) |  |  |
-| loops | [DevLoop](#proto.DevLoop) | repeated |  |
-
-
-
-
-
-
-
 <a name="proto.Event"></a>
 #### Event
 `Event` describes an event in the Skaffold process.
@@ -339,7 +303,6 @@ It is one of MetaEvent, BuildEvent, DeployEvent, PortEvent, StatusCheckEvent, Re
 | fileSyncEvent | [FileSyncEvent](#proto.FileSyncEvent) |  | describes the sync status. |
 | debuggingContainerEvent | [DebuggingContainerEvent](#proto.DebuggingContainerEvent) |  | describes the appearance or disappearance of a debugging container |
 | devLoopEvent | [DevLoopEvent](#proto.DevLoopEvent) |  | describes a start and end of a dev loop. |
-| endEvent | [EndEvent](#proto.EndEvent) |  |  |
 
 
 
@@ -553,7 +516,6 @@ will be sent with the new status.
 | fileSyncState | [FileSyncState](#proto.FileSyncState) |  |  |
 | debuggingContainers | [DebuggingContainerEvent](#proto.DebuggingContainerEvent) | repeated |  |
 | metadata | [Metadata](#proto.Metadata) |  |  |
-| loops | [DevLoop](#proto.DevLoop) | repeated |  |
 
 
 
@@ -689,22 +651,6 @@ Enum indicating builders used
 
 
 
-<a name="proto.ChangeType"></a>
-
-### ChangeType
-Enum for indicating which dependency change triggered the dev loop
-
-| Name | Number | Description |
-| ---- | ------ | ----------- |
-| INITIAL_LOOP | 0 | First iteration |
-| BUILD | 1 | Indicates build dependency change |
-| TEST | 2 | Indicates test dependency change |
-| DEPLOY | 3 | Indicates deploy dependency change |
-| CONFIG | 4 | Indicates skaffold config change |
-| SYNC | 5 | Indicates sync dependency change |
-
-
-
 <a name="proto.ClusterType"></a>
 
 ### ClusterType
@@ -741,7 +687,7 @@ Enum for error codes
 | Name | Number | Description |
 | ---- | ------ | ----------- |
 | COULD_NOT_DETERMINE | 0 | Could not determine error |
-| SUCCESS | 200 | Status Check Success |
+| STATUS_CHECK_NO_ERROR | 200 | Status Check Success |
 | STATUS_CHECK_IMAGE_PULL_ERR | 300 | Container image pull error |
 | STATUS_CHECK_CONTAINER_CREATING | 301 | Container creating error |
 | STATUS_CHECK_RUN_CONTAINER_ERR | 302 | Container run error |
diff --git a/pkg/diag/validator/pod.go b/pkg/diag/validator/pod.go
index a1e5b62e59e..1c09f79f054 100644
--- a/pkg/diag/validator/pod.go
+++ b/pkg/diag/validator/pod.go
@@ -100,7 +100,7 @@ func getContainerStatus(pod *v1.Pod) (proto.ErrorCode, error) {
 			}
 		}
 	}
-	return proto.ErrorCode_SUCCESS, nil
+	return proto.ErrorCode_STATUS_CHECK_NO_ERROR, nil
 }
 
 func getWaitingContainerStatus(cs []v1.ContainerStatus) (proto.ErrorCode, error) {
@@ -114,7 +114,7 @@ func getWaitingContainerStatus(cs []v1.ContainerStatus) (proto.ErrorCode, error)
 		}
 	}
 	// No waiting or terminated containers, pod should be in good health.
-	return proto.ErrorCode_SUCCESS, nil
+	return proto.ErrorCode_STATUS_CHECK_NO_ERROR, nil
 }
 
 func getTolerationsDetails(reason string, message string) (proto.ErrorCode, error) {
@@ -219,7 +219,7 @@ func newPodStatus(n string, ns string, p string) *podStatus {
 		name:      n,
 		namespace: ns,
 		phase:     p,
-		errCode:   proto.ErrorCode_SUCCESS,
+		errCode:   proto.ErrorCode_STATUS_CHECK_NO_ERROR,
 	}
 }
 
diff --git a/pkg/diag/validator/pod_test.go b/pkg/diag/validator/pod_test.go
index a1806d3bd98..cd7b20fccdd 100644
--- a/pkg/diag/validator/pod_test.go
+++ b/pkg/diag/validator/pod_test.go
@@ -88,7 +88,7 @@ func TestRun(t *testing.T) {
 				},
 			}},
 			expected: []Resource{NewResource("test", "", "foo", "Succeeded", nil,
-				proto.ErrorCode_SUCCESS)},
+				proto.ErrorCode_STATUS_CHECK_NO_ERROR)},
 		},
 		{
 			description: "pod is in Stable State",
@@ -109,7 +109,7 @@ func TestRun(t *testing.T) {
 				},
 			}},
 			expected: []Resource{NewResource("test", "", "foo", "Running", nil,
-				proto.ErrorCode_SUCCESS)},
+				proto.ErrorCode_STATUS_CHECK_NO_ERROR)},
 		},
 		{
 			description: "pod condition unknown",
diff --git a/pkg/skaffold/event/event.go b/pkg/skaffold/event/event.go
index 1a5e609e044..c4b99561911 100644
--- a/pkg/skaffold/event/event.go
+++ b/pkg/skaffold/event/event.go
@@ -249,12 +249,8 @@ func BuildComplete(imageName string) {
 }
 
 // DevLoopInProgress notifies that a dev loop has been started.
-func DevLoopInProgress(i int, depType proto.ChangeType) {
-	handler.handleDevLoopEvent(&proto.DevLoopEvent{
-		Iteration:  int32(i),
-		ChangeType: depType,
-		Status:     InProgress,
-	})
+func DevLoopInProgress(i int) {
+	handler.handleDevLoopEvent(&proto.DevLoopEvent{Iteration: int32(i), Status: InProgress})
 }
 
 // DevLoopFailed notifies that a dev loop has failed with an error code
@@ -419,18 +415,6 @@ func LogMetaEvent() {
 	})
 }
 
-// EndSessionEvent notifies that that skaffold session has ended and describes it
-func EndSessionEvent(errorCode proto.ErrorCode) {
-	go handler.handle(&proto.Event{
-		EventType: &proto.Event_EndEvent{
-			EndEvent: &proto.EndEvent{
-				ErrCode: errorCode,
-				Loops:   handler.state.Loops,
-			},
-		},
-	})
-}
-
 func (ev *eventHandler) handle(event *proto.Event) {
 	logEntry := &proto.LogEntry{
 		Timestamp: ptypes.TimestampNow(),
@@ -546,24 +530,14 @@ func (ev *eventHandler) handle(event *proto.Event) {
 		}
 	case *proto.Event_DevLoopEvent:
 		de := e.DevLoopEvent
-		ev.stateLock.Lock()
 		switch de.Status {
 		case InProgress:
-			ev.state.Loops = append(ev.state.Loops, &proto.DevLoop{
-				Iteration:  de.Iteration,
-				ChangeType: de.ChangeType,
-			})
 			logEntry.Entry = fmt.Sprintf("Dev Iteration %d in progress", de.Iteration)
 		case Succeeded:
-			ev.state.Loops[int(de.Iteration)].ErrCode = proto.ErrorCode_SUCCESS
 			logEntry.Entry = fmt.Sprintf("Dev Iteration %d successful", de.Iteration)
 		default:
-			ev.state.Loops[int(de.Iteration)].ErrCode = de.Err.ErrCode
 			logEntry.Entry = fmt.Sprintf("Dev Iteration %d failed with error code %v", de.Iteration, de.Err.ErrCode)
 		}
-		ev.stateLock.Unlock()
-	case *proto.Event_EndEvent:
-		logEntry.Entry = fmt.Sprintf("Skaffold end event with %d dev loops", len(e.EndEvent.Loops))
 	default:
 		return
 	}
@@ -578,7 +552,6 @@ func ResetStateOnBuild() {
 		builds[k] = NotStarted
 	}
 	newState := emptyStateWithArtifacts(builds, handler.getState().Metadata)
-	newState.Loops = handler.getState().Loops
 	handler.setState(newState)
 }
 
diff --git a/pkg/skaffold/runner/changeset.go b/pkg/skaffold/runner/changeset.go
index 701af2d46fa..d2b18133fd1 100644
--- a/pkg/skaffold/runner/changeset.go
+++ b/pkg/skaffold/runner/changeset.go
@@ -19,7 +19,6 @@ package runner
 import (
 	"github.com/GoogleContainerTools/skaffold/pkg/skaffold/schema/latest"
 	"github.com/GoogleContainerTools/skaffold/pkg/skaffold/sync"
-	"github.com/GoogleContainerTools/skaffold/proto"
 )
 
 type changeSet struct {
@@ -29,7 +28,6 @@ type changeSet struct {
 	resyncTracker  map[string]*sync.Item
 	needsRedeploy  bool
 	needsReload    bool
-	changeType     proto.ChangeType
 }
 
 func (c *changeSet) AddRebuild(a *latest.Artifact) {
@@ -39,7 +37,6 @@ func (c *changeSet) AddRebuild(a *latest.Artifact) {
 	c.rebuildTracker[a.ImageName] = a
 	c.needsRebuild = append(c.needsRebuild, a)
 	c.needsRedeploy = true
-	c.changeType = proto.ChangeType_BUILD
 }
 
 func (c *changeSet) AddResync(s *sync.Item) {
@@ -48,17 +45,6 @@ func (c *changeSet) AddResync(s *sync.Item) {
 	}
 	c.resyncTracker[s.Image] = s
 	c.needsResync = append(c.needsResync, s)
-	c.changeType = proto.ChangeType_SYNC
-}
-
-func (c *changeSet) AddRedeploy(ct proto.ChangeType) {
-	c.needsRedeploy = true
-	c.changeType = ct
-}
-
-func (c *changeSet) NeedsReload() {
-	c.needsReload = true
-	c.changeType = proto.ChangeType_CONFIG
 }
 
 func (c *changeSet) resetBuild() {
diff --git a/pkg/skaffold/runner/dev.go b/pkg/skaffold/runner/dev.go
index c2b41d32eb7..6188a51c0a4 100644
--- a/pkg/skaffold/runner/dev.go
+++ b/pkg/skaffold/runner/dev.go
@@ -63,7 +63,7 @@ func (r *SkaffoldRunner) doDev(ctx context.Context, out io.Writer) error {
 	// if any action is going to be performed, reset the monitor's changed component tracker for debouncing
 	defer r.monitor.Reset()
 	defer r.listener.LogWatchToUser(out)
-	event.DevLoopInProgress(iteration, r.changeSet.changeType)
+	event.DevLoopInProgress(iteration)
 	defer func() { iteration++ }()
 	if needsSync {
 		defer func() {
@@ -126,7 +126,7 @@ func (r *SkaffoldRunner) doDev(ctx context.Context, out io.Writer) error {
 // Dev watches for changes and runs the skaffold build and deploy
 // config until interrupted by the user.
 func (r *SkaffoldRunner) Dev(ctx context.Context, out io.Writer, artifacts []*latest.Artifact) error {
-	event.DevLoopInProgress(0, proto.ChangeType_INITIAL_LOOP)
+	event.DevLoopInProgress(0)
 	r.createLogger(out, artifacts)
 	defer r.logger.Stop()
 
@@ -177,7 +177,7 @@ func (r *SkaffoldRunner) Dev(ctx context.Context, out io.Writer, artifacts []*la
 	// Watch test configuration
 	if err := r.monitor.Register(
 		r.tester.TestDependencies,
-		func(filemon.Events) { r.changeSet.AddRedeploy(proto.ChangeType_TEST) },
+		func(filemon.Events) { r.changeSet.needsRedeploy = true },
 	); err != nil {
 		event.DevLoopFailedWithErrorCode(0, proto.ErrorCode_DEV_REGISTER_TEST_DEPS, err)
 		return fmt.Errorf("watching test files: %w", err)
@@ -186,7 +186,7 @@ func (r *SkaffoldRunner) Dev(ctx context.Context, out io.Writer, artifacts []*la
 	// Watch deployment configuration
 	if err := r.monitor.Register(
 		r.deployer.Dependencies,
-		func(filemon.Events) { r.changeSet.AddRedeploy(proto.ChangeType_DEPLOY) },
+		func(filemon.Events) { r.changeSet.needsRedeploy = true },
 	); err != nil {
 		event.DevLoopFailedWithErrorCode(0, proto.ErrorCode_DEV_REGISTER_DEPLOY_DEPS, err)
 		return fmt.Errorf("watching files for deployer: %w", err)
@@ -195,7 +195,7 @@ func (r *SkaffoldRunner) Dev(ctx context.Context, out io.Writer, artifacts []*la
 	// Watch Skaffold configuration
 	if err := r.monitor.Register(
 		func() ([]string, error) { return []string{r.runCtx.Opts.ConfigurationFile}, nil },
-		func(filemon.Events) { r.changeSet.NeedsReload() },
+		func(filemon.Events) { r.changeSet.needsReload = true },
 	); err != nil {
 		event.DevLoopFailedWithErrorCode(0, proto.ErrorCode_DEV_REGISTER_CONFIG_DEP, err)
 		return fmt.Errorf("watching skaffold configuration %q: %w", r.runCtx.Opts.ConfigurationFile, err)
diff --git a/proto/skaffold.pb.go b/proto/skaffold.pb.go
index a0316f44f6c..1086fb52072 100644
--- a/proto/skaffold.pb.go
+++ b/proto/skaffold.pb.go
@@ -147,50 +147,6 @@ func (DeployerType) EnumDescriptor() ([]byte, []int) {
 	return fileDescriptor_4f2d38e344f9dbf5, []int{2}
 }
 
-// Enum for indicating which dependency change triggered the dev loop
-type ChangeType int32
-
-const (
-	// First iteration
-	ChangeType_INITIAL_LOOP ChangeType = 0
-	// Indicates build dependency change
-	ChangeType_BUILD ChangeType = 1
-	// Indicates test dependency change
-	ChangeType_TEST ChangeType = 2
-	// Indicates deploy dependency change
-	ChangeType_DEPLOY ChangeType = 3
-	// Indicates skaffold config change
-	ChangeType_CONFIG ChangeType = 4
-	// Indicates sync dependency change
-	ChangeType_SYNC ChangeType = 5
-)
-
-var ChangeType_name = map[int32]string{
-	0: "INITIAL_LOOP",
-	1: "BUILD",
-	2: "TEST",
-	3: "DEPLOY",
-	4: "CONFIG",
-	5: "SYNC",
-}
-
-var ChangeType_value = map[string]int32{
-	"INITIAL_LOOP": 0,
-	"BUILD":        1,
-	"TEST":         2,
-	"DEPLOY":       3,
-	"CONFIG":       4,
-	"SYNC":         5,
-}
-
-func (x ChangeType) String() string {
-	return proto.EnumName(ChangeType_name, int32(x))
-}
-
-func (ChangeType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{3}
-}
-
 // Enum indicating cluster type the application is deployed to
 type ClusterType int32
 
@@ -224,7 +180,7 @@ func (x ClusterType) String() string {
 }
 
 func (ClusterType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{4}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{3}
 }
 
 // Enum for error codes
@@ -234,7 +190,7 @@ const (
 	// Could not determine error
 	ErrorCode_COULD_NOT_DETERMINE ErrorCode = 0
 	// Status Check Success
-	ErrorCode_SUCCESS ErrorCode = 200
+	ErrorCode_STATUS_CHECK_NO_ERROR ErrorCode = 200
 	// Container image pull error
 	ErrorCode_STATUS_CHECK_IMAGE_PULL_ERR ErrorCode = 300
 	// Container creating error
@@ -281,7 +237,7 @@ const (
 
 var ErrorCode_name = map[int32]string{
 	0:   "COULD_NOT_DETERMINE",
-	200: "SUCCESS",
+	200: "STATUS_CHECK_NO_ERROR",
 	300: "STATUS_CHECK_IMAGE_PULL_ERR",
 	301: "STATUS_CHECK_CONTAINER_CREATING",
 	302: "STATUS_CHECK_RUN_CONTAINER_ERR",
@@ -307,7 +263,7 @@ var ErrorCode_name = map[int32]string{
 
 var ErrorCode_value = map[string]int32{
 	"COULD_NOT_DETERMINE":                    0,
-	"SUCCESS":                                200,
+	"STATUS_CHECK_NO_ERROR":                  200,
 	"STATUS_CHECK_IMAGE_PULL_ERR":            300,
 	"STATUS_CHECK_CONTAINER_CREATING":        301,
 	"STATUS_CHECK_RUN_CONTAINER_ERR":         302,
@@ -336,7 +292,7 @@ func (x ErrorCode) String() string {
 }
 
 func (ErrorCode) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{5}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{4}
 }
 
 type StateResponse struct {
@@ -465,7 +421,6 @@ type State struct {
 	FileSyncState        *FileSyncState             `protobuf:"bytes,6,opt,name=fileSyncState,proto3" json:"fileSyncState,omitempty"`
 	DebuggingContainers  []*DebuggingContainerEvent `protobuf:"bytes,7,rep,name=debuggingContainers,proto3" json:"debuggingContainers,omitempty"`
 	Metadata             *Metadata                  `protobuf:"bytes,8,opt,name=metadata,proto3" json:"metadata,omitempty"`
-	Loops                []*DevLoop                 `protobuf:"bytes,9,rep,name=loops,proto3" json:"loops,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
 	XXX_unrecognized     []byte                     `json:"-"`
 	XXX_sizecache        int32                      `json:"-"`
@@ -545,68 +500,6 @@ func (m *State) GetMetadata() *Metadata {
 	return nil
 }
 
-func (m *State) GetLoops() []*DevLoop {
-	if m != nil {
-		return m.Loops
-	}
-	return nil
-}
-
-type DevLoop struct {
-	Iteration            int32      `protobuf:"varint,1,opt,name=iteration,proto3" json:"iteration,omitempty"`
-	ChangeType           ChangeType `protobuf:"varint,2,opt,name=changeType,proto3,enum=proto.ChangeType" json:"changeType,omitempty"`
-	ErrCode              ErrorCode  `protobuf:"varint,3,opt,name=errCode,proto3,enum=proto.ErrorCode" json:"errCode,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
-}
-
-func (m *DevLoop) Reset()         { *m = DevLoop{} }
-func (m *DevLoop) String() string { return proto.CompactTextString(m) }
-func (*DevLoop) ProtoMessage()    {}
-func (*DevLoop) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{4}
-}
-
-func (m *DevLoop) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_DevLoop.Unmarshal(m, b)
-}
-func (m *DevLoop) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_DevLoop.Marshal(b, m, deterministic)
-}
-func (m *DevLoop) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_DevLoop.Merge(m, src)
-}
-func (m *DevLoop) XXX_Size() int {
-	return xxx_messageInfo_DevLoop.Size(m)
-}
-func (m *DevLoop) XXX_DiscardUnknown() {
-	xxx_messageInfo_DevLoop.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_DevLoop proto.InternalMessageInfo
-
-func (m *DevLoop) GetIteration() int32 {
-	if m != nil {
-		return m.Iteration
-	}
-	return 0
-}
-
-func (m *DevLoop) GetChangeType() ChangeType {
-	if m != nil {
-		return m.ChangeType
-	}
-	return ChangeType_INITIAL_LOOP
-}
-
-func (m *DevLoop) GetErrCode() ErrorCode {
-	if m != nil {
-		return m.ErrCode
-	}
-	return ErrorCode_COULD_NOT_DETERMINE
-}
-
 type Metadata struct {
 	Build  *BuildMetadata  `protobuf:"bytes,1,opt,name=build,proto3" json:"build,omitempty"`
 	Deploy *DeployMetadata `protobuf:"bytes,2,opt,name=deploy,proto3" json:"deploy,omitempty"`
@@ -621,7 +514,7 @@ func (m *Metadata) Reset()         { *m = Metadata{} }
 func (m *Metadata) String() string { return proto.CompactTextString(m) }
 func (*Metadata) ProtoMessage()    {}
 func (*Metadata) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{5}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{4}
 }
 
 func (m *Metadata) XXX_Unmarshal(b []byte) error {
@@ -678,7 +571,7 @@ func (m *BuildMetadata) Reset()         { *m = BuildMetadata{} }
 func (m *BuildMetadata) String() string { return proto.CompactTextString(m) }
 func (*BuildMetadata) ProtoMessage()    {}
 func (*BuildMetadata) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{6}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{5}
 }
 
 func (m *BuildMetadata) XXX_Unmarshal(b []byte) error {
@@ -739,7 +632,7 @@ func (m *BuildMetadata_Builder) Reset()         { *m = BuildMetadata_Builder{} }
 func (m *BuildMetadata_Builder) String() string { return proto.CompactTextString(m) }
 func (*BuildMetadata_Builder) ProtoMessage()    {}
 func (*BuildMetadata_Builder) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{6, 0}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{5, 0}
 }
 
 func (m *BuildMetadata_Builder) XXX_Unmarshal(b []byte) error {
@@ -786,7 +679,7 @@ func (m *DeployMetadata) Reset()         { *m = DeployMetadata{} }
 func (m *DeployMetadata) String() string { return proto.CompactTextString(m) }
 func (*DeployMetadata) ProtoMessage()    {}
 func (*DeployMetadata) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{7}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{6}
 }
 
 func (m *DeployMetadata) XXX_Unmarshal(b []byte) error {
@@ -824,7 +717,6 @@ func (m *DeployMetadata) GetCluster() ClusterType {
 type DeployMetadata_Deployer struct {
 	Type                 DeployerType `protobuf:"varint,1,opt,name=type,proto3,enum=proto.DeployerType" json:"type,omitempty"`
 	Count                int32        `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
-	ChangeType           ChangeType   `protobuf:"varint,3,opt,name=changeType,proto3,enum=proto.ChangeType" json:"changeType,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
 	XXX_unrecognized     []byte       `json:"-"`
 	XXX_sizecache        int32        `json:"-"`
@@ -834,7 +726,7 @@ func (m *DeployMetadata_Deployer) Reset()         { *m = DeployMetadata_Deployer
 func (m *DeployMetadata_Deployer) String() string { return proto.CompactTextString(m) }
 func (*DeployMetadata_Deployer) ProtoMessage()    {}
 func (*DeployMetadata_Deployer) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{7, 0}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{6, 0}
 }
 
 func (m *DeployMetadata_Deployer) XXX_Unmarshal(b []byte) error {
@@ -869,13 +761,6 @@ func (m *DeployMetadata_Deployer) GetCount() int32 {
 	return 0
 }
 
-func (m *DeployMetadata_Deployer) GetChangeType() ChangeType {
-	if m != nil {
-		return m.ChangeType
-	}
-	return ChangeType_INITIAL_LOOP
-}
-
 // `BuildState` maps Skaffold artifacts to their current build states
 type BuildState struct {
 	// A map of `artifact name -> build-state`.
@@ -895,7 +780,7 @@ func (m *BuildState) Reset()         { *m = BuildState{} }
 func (m *BuildState) String() string { return proto.CompactTextString(m) }
 func (*BuildState) ProtoMessage()    {}
 func (*BuildState) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{8}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{7}
 }
 
 func (m *BuildState) XXX_Unmarshal(b []byte) error {
@@ -935,7 +820,7 @@ func (m *DeployState) Reset()         { *m = DeployState{} }
 func (m *DeployState) String() string { return proto.CompactTextString(m) }
 func (*DeployState) ProtoMessage()    {}
 func (*DeployState) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{9}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{8}
 }
 
 func (m *DeployState) XXX_Unmarshal(b []byte) error {
@@ -982,7 +867,7 @@ func (m *StatusCheckState) Reset()         { *m = StatusCheckState{} }
 func (m *StatusCheckState) String() string { return proto.CompactTextString(m) }
 func (*StatusCheckState) ProtoMessage()    {}
 func (*StatusCheckState) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{10}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{9}
 }
 
 func (m *StatusCheckState) XXX_Unmarshal(b []byte) error {
@@ -1029,7 +914,7 @@ func (m *FileSyncState) Reset()         { *m = FileSyncState{} }
 func (m *FileSyncState) String() string { return proto.CompactTextString(m) }
 func (*FileSyncState) ProtoMessage()    {}
 func (*FileSyncState) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{11}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{10}
 }
 
 func (m *FileSyncState) XXX_Unmarshal(b []byte) error {
@@ -1070,7 +955,6 @@ type Event struct {
 	//	*Event_FileSyncEvent
 	//	*Event_DebuggingContainerEvent
 	//	*Event_DevLoopEvent
-	//	*Event_EndEvent
 	EventType            isEvent_EventType `protobuf_oneof:"event_type"`
 	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
 	XXX_unrecognized     []byte            `json:"-"`
@@ -1081,7 +965,7 @@ func (m *Event) Reset()         { *m = Event{} }
 func (m *Event) String() string { return proto.CompactTextString(m) }
 func (*Event) ProtoMessage()    {}
 func (*Event) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{12}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{11}
 }
 
 func (m *Event) XXX_Unmarshal(b []byte) error {
@@ -1142,10 +1026,6 @@ type Event_DevLoopEvent struct {
 	DevLoopEvent *DevLoopEvent `protobuf:"bytes,9,opt,name=devLoopEvent,proto3,oneof"`
 }
 
-type Event_EndEvent struct {
-	EndEvent *EndEvent `protobuf:"bytes,10,opt,name=endEvent,proto3,oneof"`
-}
-
 func (*Event_MetaEvent) isEvent_EventType() {}
 
 func (*Event_BuildEvent) isEvent_EventType() {}
@@ -1164,8 +1044,6 @@ func (*Event_DebuggingContainerEvent) isEvent_EventType() {}
 
 func (*Event_DevLoopEvent) isEvent_EventType() {}
 
-func (*Event_EndEvent) isEvent_EventType() {}
-
 func (m *Event) GetEventType() isEvent_EventType {
 	if m != nil {
 		return m.EventType
@@ -1236,13 +1114,6 @@ func (m *Event) GetDevLoopEvent() *DevLoopEvent {
 	return nil
 }
 
-func (m *Event) GetEndEvent() *EndEvent {
-	if x, ok := m.GetEventType().(*Event_EndEvent); ok {
-		return x.EndEvent
-	}
-	return nil
-}
-
 // XXX_OneofWrappers is for the internal use of the proto package.
 func (*Event) XXX_OneofWrappers() []interface{} {
 	return []interface{}{
@@ -1255,72 +1126,14 @@ func (*Event) XXX_OneofWrappers() []interface{} {
 		(*Event_FileSyncEvent)(nil),
 		(*Event_DebuggingContainerEvent)(nil),
 		(*Event_DevLoopEvent)(nil),
-		(*Event_EndEvent)(nil),
-	}
-}
-
-// `EndEvent` is the last event indicating skaffold session ended.
-type EndEvent struct {
-	ErrCode              ErrorCode  `protobuf:"varint,1,opt,name=errCode,proto3,enum=proto.ErrorCode" json:"errCode,omitempty"`
-	ErrMsg               string     `protobuf:"bytes,2,opt,name=errMsg,proto3" json:"errMsg,omitempty"`
-	Loops                []*DevLoop `protobuf:"bytes,3,rep,name=loops,proto3" json:"loops,omitempty"`
-	XXX_NoUnkeyedLiteral struct{}   `json:"-"`
-	XXX_unrecognized     []byte     `json:"-"`
-	XXX_sizecache        int32      `json:"-"`
-}
-
-func (m *EndEvent) Reset()         { *m = EndEvent{} }
-func (m *EndEvent) String() string { return proto.CompactTextString(m) }
-func (*EndEvent) ProtoMessage()    {}
-func (*EndEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{13}
-}
-
-func (m *EndEvent) XXX_Unmarshal(b []byte) error {
-	return xxx_messageInfo_EndEvent.Unmarshal(m, b)
-}
-func (m *EndEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
-	return xxx_messageInfo_EndEvent.Marshal(b, m, deterministic)
-}
-func (m *EndEvent) XXX_Merge(src proto.Message) {
-	xxx_messageInfo_EndEvent.Merge(m, src)
-}
-func (m *EndEvent) XXX_Size() int {
-	return xxx_messageInfo_EndEvent.Size(m)
-}
-func (m *EndEvent) XXX_DiscardUnknown() {
-	xxx_messageInfo_EndEvent.DiscardUnknown(m)
-}
-
-var xxx_messageInfo_EndEvent proto.InternalMessageInfo
-
-func (m *EndEvent) GetErrCode() ErrorCode {
-	if m != nil {
-		return m.ErrCode
-	}
-	return ErrorCode_COULD_NOT_DETERMINE
-}
-
-func (m *EndEvent) GetErrMsg() string {
-	if m != nil {
-		return m.ErrMsg
 	}
-	return ""
-}
-
-func (m *EndEvent) GetLoops() []*DevLoop {
-	if m != nil {
-		return m.Loops
-	}
-	return nil
 }
 
 // `DevLoopEvent` marks the start and end of a dev loop.
 type DevLoopEvent struct {
 	Iteration            int32          `protobuf:"varint,1,opt,name=iteration,proto3" json:"iteration,omitempty"`
-	ChangeType           ChangeType     `protobuf:"varint,2,opt,name=changeType,proto3,enum=proto.ChangeType" json:"changeType,omitempty"`
-	Status               string         `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"`
-	Err                  *ActionableErr `protobuf:"bytes,4,opt,name=err,proto3" json:"err,omitempty"`
+	Status               string         `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
+	Err                  *ActionableErr `protobuf:"bytes,3,opt,name=err,proto3" json:"err,omitempty"`
 	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
 	XXX_unrecognized     []byte         `json:"-"`
 	XXX_sizecache        int32          `json:"-"`
@@ -1330,7 +1143,7 @@ func (m *DevLoopEvent) Reset()         { *m = DevLoopEvent{} }
 func (m *DevLoopEvent) String() string { return proto.CompactTextString(m) }
 func (*DevLoopEvent) ProtoMessage()    {}
 func (*DevLoopEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{14}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{12}
 }
 
 func (m *DevLoopEvent) XXX_Unmarshal(b []byte) error {
@@ -1358,13 +1171,6 @@ func (m *DevLoopEvent) GetIteration() int32 {
 	return 0
 }
 
-func (m *DevLoopEvent) GetChangeType() ChangeType {
-	if m != nil {
-		return m.ChangeType
-	}
-	return ChangeType_INITIAL_LOOP
-}
-
 func (m *DevLoopEvent) GetStatus() string {
 	if m != nil {
 		return m.Status
@@ -1393,7 +1199,7 @@ func (m *ActionableErr) Reset()         { *m = ActionableErr{} }
 func (m *ActionableErr) String() string { return proto.CompactTextString(m) }
 func (*ActionableErr) ProtoMessage()    {}
 func (*ActionableErr) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{15}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{13}
 }
 
 func (m *ActionableErr) XXX_Unmarshal(b []byte) error {
@@ -1450,7 +1256,7 @@ func (m *MetaEvent) Reset()         { *m = MetaEvent{} }
 func (m *MetaEvent) String() string { return proto.CompactTextString(m) }
 func (*MetaEvent) ProtoMessage()    {}
 func (*MetaEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{16}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{14}
 }
 
 func (m *MetaEvent) XXX_Unmarshal(b []byte) error {
@@ -1501,7 +1307,7 @@ func (m *BuildEvent) Reset()         { *m = BuildEvent{} }
 func (m *BuildEvent) String() string { return proto.CompactTextString(m) }
 func (*BuildEvent) ProtoMessage()    {}
 func (*BuildEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{17}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{15}
 }
 
 func (m *BuildEvent) XXX_Unmarshal(b []byte) error {
@@ -1565,7 +1371,7 @@ func (m *DeployEvent) Reset()         { *m = DeployEvent{} }
 func (m *DeployEvent) String() string { return proto.CompactTextString(m) }
 func (*DeployEvent) ProtoMessage()    {}
 func (*DeployEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{18}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{16}
 }
 
 func (m *DeployEvent) XXX_Unmarshal(b []byte) error {
@@ -1622,7 +1428,7 @@ func (m *StatusCheckEvent) Reset()         { *m = StatusCheckEvent{} }
 func (m *StatusCheckEvent) String() string { return proto.CompactTextString(m) }
 func (*StatusCheckEvent) ProtoMessage()    {}
 func (*StatusCheckEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{19}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{17}
 }
 
 func (m *StatusCheckEvent) XXX_Unmarshal(b []byte) error {
@@ -1690,7 +1496,7 @@ func (m *ResourceStatusCheckEvent) Reset()         { *m = ResourceStatusCheckEve
 func (m *ResourceStatusCheckEvent) String() string { return proto.CompactTextString(m) }
 func (*ResourceStatusCheckEvent) ProtoMessage()    {}
 func (*ResourceStatusCheckEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{20}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{18}
 }
 
 func (m *ResourceStatusCheckEvent) XXX_Unmarshal(b []byte) error {
@@ -1759,7 +1565,7 @@ func (m *PortEvent) Reset()         { *m = PortEvent{} }
 func (m *PortEvent) String() string { return proto.CompactTextString(m) }
 func (*PortEvent) ProtoMessage()    {}
 func (*PortEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{21}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{19}
 }
 
 func (m *PortEvent) XXX_Unmarshal(b []byte) error {
@@ -1859,7 +1665,7 @@ func (m *FileSyncEvent) Reset()         { *m = FileSyncEvent{} }
 func (m *FileSyncEvent) String() string { return proto.CompactTextString(m) }
 func (*FileSyncEvent) ProtoMessage()    {}
 func (*FileSyncEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{22}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{20}
 }
 
 func (m *FileSyncEvent) XXX_Unmarshal(b []byte) error {
@@ -1934,7 +1740,7 @@ func (m *DebuggingContainerEvent) Reset()         { *m = DebuggingContainerEvent
 func (m *DebuggingContainerEvent) String() string { return proto.CompactTextString(m) }
 func (*DebuggingContainerEvent) ProtoMessage()    {}
 func (*DebuggingContainerEvent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{23}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{21}
 }
 
 func (m *DebuggingContainerEvent) XXX_Unmarshal(b []byte) error {
@@ -2025,7 +1831,7 @@ func (m *LogEntry) Reset()         { *m = LogEntry{} }
 func (m *LogEntry) String() string { return proto.CompactTextString(m) }
 func (*LogEntry) ProtoMessage()    {}
 func (*LogEntry) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{24}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{22}
 }
 
 func (m *LogEntry) XXX_Unmarshal(b []byte) error {
@@ -2078,7 +1884,7 @@ func (m *UserIntentRequest) Reset()         { *m = UserIntentRequest{} }
 func (m *UserIntentRequest) String() string { return proto.CompactTextString(m) }
 func (*UserIntentRequest) ProtoMessage()    {}
 func (*UserIntentRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{25}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{23}
 }
 
 func (m *UserIntentRequest) XXX_Unmarshal(b []byte) error {
@@ -2120,7 +1926,7 @@ func (m *Intent) Reset()         { *m = Intent{} }
 func (m *Intent) String() string { return proto.CompactTextString(m) }
 func (*Intent) ProtoMessage()    {}
 func (*Intent) Descriptor() ([]byte, []int) {
-	return fileDescriptor_4f2d38e344f9dbf5, []int{26}
+	return fileDescriptor_4f2d38e344f9dbf5, []int{24}
 }
 
 func (m *Intent) XXX_Unmarshal(b []byte) error {
@@ -2166,7 +1972,6 @@ func init() {
 	proto.RegisterEnum("proto.BuilderType", BuilderType_name, BuilderType_value)
 	proto.RegisterEnum("proto.BuildType", BuildType_name, BuildType_value)
 	proto.RegisterEnum("proto.DeployerType", DeployerType_name, DeployerType_value)
-	proto.RegisterEnum("proto.ChangeType", ChangeType_name, ChangeType_value)
 	proto.RegisterEnum("proto.ClusterType", ClusterType_name, ClusterType_value)
 	proto.RegisterEnum("proto.ErrorCode", ErrorCode_name, ErrorCode_value)
 	proto.RegisterType((*StateResponse)(nil), "proto.StateResponse")
@@ -2174,7 +1979,6 @@ func init() {
 	proto.RegisterType((*Request)(nil), "proto.Request")
 	proto.RegisterType((*State)(nil), "proto.State")
 	proto.RegisterMapType((map[int32]*PortEvent)(nil), "proto.State.ForwardedPortsEntry")
-	proto.RegisterType((*DevLoop)(nil), "proto.DevLoop")
 	proto.RegisterType((*Metadata)(nil), "proto.Metadata")
 	proto.RegisterMapType((map[string]string)(nil), "proto.Metadata.AdditionalEntry")
 	proto.RegisterType((*BuildMetadata)(nil), "proto.BuildMetadata")
@@ -2189,7 +1993,6 @@ func init() {
 	proto.RegisterMapType((map[string]string)(nil), "proto.StatusCheckState.ResourcesEntry")
 	proto.RegisterType((*FileSyncState)(nil), "proto.FileSyncState")
 	proto.RegisterType((*Event)(nil), "proto.Event")
-	proto.RegisterType((*EndEvent)(nil), "proto.EndEvent")
 	proto.RegisterType((*DevLoopEvent)(nil), "proto.DevLoopEvent")
 	proto.RegisterType((*ActionableErr)(nil), "proto.ActionableErr")
 	proto.RegisterType((*MetaEvent)(nil), "proto.MetaEvent")
@@ -2209,154 +2012,145 @@ func init() {
 func init() { proto.RegisterFile("skaffold.proto", fileDescriptor_4f2d38e344f9dbf5) }
 
 var fileDescriptor_4f2d38e344f9dbf5 = []byte{
-	// 2337 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x8f, 0x1b, 0x49,
-	0x15, 0x4f, 0xbb, 0xdd, 0xfe, 0x78, 0xf3, 0x91, 0x9e, 0xca, 0x24, 0xf1, 0x3a, 0x93, 0x0f, 0x9a,
-	0x64, 0x12, 0xcd, 0xee, 0xce, 0x64, 0x13, 0x84, 0x42, 0x14, 0x40, 0x9e, 0x76, 0x67, 0xa6, 0x63,
-	0x8f, 0x3d, 0xaa, 0xb6, 0x37, 0x24, 0x12, 0xb2, 0x7a, 0xec, 0x1a, 0xc7, 0x8a, 0xed, 0x36, 0xdd,
-	0xed, 0x84, 0x41, 0x68, 0x0f, 0x7b, 0xe0, 0xc0, 0x29, 0xb0, 0xb0, 0x12, 0x27, 0x4e, 0xdc, 0x60,
-	0xf9, 0x03, 0x10, 0x1f, 0x47, 0xee, 0x9c, 0xb8, 0x2f, 0x27, 0xae, 0x7c, 0x89, 0x13, 0xaa, 0xaf,
-	0x76, 0xb7, 0x3f, 0x66, 0x88, 0x76, 0x4f, 0x76, 0xd5, 0xfb, 0xd5, 0xef, 0xbd, 0x7a, 0xef, 0xd5,
-	0x7b, 0x55, 0x0d, 0xab, 0xc1, 0x4b, 0xf7, 0xf8, 0xd8, 0xeb, 0x77, 0xb6, 0x47, 0xbe, 0x17, 0x7a,
-	0x48, 0x63, 0x3f, 0xc5, 0x8d, 0xae, 0xe7, 0x75, 0xfb, 0x64, 0xc7, 0x1d, 0xf5, 0x76, 0xdc, 0xe1,
-	0xd0, 0x0b, 0xdd, 0xb0, 0xe7, 0x0d, 0x03, 0x0e, 0x2a, 0x5e, 0x17, 0x52, 0x36, 0x3a, 0x1a, 0x1f,
-	0xef, 0x84, 0xbd, 0x01, 0x09, 0x42, 0x77, 0x30, 0x12, 0x80, 0x2b, 0xd3, 0x00, 0x32, 0x18, 0x85,
-	0x27, 0x5c, 0x68, 0xdc, 0x87, 0x15, 0x27, 0x74, 0x43, 0x82, 0x49, 0x30, 0xf2, 0x86, 0x01, 0x41,
-	0x06, 0x68, 0x01, 0x9d, 0x28, 0x28, 0x37, 0x94, 0x3b, 0x4b, 0xf7, 0x96, 0x39, 0x6e, 0x9b, 0x83,
-	0xb8, 0xc8, 0xd8, 0x80, 0x5c, 0x84, 0xd7, 0x41, 0x1d, 0x04, 0x5d, 0x86, 0xce, 0x63, 0xfa, 0xd7,
-	0xb8, 0x0a, 0x59, 0x4c, 0xbe, 0x37, 0x26, 0x41, 0x88, 0x10, 0xa4, 0x87, 0xee, 0x80, 0x08, 0x29,
-	0xfb, 0x6f, 0xfc, 0x2e, 0x0d, 0x1a, 0x63, 0x43, 0x1f, 0x00, 0x1c, 0x8d, 0x7b, 0xfd, 0x8e, 0x13,
-	0xd3, 0xb7, 0x26, 0xf4, 0xed, 0x46, 0x02, 0x1c, 0x03, 0xa1, 0xaf, 0xc1, 0x52, 0x87, 0x8c, 0xfa,
-	0xde, 0x09, 0x5f, 0x93, 0x62, 0x6b, 0x90, 0x58, 0x53, 0x9e, 0x48, 0x70, 0x1c, 0x86, 0xf6, 0x61,
-	0xf5, 0xd8, 0xf3, 0x5f, 0xbb, 0x7e, 0x87, 0x74, 0x0e, 0x3d, 0x3f, 0x0c, 0x0a, 0xe9, 0x1b, 0xea,
-	0x9d, 0xa5, 0x7b, 0x37, 0xe2, 0x9b, 0xdb, 0x7e, 0x9c, 0x80, 0x58, 0xc3, 0xd0, 0x3f, 0xc1, 0x53,
-	0xeb, 0x90, 0x09, 0x3a, 0x75, 0xc1, 0x38, 0x30, 0x5f, 0x90, 0xf6, 0x4b, 0x6e, 0x84, 0xc6, 0x8c,
-	0xb8, 0x1c, 0xe3, 0x8a, 0x8b, 0xf1, 0xcc, 0x02, 0xf4, 0x10, 0x56, 0x8e, 0x7b, 0x7d, 0xe2, 0x9c,
-	0x0c, 0xdb, 0x9c, 0x21, 0xc3, 0x18, 0xd6, 0x05, 0xc3, 0xe3, 0xb8, 0x0c, 0x27, 0xa1, 0xe8, 0x10,
-	0x2e, 0x74, 0xc8, 0xd1, 0xb8, 0xdb, 0xed, 0x0d, 0xbb, 0xa6, 0x37, 0x0c, 0xdd, 0xde, 0x90, 0xf8,
-	0x41, 0x21, 0xcb, 0xf6, 0x73, 0x2d, 0x72, 0xc4, 0x34, 0xc2, 0x7a, 0x45, 0x86, 0x21, 0x9e, 0xb7,
-	0x14, 0xbd, 0x0b, 0xb9, 0x01, 0x09, 0xdd, 0x8e, 0x1b, 0xba, 0x85, 0x1c, 0x33, 0xe4, 0xbc, 0xa0,
-	0x39, 0x10, 0xd3, 0x38, 0x02, 0xa0, 0x9b, 0xa0, 0xf5, 0x3d, 0x6f, 0x14, 0x14, 0xf2, 0x4c, 0xe1,
-	0x6a, 0xa4, 0xf0, 0x55, 0xd5, 0xf3, 0x46, 0x98, 0x0b, 0x8b, 0x0e, 0x5c, 0x98, 0xe3, 0x4c, 0x9a,
-	0x2a, 0x2f, 0xc9, 0x09, 0x0b, 0xb4, 0x86, 0xe9, 0x5f, 0xb4, 0x09, 0xda, 0x2b, 0xb7, 0x3f, 0x96,
-	0x81, 0xd4, 0x05, 0x1d, 0x5d, 0xc3, 0x2d, 0xe6, 0xe2, 0x87, 0xa9, 0x07, 0xca, 0x93, 0x74, 0x4e,
-	0xd5, 0xd3, 0xc6, 0x8f, 0x14, 0xc8, 0x0a, 0x6d, 0x68, 0x03, 0xf2, 0xbd, 0x90, 0xf8, 0xec, 0x34,
-	0x08, 0xd6, 0xc9, 0x04, 0xcd, 0xae, 0xf6, 0x0b, 0x77, 0xd8, 0x25, 0x8d, 0x93, 0x11, 0x57, 0xb0,
-	0x1a, 0x65, 0x97, 0x19, 0x09, 0x70, 0x0c, 0x84, 0xb6, 0x20, 0x4b, 0x7c, 0xdf, 0xf4, 0x3a, 0xa4,
-	0xa0, 0x32, 0xbc, 0x34, 0xc8, 0xf2, 0x7d, 0x8f, 0xcd, 0x63, 0x09, 0x30, 0xfe, 0xa6, 0x40, 0x4e,
-	0x3a, 0x08, 0x6d, 0x81, 0xc6, 0x92, 0x54, 0x24, 0xf1, 0x7a, 0x3c, 0x89, 0x23, 0x2f, 0x72, 0x08,
-	0x7a, 0x1f, 0x32, 0x3c, 0x37, 0xc5, 0xa6, 0x2f, 0x26, 0xb2, 0x37, 0x42, 0x0b, 0x10, 0xfa, 0x36,
-	0x80, 0xdb, 0xe9, 0xf4, 0xe8, 0x96, 0xdc, 0x7e, 0xa1, 0xcd, 0xdc, 0x7e, 0x7d, 0x2a, 0x40, 0xdb,
-	0xa5, 0x08, 0xc1, 0xd3, 0x36, 0xb6, 0xa4, 0xf8, 0x4d, 0x38, 0x3f, 0x25, 0x8e, 0x07, 0x22, 0xcf,
-	0x03, 0xb1, 0x1e, 0x0f, 0x44, 0x3e, 0xe6, 0x76, 0xe3, 0xef, 0x29, 0x58, 0x49, 0xec, 0x03, 0xbd,
-	0x07, 0x6b, 0xc3, 0xf1, 0xe0, 0x88, 0xf8, 0xf5, 0xe3, 0x92, 0x1f, 0xf6, 0x8e, 0xdd, 0x76, 0x18,
-	0x08, 0xf7, 0xcf, 0x0a, 0xd0, 0x03, 0xc8, 0xb1, 0x7d, 0xd3, 0x2c, 0x4d, 0x31, 0xeb, 0x37, 0xe6,
-	0x79, 0x87, 0x8f, 0x88, 0x8f, 0x23, 0x34, 0xba, 0x09, 0xe9, 0x90, 0x86, 0x2e, 0x19, 0x0a, 0x86,
-	0x63, 0x91, 0x63, 0x52, 0x54, 0x9e, 0xe3, 0x9f, 0x9b, 0x73, 0x35, 0x9c, 0xe6, 0xa4, 0x3d, 0xc8,
-	0x0a, 0x03, 0xd0, 0xa6, 0x50, 0xab, 0x30, 0xb5, 0x28, 0x4e, 0x45, 0xfc, 0x98, 0xe2, 0x75, 0xd0,
-	0xda, 0xde, 0x78, 0x18, 0x32, 0x97, 0x69, 0x98, 0x0f, 0xbe, 0xa8, 0xb7, 0xff, 0xab, 0xc0, 0x6a,
-	0x32, 0x11, 0xd0, 0x23, 0xc8, 0xf3, 0x54, 0xa0, 0x1e, 0x54, 0xa6, 0xce, 0x79, 0x1c, 0x29, 0x86,
-	0xc4, 0xc7, 0x93, 0x05, 0xe8, 0x3d, 0xc8, 0xb6, 0xfb, 0xe3, 0x20, 0x24, 0xbe, 0x38, 0x02, 0x72,
-	0x43, 0x26, 0x9f, 0x65, 0x1b, 0x92, 0x90, 0xe2, 0x0f, 0x21, 0x27, 0x49, 0xd0, 0xed, 0x84, 0x1f,
-	0x2e, 0x24, 0x54, 0x9e, 0xed, 0x88, 0xa9, 0xe3, 0xa7, 0xfe, 0x1f, 0xc7, 0xcf, 0xf8, 0xb1, 0x02,
-	0x30, 0xa9, 0xfb, 0xe8, 0x5b, 0x90, 0x77, 0x63, 0xf9, 0x15, 0x2f, 0xd8, 0x13, 0xd4, 0x76, 0x94,
-	0x69, 0x3c, 0xa8, 0x93, 0x25, 0xc5, 0x47, 0xb0, 0x9a, 0x14, 0xbe, 0x55, 0x24, 0x6e, 0xc1, 0x52,
-	0xac, 0x9f, 0xa0, 0x4b, 0x90, 0xe1, 0x75, 0x5c, 0xac, 0x16, 0x23, 0xe3, 0x33, 0x05, 0xf4, 0xe9,
-	0x92, 0xbf, 0x08, 0x8c, 0xca, 0x90, 0xf7, 0x49, 0xe0, 0x8d, 0xfd, 0x36, 0x91, 0x87, 0x61, 0x73,
-	0x41, 0xdb, 0xd8, 0xc6, 0x12, 0x28, 0xf6, 0x15, 0x2d, 0xa4, 0xfb, 0x4a, 0x0a, 0xdf, 0x6a, 0x5f,
-	0xb7, 0x61, 0x25, 0xd1, 0x60, 0x16, 0xee, 0xec, 0x8d, 0x06, 0x1a, 0x2b, 0xc2, 0xe8, 0x2e, 0xe4,
-	0x69, 0x03, 0x60, 0x03, 0x51, 0xe1, 0xf4, 0x58, 0x05, 0x62, 0xf3, 0xfb, 0xe7, 0xf0, 0x04, 0x84,
-	0xee, 0x8b, 0xce, 0xce, 0x97, 0xa4, 0x66, 0x3b, 0xbb, 0x5c, 0x13, 0x83, 0xa1, 0xaf, 0xcb, 0xde,
-	0xce, 0x57, 0xa9, 0x73, 0x7a, 0xbb, 0x5c, 0x16, 0x07, 0x52, 0xf3, 0x46, 0xb2, 0x61, 0x14, 0xd2,
-	0xf3, 0x1b, 0x09, 0x35, 0x2f, 0x02, 0x21, 0x2b, 0xd1, 0xc5, 0xf9, 0xc2, 0x85, 0x5d, 0x5c, 0xae,
-	0x9f, 0x59, 0x82, 0xbe, 0x0b, 0x05, 0x19, 0x95, 0x69, 0xbc, 0x68, 0xe9, 0xb2, 0x50, 0xe3, 0x05,
-	0xb0, 0xfd, 0x73, 0x78, 0x21, 0x05, 0x7a, 0x34, 0xb9, 0x26, 0x70, 0xce, 0xec, 0xdc, 0x6b, 0x82,
-	0x24, 0x4a, 0x82, 0xd1, 0x73, 0xb8, 0xdc, 0x99, 0x7f, 0x0d, 0x10, 0x5d, 0xfe, 0x8c, 0xcb, 0xc2,
-	0xfe, 0x39, 0xbc, 0x88, 0x00, 0x7d, 0x03, 0x96, 0x3b, 0xbc, 0x07, 0x73, 0xc2, 0x3c, 0x23, 0xbc,
-	0x90, 0xbc, 0x0c, 0x48, 0x96, 0x04, 0x14, 0xbd, 0x0f, 0x39, 0x32, 0x14, 0x79, 0x01, 0x89, 0xdb,
-	0x86, 0x35, 0x8c, 0xb2, 0x22, 0x82, 0xec, 0x2e, 0x03, 0x10, 0xfa, 0xa7, 0x45, 0x2b, 0x8d, 0x11,
-	0x42, 0x4e, 0xa2, 0xe2, 0xbd, 0x5a, 0x39, 0xa3, 0x57, 0xd3, 0x14, 0x27, 0xbe, 0x7f, 0x10, 0x74,
-	0xc5, 0x71, 0x10, 0xa3, 0xc9, 0x6d, 0x46, 0x3d, 0xe5, 0x36, 0x63, 0xfc, 0x52, 0x81, 0xe5, 0xf8,
-	0x9e, 0xbe, 0xfc, 0x7b, 0xc7, 0xe4, 0x08, 0xaa, 0x89, 0x7a, 0xb1, 0x09, 0x2a, 0xf1, 0x7d, 0x91,
-	0xd3, 0x32, 0xee, 0xa5, 0x36, 0x6b, 0x2e, 0x47, 0x7d, 0x62, 0xf9, 0x3e, 0xa6, 0x00, 0xe3, 0x35,
-	0xac, 0x24, 0x66, 0xdf, 0xca, 0x39, 0x05, 0xc8, 0x0e, 0x48, 0x10, 0xb8, 0x5d, 0x59, 0x2c, 0xe4,
-	0x10, 0xdd, 0x80, 0xa5, 0x60, 0xdc, 0xed, 0x92, 0x80, 0x3d, 0x37, 0x98, 0x93, 0xf2, 0x38, 0x3e,
-	0x65, 0xd4, 0x20, 0x1f, 0x55, 0x00, 0x5a, 0x73, 0x08, 0x2d, 0x47, 0xa2, 0x8e, 0xf0, 0x41, 0xe2,
-	0x7a, 0x99, 0x3a, 0xe3, 0x7a, 0x69, 0x7c, 0x24, 0x1a, 0x00, 0x27, 0x2c, 0x42, 0x4e, 0x56, 0x73,
-	0xc1, 0x19, 0x8d, 0x63, 0x2e, 0x4b, 0x25, 0x5c, 0xa6, 0x73, 0x97, 0x71, 0x3f, 0xd2, 0xbf, 0x71,
-	0x5f, 0xa4, 0xcf, 0xba, 0xd4, 0xb5, 0x65, 0xd1, 0xe7, 0x06, 0x2c, 0xaa, 0xe3, 0x42, 0x49, 0x6a,
-	0xae, 0x92, 0x33, 0x6f, 0x8e, 0x1f, 0x27, 0x5b, 0xc6, 0xe9, 0xaa, 0x16, 0x47, 0xe7, 0x8b, 0xed,
-	0xf4, 0x07, 0x50, 0x58, 0x54, 0x94, 0xa8, 0xdf, 0x65, 0x51, 0x92, 0x7e, 0x97, 0xe3, 0x85, 0x7e,
-	0x8f, 0xd9, 0xa9, 0xce, 0xb5, 0x33, 0x1d, 0xd9, 0x69, 0xfc, 0x2a, 0x05, 0xf9, 0xa8, 0x32, 0xd3,
-	0xd3, 0xd4, 0xf7, 0xda, 0x6e, 0x9f, 0xce, 0xc8, 0xd3, 0x14, 0x4d, 0xa0, 0x6b, 0x00, 0x3e, 0x19,
-	0x78, 0x21, 0x61, 0x62, 0x7e, 0xc3, 0x88, 0xcd, 0x50, 0xbd, 0x23, 0xaf, 0x53, 0xa3, 0x8f, 0x4c,
-	0xa1, 0x57, 0x0c, 0xd1, 0x4d, 0x58, 0x69, 0xcb, 0xb2, 0xc5, 0xe4, 0xdc, 0x82, 0xe4, 0x24, 0xd5,
-	0x4e, 0x5f, 0xa5, 0xc1, 0xc8, 0x6d, 0xf3, 0x97, 0x5c, 0x1e, 0x4f, 0x26, 0xa8, 0x27, 0x68, 0xd7,
-	0x60, 0xcb, 0x33, 0xdc, 0x13, 0x72, 0x8c, 0x0c, 0x58, 0x96, 0x5e, 0x61, 0x27, 0x3d, 0xcb, 0xe4,
-	0x89, 0xb9, 0x38, 0x86, 0x71, 0xe4, 0x92, 0x18, 0xc6, 0x53, 0x80, 0xac, 0xdb, 0xe9, 0xf8, 0x24,
-	0x08, 0x58, 0x1d, 0xcd, 0x63, 0x39, 0x34, 0x7e, 0xa1, 0x4c, 0x7a, 0x75, 0xe4, 0x2b, 0x5a, 0xe5,
-	0x4d, 0x76, 0xdd, 0x12, 0xbe, 0x8a, 0x26, 0xe8, 0x01, 0xec, 0x0d, 0x26, 0x99, 0xc2, 0x07, 0x0b,
-	0x8b, 0xcb, 0x4c, 0x5c, 0xe2, 0xf9, 0xa3, 0x9d, 0x95, 0x3f, 0xff, 0x48, 0xc1, 0xe5, 0x05, 0x9d,
-	0xe3, 0xb4, 0x5c, 0x96, 0xb1, 0x4a, 0x9d, 0x11, 0x2b, 0xf5, 0xcc, 0x58, 0xa5, 0xe7, 0xc4, 0x2a,
-	0xaa, 0x16, 0xda, 0x54, 0xb5, 0x28, 0x40, 0xd6, 0x1f, 0x0f, 0xc3, 0x5e, 0x14, 0x46, 0x39, 0xa4,
-	0xf9, 0xf5, 0xda, 0xf3, 0x5f, 0xf6, 0x86, 0xdd, 0x72, 0xcf, 0x17, 0x31, 0x8c, 0xcd, 0xa0, 0x1a,
-	0x00, 0xeb, 0x82, 0xfc, 0xb3, 0x41, 0x8e, 0xf5, 0x89, 0xed, 0xd3, 0x3b, 0x27, 0x9f, 0x8f, 0x7d,
-	0x44, 0x88, 0x31, 0xd0, 0xf7, 0xc1, 0x94, 0xf8, 0xac, 0xdb, 0xdb, 0x4a, 0xfc, 0xf6, 0xf6, 0x11,
-	0xe4, 0xaa, 0x5e, 0x97, 0xaf, 0x7b, 0x00, 0xf9, 0xe8, 0x53, 0x8f, 0xb8, 0x96, 0x15, 0xb7, 0xf9,
-	0xb7, 0x9e, 0x6d, 0xf9, 0xad, 0x67, 0xbb, 0x21, 0x11, 0x78, 0x02, 0x46, 0x06, 0x68, 0x24, 0x76,
-	0x33, 0x93, 0xdf, 0x78, 0xc4, 0x93, 0x9b, 0x24, 0xab, 0xb9, 0x1a, 0xab, 0xe6, 0xc6, 0x43, 0x58,
-	0x6b, 0x06, 0xc4, 0xb7, 0x87, 0x21, 0x85, 0x8a, 0xaf, 0x3c, 0xb7, 0x20, 0xd3, 0x63, 0x13, 0xc2,
-	0x8a, 0x15, 0xc1, 0x27, 0x50, 0x42, 0x68, 0x3c, 0x81, 0x0c, 0x9f, 0xa1, 0xdc, 0x93, 0xe7, 0x72,
-	0x4e, 0x3e, 0x8c, 0x11, 0xa4, 0x83, 0x93, 0x61, 0x9b, 0x19, 0x95, 0xc3, 0xec, 0x3f, 0x4d, 0x25,
-	0xf1, 0x58, 0x56, 0xd9, 0xac, 0x18, 0x6d, 0x79, 0xb0, 0x14, 0x7b, 0x91, 0xa1, 0x02, 0xac, 0x37,
-	0x6b, 0x95, 0x5a, 0xfd, 0x69, 0xad, 0xb5, 0xdb, 0xb4, 0xab, 0x65, 0x0b, 0xb7, 0x1a, 0xcf, 0x0e,
-	0x2d, 0xfd, 0x1c, 0xca, 0x82, 0xfa, 0xc4, 0xde, 0xd5, 0x15, 0x94, 0x07, 0x6d, 0xb7, 0xf4, 0xdc,
-	0xaa, 0xea, 0x29, 0xb4, 0x0a, 0xc0, 0x50, 0x87, 0x25, 0xb3, 0xe2, 0xe8, 0x2a, 0x02, 0xc8, 0x98,
-	0x4d, 0xa7, 0x51, 0x3f, 0xd0, 0xd3, 0xf4, 0x7f, 0xa5, 0x54, 0xb3, 0x2b, 0x75, 0x5d, 0xa3, 0xff,
-	0xcb, 0x75, 0xb3, 0x62, 0x61, 0x3d, 0xb3, 0x55, 0x86, 0x7c, 0xf4, 0xf2, 0x44, 0x97, 0x00, 0x25,
-	0xd4, 0x49, 0x65, 0x4b, 0x90, 0x35, 0xab, 0x4d, 0xa7, 0x61, 0x61, 0x5d, 0xa1, 0x9a, 0xf7, 0xcc,
-	0x5d, 0x3d, 0x45, 0x35, 0x57, 0xeb, 0x66, 0xa9, 0xaa, 0xab, 0x5b, 0x75, 0x7a, 0x93, 0x98, 0x3c,
-	0xa0, 0xd0, 0x3b, 0x70, 0x51, 0x12, 0x95, 0xad, 0xc3, 0x6a, 0xfd, 0xd9, 0xc4, 0xf0, 0x1c, 0xa4,
-	0xf7, 0xad, 0xea, 0x81, 0xae, 0xa0, 0x15, 0xc8, 0x57, 0x98, 0x79, 0xf6, 0x73, 0x4b, 0x4f, 0x51,
-	0x25, 0x95, 0xe6, 0xae, 0x65, 0x36, 0x28, 0x61, 0x13, 0x60, 0x72, 0xa7, 0x40, 0x3a, 0x2c, 0xdb,
-	0x35, 0xbb, 0x61, 0x97, 0xaa, 0xad, 0x6a, 0xbd, 0x7e, 0xa8, 0x9f, 0x63, 0xbb, 0xa6, 0x16, 0xea,
-	0x0a, 0x25, 0x6c, 0x58, 0x4e, 0x43, 0x4f, 0xb1, 0x7d, 0x31, 0x6d, 0x62, 0xef, 0xf5, 0xda, 0x63,
-	0x7b, 0x4f, 0x4f, 0x53, 0x84, 0xf3, 0xac, 0x66, 0xea, 0xda, 0x96, 0x0d, 0x4b, 0xb1, 0xf7, 0x61,
-	0xdc, 0xbd, 0x62, 0x7f, 0xd2, 0xca, 0x65, 0xc8, 0x1d, 0xd8, 0x35, 0x9b, 0x1a, 0x24, 0xb6, 0x5c,
-	0xb1, 0xf8, 0x96, 0xeb, 0x8d, 0x7d, 0x0b, 0xeb, 0xea, 0xd6, 0xa7, 0x19, 0xc8, 0x47, 0xf5, 0x03,
-	0x5d, 0x86, 0x0b, 0x66, 0xbd, 0x59, 0x2d, 0xb7, 0x6a, 0xf5, 0x46, 0xab, 0x6c, 0x35, 0x2c, 0x7c,
-	0x60, 0xd7, 0x38, 0x51, 0xd6, 0x69, 0x9a, 0xa6, 0xe5, 0x38, 0xfa, 0x9f, 0x15, 0x74, 0x03, 0xae,
-	0x38, 0x8d, 0x52, 0xa3, 0xe9, 0xb4, 0xcc, 0x7d, 0xcb, 0xac, 0xb4, 0xec, 0x83, 0xd2, 0x9e, 0xd5,
-	0x3a, 0x6c, 0x56, 0xab, 0x2d, 0x0b, 0x63, 0xfd, 0xd7, 0x29, 0x74, 0x13, 0xae, 0x27, 0x10, 0x66,
-	0xbd, 0xd6, 0x28, 0xd9, 0x35, 0x0b, 0xb7, 0x4c, 0x6c, 0x95, 0x1a, 0x76, 0x6d, 0x4f, 0xff, 0x4d,
-	0x0a, 0x7d, 0x15, 0xae, 0x25, 0x50, 0xb8, 0x59, 0x8b, 0x21, 0x29, 0xd5, 0x67, 0x29, 0xb4, 0x09,
-	0x5f, 0x59, 0x40, 0xc5, 0xcd, 0x2b, 0x35, 0xac, 0xb2, 0xfe, 0xdb, 0xd3, 0x70, 0xd8, 0x72, 0x1a,
-	0x25, 0xcc, 0x94, 0x7e, 0x3e, 0x8b, 0xab, 0xd5, 0xcb, 0x56, 0xeb, 0xc0, 0x3a, 0xa8, 0xe3, 0x67,
-	0xad, 0x43, 0x6c, 0x39, 0x4e, 0x13, 0x5b, 0xfa, 0x1b, 0x75, 0x66, 0x0b, 0x0c, 0x57, 0xb6, 0x9d,
-	0xca, 0x04, 0xf5, 0x13, 0x15, 0x6d, 0xc1, 0xad, 0x59, 0x54, 0xcd, 0x6a, 0x3c, 0xad, 0xe3, 0x4a,
-	0xab, 0x59, 0x2b, 0x7d, 0x58, 0xb2, 0xab, 0xa5, 0xdd, 0xaa, 0xa5, 0xff, 0x54, 0x9d, 0xd9, 0x2e,
-	0xc3, 0x1e, 0xda, 0xe5, 0x09, 0xe1, 0x27, 0x0b, 0xd4, 0x36, 0x6b, 0x8e, 0xb9, 0x6f, 0x95, 0x9b,
-	0x9c, 0xea, 0x67, 0x2a, 0x32, 0xe0, 0xea, 0x3c, 0x14, 0xb6, 0x4a, 0xe6, 0x3e, 0xc3, 0xfc, 0x5c,
-	0x9d, 0x89, 0x12, 0x37, 0xad, 0xde, 0x68, 0x61, 0xab, 0x54, 0x7e, 0xa6, 0x7f, 0xaa, 0xa2, 0x4b,
-	0xb0, 0x16, 0xc5, 0xbe, 0x25, 0x52, 0x48, 0xff, 0xa7, 0x8a, 0xde, 0x81, 0xf5, 0xc4, 0x4a, 0x29,
-	0xfa, 0x97, 0x8a, 0x6e, 0x83, 0x31, 0x4f, 0x34, 0x65, 0xe1, 0xbf, 0x55, 0xf4, 0x2e, 0x6c, 0x2e,
-	0x08, 0xc7, 0xd3, 0x92, 0x4d, 0x63, 0x11, 0xb1, 0xfe, 0x87, 0x29, 0x7c, 0x6c, 0x57, 0xad, 0x16,
-	0xcd, 0xef, 0x16, 0x3d, 0x23, 0x34, 0xf8, 0x75, 0xac, 0xff, 0x35, 0x8d, 0x36, 0xe0, 0x72, 0xd9,
-	0xfa, 0xb0, 0x85, 0xad, 0x3d, 0x9b, 0x65, 0x36, 0x3f, 0xd1, 0x65, 0xeb, 0xd0, 0xd1, 0x7f, 0xaf,
-	0xa1, 0x2b, 0x70, 0x29, 0x21, 0xa5, 0x47, 0x88, 0x0b, 0xff, 0xa0, 0xa1, 0xab, 0x50, 0x48, 0x08,
-	0xf9, 0xa9, 0xe2, 0xe2, 0x3f, 0x6a, 0x33, 0xcc, 0xfc, 0xa0, 0x51, 0xb1, 0xfe, 0x27, 0xed, 0xde,
-	0x1b, 0x15, 0xce, 0x3b, 0xe2, 0x7b, 0xbf, 0x43, 0xfc, 0x57, 0xbd, 0x36, 0x41, 0x26, 0xe4, 0xf6,
-	0x48, 0x28, 0xde, 0xe5, 0x33, 0xb5, 0xdc, 0x1a, 0x8c, 0xc2, 0x93, 0x62, 0xe2, 0x8b, 0xbc, 0xb1,
-	0xf6, 0xf1, 0x5f, 0x3e, 0xff, 0x24, 0xb5, 0x84, 0xf2, 0x3b, 0xaf, 0x3e, 0xd8, 0x61, 0x5f, 0xe7,
-	0xd1, 0x1e, 0xe4, 0x58, 0x25, 0xaf, 0x7a, 0x5d, 0x24, 0xef, 0xda, 0xb2, 0x69, 0x14, 0xa7, 0x27,
-	0x8c, 0x8b, 0x8c, 0xe0, 0x3c, 0x5a, 0xa1, 0x04, 0xfc, 0xad, 0xd5, 0xf7, 0xba, 0x77, 0x94, 0xbb,
-	0x0a, 0xda, 0x83, 0x0c, 0x23, 0x0a, 0x16, 0xda, 0x32, 0xc3, 0x86, 0x18, 0xdb, 0x32, 0x82, 0x88,
-	0x2d, 0xb8, 0xab, 0xa0, 0xef, 0x40, 0xd6, 0xfa, 0x3e, 0x69, 0x8f, 0x43, 0x82, 0x0a, 0x62, 0xc5,
-	0x4c, 0x17, 0x29, 0x2e, 0xd0, 0x61, 0x5c, 0x61, 0x94, 0x17, 0x8d, 0x25, 0x46, 0xc9, 0x69, 0x1e,
-	0x8a, 0x9e, 0x82, 0xaa, 0x90, 0xd9, 0x77, 0x87, 0x9d, 0x3e, 0x41, 0x89, 0x26, 0xb6, 0x90, 0x6c,
-	0x83, 0x91, 0x5d, 0x32, 0xd6, 0x26, 0xf6, 0xed, 0xbc, 0x60, 0x04, 0x0f, 0x95, 0xad, 0xa3, 0x0c,
-	0x43, 0xdf, 0xff, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4f, 0x87, 0x47, 0xad, 0x88, 0x19, 0x00,
-	0x00,
+	// 2194 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0x4b, 0x6f, 0x1b, 0xc9,
+	0x11, 0x36, 0x39, 0x7c, 0x4d, 0xe9, 0xe1, 0x51, 0x5b, 0xb6, 0xb9, 0xb4, 0x6c, 0x2b, 0x13, 0x5b,
+	0x36, 0xb4, 0x1b, 0xc9, 0x6b, 0x07, 0x81, 0x63, 0x38, 0x09, 0xa8, 0xe1, 0x58, 0x1c, 0x93, 0x1a,
+	0x0a, 0x4d, 0x72, 0x1d, 0x1b, 0x08, 0x88, 0x11, 0xd9, 0xe2, 0x12, 0x26, 0x39, 0xcc, 0xcc, 0xd0,
+	0x8e, 0x72, 0xd8, 0xc3, 0x1e, 0x73, 0xda, 0x64, 0xb3, 0x01, 0x72, 0x4f, 0x6e, 0xc9, 0xe6, 0x17,
+	0xe4, 0x71, 0x4b, 0xee, 0x39, 0xe5, 0x18, 0x60, 0x73, 0xca, 0x35, 0xaf, 0x63, 0xd0, 0xaf, 0x79,
+	0xf0, 0x21, 0x61, 0xb1, 0x27, 0xb2, 0xab, 0xbe, 0xfa, 0xaa, 0xba, 0xba, 0xba, 0xba, 0x7b, 0x60,
+	0xdd, 0x7f, 0xed, 0x9c, 0x9e, 0xba, 0xc3, 0xde, 0xde, 0xc4, 0x73, 0x03, 0x17, 0x65, 0xd9, 0x4f,
+	0x69, 0xab, 0xef, 0xba, 0xfd, 0x21, 0xd9, 0x77, 0x26, 0x83, 0x7d, 0x67, 0x3c, 0x76, 0x03, 0x27,
+	0x18, 0xb8, 0x63, 0x9f, 0x83, 0x4a, 0xb7, 0x85, 0x96, 0x8d, 0x4e, 0xa6, 0xa7, 0xfb, 0xc1, 0x60,
+	0x44, 0xfc, 0xc0, 0x19, 0x4d, 0x04, 0xe0, 0xc6, 0x2c, 0x80, 0x8c, 0x26, 0xc1, 0x19, 0x57, 0xea,
+	0x8f, 0x60, 0xad, 0x19, 0x38, 0x01, 0xc1, 0xc4, 0x9f, 0xb8, 0x63, 0x9f, 0x20, 0x1d, 0xb2, 0x3e,
+	0x15, 0x14, 0x53, 0xdb, 0xa9, 0xfb, 0x2b, 0x0f, 0x57, 0x39, 0x6e, 0x8f, 0x83, 0xb8, 0x4a, 0xdf,
+	0x82, 0x42, 0x88, 0xd7, 0x40, 0x19, 0xf9, 0x7d, 0x86, 0x56, 0x31, 0xfd, 0xab, 0xdf, 0x84, 0x3c,
+	0x26, 0x3f, 0x9c, 0x12, 0x3f, 0x40, 0x08, 0x32, 0x63, 0x67, 0x44, 0x84, 0x96, 0xfd, 0xd7, 0x3f,
+	0xcb, 0x40, 0x96, 0xb1, 0xa1, 0xf7, 0x01, 0x4e, 0xa6, 0x83, 0x61, 0xaf, 0x19, 0xf3, 0xb7, 0x21,
+	0xfc, 0x1d, 0x84, 0x0a, 0x1c, 0x03, 0xa1, 0x6f, 0xc2, 0x4a, 0x8f, 0x4c, 0x86, 0xee, 0x19, 0xb7,
+	0x49, 0x33, 0x1b, 0x24, 0x6c, 0x2a, 0x91, 0x06, 0xc7, 0x61, 0xa8, 0x0a, 0xeb, 0xa7, 0xae, 0xf7,
+	0xd6, 0xf1, 0x7a, 0xa4, 0x77, 0xec, 0x7a, 0x81, 0x5f, 0xcc, 0x6c, 0x2b, 0xf7, 0x57, 0x1e, 0x6e,
+	0xc7, 0x27, 0xb7, 0xf7, 0x2c, 0x01, 0x31, 0xc7, 0x81, 0x77, 0x86, 0x67, 0xec, 0x90, 0x01, 0x1a,
+	0x4d, 0xc1, 0xd4, 0x37, 0x3e, 0x24, 0xdd, 0xd7, 0x3c, 0x88, 0x2c, 0x0b, 0xe2, 0x7a, 0x8c, 0x2b,
+	0xae, 0xc6, 0x73, 0x06, 0xe8, 0x09, 0xac, 0x9d, 0x0e, 0x86, 0xa4, 0x79, 0x36, 0xee, 0x72, 0x86,
+	0x1c, 0x63, 0xd8, 0x14, 0x0c, 0xcf, 0xe2, 0x3a, 0x9c, 0x84, 0xa2, 0x63, 0xb8, 0xd2, 0x23, 0x27,
+	0xd3, 0x7e, 0x7f, 0x30, 0xee, 0x1b, 0xee, 0x38, 0x70, 0x06, 0x63, 0xe2, 0xf9, 0xc5, 0x3c, 0x9b,
+	0xcf, 0xad, 0x30, 0x11, 0xb3, 0x08, 0xf3, 0x0d, 0x19, 0x07, 0x78, 0x91, 0x29, 0x7a, 0x17, 0x0a,
+	0x23, 0x12, 0x38, 0x3d, 0x27, 0x70, 0x8a, 0x05, 0x16, 0xc8, 0x65, 0x41, 0x73, 0x24, 0xc4, 0x38,
+	0x04, 0x94, 0x9a, 0x70, 0x65, 0x41, 0x9a, 0x68, 0x11, 0xbc, 0x26, 0x67, 0x6c, 0x09, 0xb3, 0x98,
+	0xfe, 0x45, 0x3b, 0x90, 0x7d, 0xe3, 0x0c, 0xa7, 0x72, 0x89, 0x34, 0x41, 0x49, 0x6d, 0x78, 0x2c,
+	0x5c, 0xfd, 0x24, 0xfd, 0x38, 0xf5, 0x3c, 0x53, 0x50, 0xb4, 0x8c, 0xfe, 0x8f, 0x14, 0x14, 0xa4,
+	0x47, 0xb4, 0x0b, 0x59, 0xb6, 0xea, 0xa2, 0x2a, 0x36, 0xe3, 0x55, 0x11, 0x86, 0xc5, 0x21, 0xe8,
+	0x1b, 0x90, 0xe3, 0x8b, 0x2d, 0x7c, 0x5d, 0x4d, 0x94, 0x43, 0x88, 0x16, 0x20, 0xf4, 0x3d, 0x00,
+	0xa7, 0xd7, 0x1b, 0xd0, 0x2d, 0xe4, 0x0c, 0x8b, 0x5d, 0x96, 0xb8, 0xdb, 0x33, 0x33, 0xde, 0x2b,
+	0x87, 0x08, 0x5e, 0x07, 0x31, 0x93, 0xd2, 0x77, 0xe0, 0xf2, 0x8c, 0x3a, 0x3e, 0x7f, 0x95, 0xcf,
+	0x7f, 0x33, 0x3e, 0x7f, 0x35, 0x36, 0x5b, 0xfd, 0x9f, 0x69, 0x58, 0x4b, 0xcc, 0x03, 0xbd, 0x07,
+	0x1b, 0xe3, 0xe9, 0xe8, 0x84, 0x78, 0x8d, 0xd3, 0xb2, 0x17, 0x0c, 0x4e, 0x9d, 0x6e, 0xe0, 0x8b,
+	0x5c, 0xce, 0x2b, 0xd0, 0x63, 0x28, 0xb0, 0x79, 0xd3, 0x65, 0x4f, 0xb3, 0xe8, 0xb7, 0x16, 0x65,
+	0x87, 0x8f, 0x88, 0x87, 0x43, 0x34, 0xba, 0x03, 0x99, 0xe0, 0x6c, 0x42, 0x8a, 0xca, 0x76, 0xea,
+	0xfe, 0x7a, 0xb8, 0x24, 0x0c, 0xd7, 0x3a, 0x9b, 0x10, 0xcc, 0xb4, 0xa8, 0xb2, 0x20, 0x3f, 0x77,
+	0x16, 0x7a, 0x38, 0x2f, 0x49, 0x87, 0x90, 0x17, 0x01, 0xa0, 0x1d, 0xe1, 0x36, 0xc5, 0xdc, 0xa2,
+	0x38, 0x15, 0xf1, 0x62, 0x8e, 0x37, 0x21, 0xdb, 0x75, 0xa7, 0xe3, 0x80, 0xa5, 0x2c, 0x8b, 0xf9,
+	0xe0, 0xab, 0x66, 0xfb, 0xcf, 0x29, 0x58, 0x4f, 0x16, 0x02, 0x7a, 0x0a, 0x2a, 0x2f, 0x05, 0x9a,
+	0xc1, 0xd4, 0xcc, 0xc6, 0x89, 0x23, 0xc5, 0x90, 0x78, 0x38, 0x32, 0x40, 0xef, 0x41, 0xbe, 0x3b,
+	0x9c, 0xfa, 0x01, 0xf1, 0x98, 0xb3, 0x68, 0x42, 0x06, 0x97, 0xb2, 0x09, 0x49, 0x48, 0xc9, 0x82,
+	0x82, 0x24, 0x41, 0xf7, 0x12, 0x79, 0xb8, 0x92, 0x70, 0x79, 0x71, 0x22, 0xf4, 0x9f, 0xa4, 0x00,
+	0xa2, 0xae, 0x88, 0xbe, 0x0b, 0xaa, 0x13, 0x2b, 0x96, 0x78, 0x3b, 0x8b, 0x50, 0x7b, 0x61, 0xd9,
+	0xf0, 0x15, 0x8a, 0x4c, 0x4a, 0x4f, 0x61, 0x3d, 0xa9, 0xfc, 0x52, 0x69, 0xbd, 0x0b, 0x2b, 0xb1,
+	0x6e, 0x8b, 0xae, 0x41, 0x8e, 0x77, 0x39, 0x61, 0x2d, 0x46, 0xfa, 0xe7, 0x29, 0xd0, 0x66, 0x1b,
+	0xe2, 0x32, 0x30, 0xaa, 0x80, 0xea, 0x11, 0xdf, 0x9d, 0x7a, 0x5d, 0x22, 0x2b, 0x7b, 0x67, 0x49,
+	0x53, 0xdd, 0xc3, 0x12, 0x28, 0xe6, 0x15, 0x1a, 0xd2, 0x79, 0x25, 0x95, 0x5f, 0x6a, 0x5e, 0xf7,
+	0x60, 0x2d, 0xd1, 0x7e, 0x97, 0xce, 0xec, 0xef, 0x19, 0xc8, 0xb2, 0x46, 0x86, 0x1e, 0x80, 0x4a,
+	0xdb, 0x23, 0x1b, 0x88, 0x76, 0xa5, 0xc5, 0xda, 0x09, 0x93, 0x57, 0x2f, 0xe1, 0x08, 0x84, 0x1e,
+	0x89, 0x73, 0x8f, 0x9b, 0xa4, 0xe7, 0xcf, 0x3d, 0x69, 0x13, 0x83, 0xa1, 0x6f, 0xc9, 0x93, 0x8f,
+	0x5b, 0x29, 0x0b, 0x4e, 0x3e, 0x69, 0x16, 0x07, 0xd2, 0xf0, 0x26, 0xb2, 0xe9, 0x16, 0x33, 0x8b,
+	0x9b, 0x31, 0x0d, 0x2f, 0x04, 0x21, 0x33, 0x71, 0xc6, 0x71, 0xc3, 0xa5, 0x67, 0x9c, 0xb4, 0x9f,
+	0x33, 0x41, 0x3f, 0x80, 0xa2, 0x5c, 0x95, 0x59, 0xbc, 0x38, 0xf0, 0x64, 0xd7, 0xc5, 0x4b, 0x60,
+	0xd5, 0x4b, 0x78, 0x29, 0x05, 0x7a, 0x1a, 0x1d, 0xa2, 0x9c, 0x33, 0xbf, 0xf0, 0x10, 0x95, 0x44,
+	0x49, 0x30, 0x7a, 0x05, 0xd7, 0x7b, 0x8b, 0x0f, 0x49, 0x71, 0x06, 0x5e, 0x70, 0x94, 0x56, 0x2f,
+	0xe1, 0x65, 0x04, 0xe8, 0xdb, 0xb0, 0xda, 0x23, 0x6f, 0xea, 0xae, 0x3b, 0xe1, 0x84, 0x2a, 0x23,
+	0x8c, 0xf6, 0x7b, 0xa4, 0xaa, 0x5e, 0xc2, 0x09, 0xe8, 0xc1, 0x2a, 0x00, 0xa1, 0x7f, 0x3a, 0xb4,
+	0x0f, 0xe8, 0x43, 0x58, 0x8d, 0xa3, 0xd1, 0x16, 0xa8, 0x83, 0x80, 0x78, 0xec, 0xf6, 0x27, 0xce,
+	0x87, 0x48, 0x10, 0xab, 0xd4, 0x74, 0x62, 0x5b, 0xed, 0x80, 0x42, 0x3c, 0x4f, 0x14, 0x8c, 0x4c,
+	0x4f, 0xb9, 0xcb, 0x1a, 0xea, 0xc9, 0x90, 0x98, 0x9e, 0x87, 0x29, 0x40, 0x7f, 0x0b, 0x6b, 0x09,
+	0x29, 0xda, 0x85, 0x3c, 0xf1, 0x3c, 0xc3, 0xed, 0xc9, 0x96, 0x25, 0xeb, 0xc6, 0xf4, 0x3c, 0x97,
+	0xc9, 0xb1, 0x04, 0xa0, 0x22, 0xe4, 0x47, 0xc4, 0xf7, 0x9d, 0xbe, 0xdc, 0x53, 0x72, 0x88, 0xb6,
+	0x61, 0xc5, 0x9f, 0xf6, 0xfb, 0xc4, 0x67, 0x77, 0xd6, 0xa2, 0xb2, 0xad, 0xdc, 0x57, 0x71, 0x5c,
+	0xa4, 0xdb, 0xa0, 0x86, 0x1b, 0x85, 0x6e, 0x4d, 0x42, 0x77, 0xad, 0xd8, 0x6e, 0x7c, 0x90, 0xb8,
+	0xa3, 0xa4, 0x2f, 0xb8, 0xa3, 0xe8, 0x1f, 0x89, 0x3e, 0xc9, 0x09, 0x4b, 0x50, 0x90, 0x4d, 0x4f,
+	0x70, 0x86, 0xe3, 0xa5, 0x29, 0xd3, 0xa2, 0x94, 0xa9, 0x2c, 0x39, 0xf1, 0x5c, 0x64, 0x2e, 0xc8,
+	0x85, 0xde, 0x95, 0xbd, 0x91, 0x07, 0xb0, 0xac, 0xdd, 0x09, 0x27, 0xe9, 0x85, 0x4e, 0x94, 0x8b,
+	0x9c, 0x7c, 0x9c, 0xec, 0xac, 0xe7, 0xbb, 0x5a, 0xbe, 0x3a, 0x5f, 0x6d, 0xa6, 0x3f, 0x86, 0xe2,
+	0xb2, 0xbd, 0x4b, 0xf3, 0x2e, 0xf7, 0xae, 0xcc, 0xbb, 0x1c, 0x2f, 0xcd, 0x7b, 0x2c, 0x4e, 0x65,
+	0x61, 0x9c, 0x99, 0x30, 0x4e, 0xfd, 0xd7, 0x69, 0x50, 0xc3, 0x06, 0x46, 0xb7, 0xc6, 0xd0, 0xed,
+	0x3a, 0x43, 0x2a, 0x91, 0x5b, 0x23, 0x14, 0xa0, 0x5b, 0x00, 0x1e, 0x19, 0xb9, 0x01, 0x61, 0x6a,
+	0x7e, 0xaa, 0xc6, 0x24, 0xd4, 0xef, 0xc4, 0xed, 0xd9, 0xf4, 0xa5, 0x22, 0xfc, 0x8a, 0x21, 0xba,
+	0x03, 0x6b, 0x5d, 0xb9, 0xbb, 0x99, 0x9e, 0x47, 0x90, 0x14, 0x52, 0xef, 0xf4, 0x69, 0xe3, 0x4f,
+	0x9c, 0x2e, 0x7f, 0x0e, 0xa8, 0x38, 0x12, 0xd0, 0x4c, 0xd0, 0xe6, 0xca, 0xcc, 0x73, 0x3c, 0x13,
+	0x72, 0x8c, 0x74, 0x58, 0x95, 0x59, 0xa1, 0x17, 0x00, 0xd6, 0xc4, 0x54, 0x9c, 0x90, 0xc5, 0x31,
+	0x8c, 0xa3, 0x90, 0xc4, 0x30, 0x9e, 0x22, 0xe4, 0x9d, 0x5e, 0xcf, 0x23, 0xbe, 0xcf, 0xda, 0x8d,
+	0x8a, 0xe5, 0x50, 0xff, 0x65, 0x2a, 0x3a, 0xd2, 0xc2, 0x5c, 0xd1, 0x66, 0x68, 0xb0, 0x2b, 0x86,
+	0xc8, 0x55, 0x28, 0xa0, 0x1b, 0x70, 0x30, 0x8a, 0x2a, 0x85, 0x0f, 0x62, 0x2b, 0xa6, 0x2c, 0x2a,
+	0xe2, 0xcc, 0xc2, 0xfa, 0xc9, 0x5e, 0x54, 0x3f, 0xff, 0x4a, 0xc3, 0xf5, 0x25, 0x0d, 0xf6, 0xbc,
+	0x5a, 0x96, 0x6b, 0x95, 0xbe, 0x60, 0xad, 0x94, 0x0b, 0xd7, 0x2a, 0xb3, 0x60, 0xad, 0xc2, 0x6e,
+	0x91, 0x9d, 0xe9, 0x16, 0x45, 0xc8, 0x7b, 0xd3, 0x31, 0x7d, 0x5d, 0x8b, 0x65, 0x94, 0x43, 0x5a,
+	0x5f, 0x6f, 0x5d, 0xef, 0xf5, 0x60, 0xdc, 0xaf, 0x0c, 0x3c, 0xb1, 0x86, 0x31, 0x09, 0xb2, 0x01,
+	0xd8, 0x61, 0xc1, 0xdf, 0x9e, 0x05, 0x76, 0xb5, 0xd9, 0x3b, 0xff, 0x80, 0xe1, 0xf2, 0xd8, 0x4b,
+	0x34, 0xc6, 0x40, 0xef, 0xc4, 0x33, 0xea, 0x8b, 0x2e, 0x39, 0x6b, 0xf1, 0x4b, 0xce, 0x47, 0x50,
+	0xa8, 0xbb, 0x7d, 0x6e, 0xf7, 0x18, 0xd4, 0xf0, 0x7b, 0x81, 0xb8, 0xbd, 0x94, 0xf6, 0xf8, 0x07,
+	0x83, 0x3d, 0xf9, 0xc1, 0x60, 0xaf, 0x25, 0x11, 0x38, 0x02, 0x23, 0x1d, 0xb2, 0x24, 0x76, 0x81,
+	0x91, 0x1f, 0x0a, 0xc4, 0xeb, 0x8e, 0x24, 0xbb, 0xb9, 0x12, 0xeb, 0xe6, 0xfa, 0x13, 0xd8, 0x68,
+	0xfb, 0xc4, 0xb3, 0xc6, 0x01, 0x85, 0x8a, 0x4f, 0x05, 0x77, 0x21, 0x37, 0x60, 0x02, 0x11, 0xc5,
+	0x9a, 0xe0, 0x13, 0x28, 0xa1, 0xd4, 0x9f, 0x43, 0x8e, 0x4b, 0x28, 0x77, 0xf4, 0x44, 0x2c, 0xc8,
+	0xc7, 0x20, 0x82, 0x8c, 0x7f, 0x36, 0xee, 0xb2, 0xa0, 0x0a, 0x98, 0xfd, 0xa7, 0xa5, 0x24, 0x1e,
+	0x88, 0x0a, 0x93, 0x8a, 0xd1, 0xae, 0x0b, 0x2b, 0xb1, 0x57, 0x08, 0x2a, 0xc2, 0x66, 0xdb, 0xae,
+	0xd9, 0x8d, 0x17, 0x76, 0xe7, 0xa0, 0x6d, 0xd5, 0x2b, 0x26, 0xee, 0xb4, 0x5e, 0x1e, 0x9b, 0xda,
+	0x25, 0x94, 0x07, 0xe5, 0xb9, 0x75, 0xa0, 0xa5, 0x90, 0x0a, 0xd9, 0x83, 0xf2, 0x2b, 0xb3, 0xae,
+	0xa5, 0xd1, 0x3a, 0x00, 0x43, 0x1d, 0x97, 0x8d, 0x5a, 0x53, 0x53, 0x10, 0x40, 0xce, 0x68, 0x37,
+	0x5b, 0x8d, 0x23, 0x2d, 0x43, 0xff, 0xd7, 0xca, 0xb6, 0x55, 0x6b, 0x68, 0x59, 0xfa, 0xbf, 0xd2,
+	0x30, 0x6a, 0x26, 0xd6, 0x72, 0xbb, 0x15, 0x50, 0xc3, 0xd7, 0x16, 0xba, 0x06, 0x28, 0xe1, 0x4e,
+	0x3a, 0x5b, 0x81, 0xbc, 0x51, 0x6f, 0x37, 0x5b, 0x26, 0xd6, 0x52, 0xd4, 0xf3, 0xa1, 0x71, 0xa0,
+	0xa5, 0xa9, 0xe7, 0x7a, 0xc3, 0x28, 0xd7, 0x35, 0x65, 0xb7, 0x41, 0xaf, 0x05, 0xd1, 0xa3, 0x01,
+	0xbd, 0x03, 0x57, 0x25, 0x51, 0xc5, 0x3c, 0xae, 0x37, 0x5e, 0x46, 0x81, 0x17, 0x20, 0x53, 0x35,
+	0xeb, 0x47, 0x5a, 0x0a, 0xad, 0x81, 0x5a, 0x63, 0xe1, 0x59, 0xaf, 0x4c, 0x2d, 0x4d, 0x9d, 0xd4,
+	0xda, 0x07, 0xa6, 0xd1, 0xa2, 0x84, 0x16, 0xac, 0xc4, 0x1e, 0x2f, 0xf1, 0x3c, 0x88, 0x40, 0x24,
+	0xdd, 0x2a, 0x14, 0x8e, 0x2c, 0xdb, 0xa2, 0x96, 0x22, 0xb6, 0x9a, 0xc9, 0x63, 0x6b, 0xb4, 0xaa,
+	0x26, 0xd6, 0x94, 0xdd, 0x5f, 0xe5, 0x40, 0x0d, 0x37, 0x3a, 0xba, 0x0e, 0x57, 0x8c, 0x46, 0xbb,
+	0x5e, 0xe9, 0xd8, 0x8d, 0x56, 0xa7, 0x62, 0xb6, 0x4c, 0x7c, 0x64, 0xd9, 0x94, 0xa8, 0x04, 0x57,
+	0x9b, 0xad, 0x72, 0xab, 0xdd, 0xec, 0x18, 0x55, 0xd3, 0xa8, 0x75, 0xec, 0x46, 0xc7, 0xc4, 0xb8,
+	0x81, 0xb5, 0xbf, 0xa4, 0xd0, 0x36, 0xdc, 0x48, 0xe8, 0xac, 0xa3, 0xf2, 0xa1, 0xd9, 0x39, 0x6e,
+	0xd7, 0xeb, 0x14, 0xa3, 0xfd, 0x26, 0x8d, 0xee, 0xc0, 0xed, 0x04, 0xc2, 0x68, 0xd8, 0xad, 0xb2,
+	0x65, 0x9b, 0xb8, 0x63, 0x60, 0xb3, 0xdc, 0xb2, 0xec, 0x43, 0xed, 0xb7, 0x69, 0xf4, 0x75, 0xb8,
+	0x95, 0x40, 0xe1, 0xb6, 0x1d, 0x43, 0x52, 0xaa, 0xcf, 0xd3, 0x68, 0x07, 0xbe, 0xb6, 0x84, 0x8a,
+	0x07, 0x5b, 0x6e, 0x99, 0x15, 0xed, 0x77, 0xe7, 0xe1, 0xb0, 0xd9, 0x6c, 0x95, 0x31, 0x73, 0xfa,
+	0xc5, 0x3c, 0xce, 0x6e, 0x54, 0xcc, 0xce, 0x91, 0x79, 0xd4, 0xc0, 0x2f, 0x3b, 0xc7, 0xd8, 0x6c,
+	0x36, 0xdb, 0xd8, 0xd4, 0x3e, 0x51, 0xe6, 0xa6, 0xc0, 0x70, 0x15, 0xab, 0x59, 0x8b, 0x50, 0x3f,
+	0x55, 0xd0, 0x2e, 0xdc, 0x9d, 0x47, 0xd9, 0x66, 0xeb, 0x45, 0x03, 0xd7, 0x3a, 0x6d, 0xbb, 0xfc,
+	0x41, 0xd9, 0xaa, 0x97, 0x0f, 0xea, 0xa6, 0xf6, 0x33, 0x65, 0x6e, 0xba, 0x0c, 0x7b, 0x6c, 0x55,
+	0x22, 0xc2, 0x4f, 0x97, 0xb8, 0x6d, 0xdb, 0x4d, 0xa3, 0x6a, 0x56, 0xda, 0x9c, 0xea, 0xe7, 0x0a,
+	0xd2, 0xe1, 0xe6, 0x22, 0x14, 0x36, 0xcb, 0x46, 0x95, 0x61, 0x3e, 0x53, 0xe6, 0x56, 0x89, 0x87,
+	0xd6, 0x68, 0x75, 0xb0, 0x59, 0xae, 0xbc, 0xd4, 0x7e, 0xa1, 0xa0, 0x6b, 0xb0, 0x11, 0x56, 0x42,
+	0x47, 0x14, 0x94, 0xf6, 0x6f, 0x05, 0xbd, 0x03, 0x9b, 0x09, 0x4b, 0xa9, 0xfa, 0x8f, 0x82, 0xee,
+	0x81, 0xbe, 0x48, 0x35, 0x13, 0xe1, 0x7f, 0x15, 0xf4, 0x2e, 0xec, 0x2c, 0x59, 0x8e, 0x17, 0x65,
+	0x8b, 0xae, 0x45, 0xc8, 0xfa, 0x3f, 0xe6, 0xf0, 0x99, 0x55, 0x37, 0x3b, 0xcd, 0x97, 0xb6, 0xd1,
+	0xb1, 0x6c, 0xab, 0x25, 0x6a, 0xed, 0x6f, 0x19, 0xb4, 0x05, 0xd7, 0x2b, 0xe6, 0x07, 0x1d, 0x6c,
+	0x1e, 0x5a, 0xac, 0xce, 0xf9, 0x46, 0xac, 0x98, 0xc7, 0x4d, 0xed, 0xf7, 0x59, 0x74, 0x03, 0xae,
+	0x25, 0xb4, 0x2d, 0xb3, 0xd9, 0xe2, 0xca, 0x3f, 0x64, 0xd1, 0x4d, 0x28, 0x26, 0x94, 0x7c, 0xeb,
+	0x71, 0xf5, 0x1f, 0xb3, 0x73, 0xcc, 0x46, 0xc3, 0x7e, 0x66, 0x1d, 0x52, 0xb5, 0xf6, 0xa7, 0xec,
+	0xc3, 0x4f, 0x14, 0xb8, 0xdc, 0x14, 0xdf, 0x7a, 0x9b, 0xc4, 0x7b, 0x33, 0xe8, 0x12, 0x64, 0x40,
+	0xe1, 0x90, 0x04, 0xe2, 0xd5, 0x39, 0xd7, 0x82, 0xcd, 0xd1, 0x24, 0x38, 0x2b, 0x25, 0xbe, 0xc6,
+	0xea, 0x1b, 0x1f, 0xff, 0xf5, 0x8b, 0x4f, 0xd3, 0x2b, 0x48, 0xdd, 0x7f, 0xf3, 0xfe, 0x3e, 0xfb,
+	0x32, 0x8b, 0x0e, 0xa1, 0xc0, 0x1a, 0x70, 0xdd, 0xed, 0x23, 0x79, 0x45, 0x96, 0xbd, 0xbe, 0x34,
+	0x2b, 0xd0, 0xaf, 0x32, 0x82, 0xcb, 0x68, 0x8d, 0x12, 0xf0, 0x87, 0xc7, 0xd0, 0xed, 0xdf, 0x4f,
+	0x3d, 0x48, 0xa1, 0x43, 0xc8, 0x31, 0x22, 0x7f, 0x69, 0x2c, 0x73, 0x6c, 0x88, 0xb1, 0xad, 0x22,
+	0x08, 0xd9, 0xfc, 0x07, 0x29, 0xf4, 0x7d, 0xc8, 0x9b, 0x3f, 0x22, 0xdd, 0x69, 0x40, 0x50, 0x51,
+	0x58, 0xcc, 0x35, 0xff, 0xd2, 0x12, 0x1f, 0xfa, 0x0d, 0x46, 0x79, 0x55, 0x5f, 0x61, 0x94, 0x9c,
+	0xe6, 0x89, 0x38, 0x0a, 0x50, 0x1d, 0x72, 0x55, 0x67, 0xdc, 0x1b, 0x12, 0x94, 0x38, 0x7b, 0x96,
+	0x92, 0x6d, 0x31, 0xb2, 0x6b, 0xfa, 0x46, 0x14, 0xdf, 0xfe, 0x87, 0x8c, 0xe0, 0x49, 0x6a, 0xf7,
+	0x24, 0xc7, 0xd0, 0x8f, 0xfe, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x52, 0x0f, 0xa4, 0x27, 0x84, 0x17,
+	0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
diff --git a/proto/skaffold.proto b/proto/skaffold.proto
index 07532506df4..e306555e747 100644
--- a/proto/skaffold.proto
+++ b/proto/skaffold.proto
@@ -27,13 +27,6 @@ message State {
     FileSyncState fileSyncState = 6;
     repeated DebuggingContainerEvent debuggingContainers = 7;
     Metadata metadata = 8;
-    repeated DevLoop loops = 9;
-}
-
-message DevLoop {
-    int32 iteration = 1; // dev loop iteration
-    ChangeType changeType = 2; // Change type which triggered this loop
-    ErrorCode errCode = 3; // actionable error message
 }
 
 message Metadata {
@@ -59,7 +52,6 @@ message DeployMetadata {
     message Deployer {
         DeployerType type = 1;
         int32 count = 2;
-        ChangeType changeType = 3;
     }
     repeated Deployer deployers = 1;
     ClusterType cluster = 2;
@@ -113,22 +105,14 @@ message Event {
         FileSyncEvent fileSyncEvent = 7; // describes the sync status.
         DebuggingContainerEvent debuggingContainerEvent = 8; // describes the appearance or disappearance of a debugging container
         DevLoopEvent devLoopEvent = 9; // describes a start and end of a dev loop.
-        EndEvent endEvent = 10;
     }
 }
 
-// `EndEvent` is the last event indicating skaffold session ended.
-message EndEvent {
-    ErrorCode errCode = 1;
-    string errMsg = 2;
-    repeated DevLoop loops = 3;
-}
 // `DevLoopEvent` marks the start and end of a dev loop.
 message DevLoopEvent {
     int32 iteration = 1; // dev loop iteration
-    ChangeType changeType = 2;
-    string status = 3; // dev loop status oneof: In Progress, Completed, Failed
-    ActionableErr err = 4; // actionable error message
+    string status = 2; // dev loop status oneof: In Progress, Completed, Failed
+    ActionableErr err = 3; // actionable error message
 
 }
 
@@ -322,22 +306,6 @@ enum DeployerType {
     KUBECTL = 3;
 }
 
-// Enum for indicating which dependency change triggered the dev loop
-enum ChangeType {
-    // First iteration
-    INITIAL_LOOP = 0;
-    // Indicates build dependency change
-    BUILD = 1;
-    // Indicates test dependency change
-    TEST = 2;
-    // Indicates deploy dependency change
-    DEPLOY = 3;
-    // Indicates skaffold config change
-    CONFIG = 4;
-    // Indicates sync dependency change
-    SYNC = 5;
-}
-
 // Enum indicating cluster type the application is deployed to
 enum ClusterType {
     // Could not determine Cluster Type
@@ -358,7 +326,7 @@ enum ErrorCode {
     // No Error codes
 
     // Status Check Success
-    SUCCESS = 200;
+    STATUS_CHECK_NO_ERROR = 200;
 
 
     // Container errors