diff --git a/go/test/plan/v1/plan.pb.go b/go/test/plan/v1/plan.pb.go
index 68ae8cc..b5e39fb 100644
--- a/go/test/plan/v1/plan.pb.go
+++ b/go/test/plan/v1/plan.pb.go
@@ -70,6 +70,60 @@
 	return fileDescriptor_1a74b4d4119f628f, []int{5, 0}
 }
 
+type Exclusion_Action int32
+
+const (
+	// Specify no action.
+	//
+	// The Test Lab Environment may choose any of the available actions based
+	// on internal heuristics.
+	//
+	// The default Action is a good default if none of the considersations for
+	// the specific actions below apply.
+	Exclusion_ACTION_UNSPECIFIED Exclusion_Action = 0
+	// Do not schedule the selected Tests on specified Devices Under Test.
+	//
+	// It is especially useful to set this Action for permanent exceptions as it
+	// is definitely not useful to run the Tests at all in those cases.
+	Exclusion_DO_NOT_SCHEDULE Exclusion_Action = 1
+	// Schedule the Test on Devices Under Test as required by the test plan
+	// unit, but mark the results for selected tests on the specified Devices
+	// Under Test as non-critical. Results marked non-critical are intended to
+	// be ignored by result consumers (e.g, presubmit system should consider the
+	// result irrelevant for validatting a Chrome OS build).
+	//
+	// This action does not guarantee that results for the selected (Test,
+	// Device Under Test) pairs are always available because that depends no how
+	// the test plan Unit is interpreted overall. When this action is set, the
+	// Test Lab Environment SHOULD NOT make any special effort to include /
+	// exclude the selected (Test, Device Under Test) pairs.
+	//
+	// It is useful to set this Action for temporary exclusions where the
+	// results generated from test execution can be uesd to root cause and fix
+	// the underlying issues.
+	Exclusion_MARK_NON_CRITICAL Exclusion_Action = 2
+)
+
+var Exclusion_Action_name = map[int32]string{
+	0: "ACTION_UNSPECIFIED",
+	1: "DO_NOT_SCHEDULE",
+	2: "MARK_NON_CRITICAL",
+}
+
+var Exclusion_Action_value = map[string]int32{
+	"ACTION_UNSPECIFIED": 0,
+	"DO_NOT_SCHEDULE":    1,
+	"MARK_NON_CRITICAL":  2,
+}
+
+func (x Exclusion_Action) String() string {
+	return proto.EnumName(Exclusion_Action_name, int32(x))
+}
+
+func (Exclusion_Action) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor_1a74b4d4119f628f, []int{5, 1}
+}
+
 // A set of known test plans.
 //
 // In practice, a complete specification of all known plans may consist of
@@ -627,7 +681,8 @@
 // temporary or permanent reasons.
 type Exclusion struct {
 	// Required.
-	Type Exclusion_Type `protobuf:"varint,1,opt,name=type,proto3,enum=test.plan.v1.Exclusion_Type" json:"type,omitempty"`
+	Type   Exclusion_Type   `protobuf:"varint,1,opt,name=type,proto3,enum=test.plan.v1.Exclusion_Type" json:"type,omitempty"`
+	Action Exclusion_Action `protobuf:"varint,5,opt,name=action,proto3,enum=test.plan.v1.Exclusion_Action" json:"action,omitempty"`
 	// The tests this exclusion applies to, within a test plan unit.
 	//
 	// Tests selected by this condition that are not in the test plan unit are
@@ -687,6 +742,13 @@
 	return Exclusion_TYPE_UNSPECIFIED
 }
 
+func (m *Exclusion) GetAction() Exclusion_Action {
+	if m != nil {
+		return m.Action
+	}
+	return Exclusion_ACTION_UNSPECIFIED
+}
+
 func (m *Exclusion) GetTestConstraint() *TestConstraint {
 	if m != nil {
 		return m.TestConstraint
@@ -992,6 +1054,7 @@
 
 func init() {
 	proto.RegisterEnum("test.plan.v1.Exclusion_Type", Exclusion_Type_name, Exclusion_Type_value)
+	proto.RegisterEnum("test.plan.v1.Exclusion_Action", Exclusion_Action_name, Exclusion_Action_value)
 	proto.RegisterType((*Specification)(nil), "test.plan.v1.Specification")
 	proto.RegisterType((*Plan)(nil), "test.plan.v1.Plan")
 	proto.RegisterType((*Unit)(nil), "test.plan.v1.Unit")
@@ -1009,48 +1072,53 @@
 func init() { proto.RegisterFile("test/plan/v1/plan.proto", fileDescriptor_1a74b4d4119f628f) }
 
 var fileDescriptor_1a74b4d4119f628f = []byte{
-	// 680 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0xd1, 0x6e, 0xd3, 0x3c,
-	0x18, 0xfd, 0xd3, 0x66, 0xbf, 0xfe, 0x7c, 0x5b, 0xfb, 0x17, 0x8b, 0x6d, 0xa5, 0x82, 0x69, 0x0a,
-	0x93, 0xa8, 0xb8, 0x48, 0xd8, 0xb8, 0x40, 0x30, 0x21, 0xb4, 0xb5, 0x19, 0x54, 0x68, 0x25, 0xca,
-	0x52, 0xc1, 0x36, 0x89, 0xc8, 0x4b, 0xdc, 0xd6, 0x52, 0x1a, 0x47, 0x8e, 0x53, 0xd8, 0x83, 0x20,
-	0xf1, 0x28, 0xbc, 0x06, 0x3c, 0x11, 0xb2, 0xd3, 0x75, 0xe9, 0x56, 0x69, 0x17, 0x70, 0x95, 0xfa,
-	0xf8, 0xf8, 0xf8, 0xf3, 0xf9, 0x4e, 0x3f, 0xd8, 0x14, 0x24, 0x13, 0x76, 0x1a, 0xe3, 0xc4, 0x9e,
-	0xee, 0xaa, 0xaf, 0x95, 0x72, 0x26, 0x18, 0x5a, 0x93, 0x1b, 0x96, 0x02, 0xa6, 0xbb, 0xad, 0x82,
-	0x36, 0x8c, 0x09, 0x11, 0x92, 0x17, 0xe5, 0xa2, 0xa0, 0xb5, 0x76, 0xc2, 0x31, 0x67, 0x13, 0x9a,
-	0x4f, 0x58, 0x66, 0x87, 0x2c, 0x19, 0xd2, 0x91, 0x8d, 0x53, 0x6a, 0x0b, 0x96, 0xb2, 0x98, 0x8d,
-	0x2e, 0x0b, 0x96, 0xf9, 0x12, 0x6a, 0x27, 0x29, 0x09, 0xe9, 0x90, 0x86, 0x58, 0x50, 0x96, 0xa0,
-	0x36, 0xac, 0x48, 0xe9, 0xac, 0xa9, 0x6d, 0x57, 0xdb, 0xab, 0x7b, 0xc8, 0x2a, 0xdf, 0x66, 0xb9,
-	0x31, 0x4e, 0xbc, 0x82, 0x60, 0x76, 0x41, 0x97, 0x4b, 0x84, 0x40, 0x4f, 0xf0, 0x84, 0x34, 0xb5,
-	0x6d, 0xad, 0x6d, 0x78, 0xea, 0xb7, 0x54, 0xc9, 0x13, 0x2a, 0xb2, 0x66, 0x65, 0x99, 0xca, 0x20,
-	0xa1, 0xc2, 0x2b, 0x08, 0xe6, 0x8f, 0x0a, 0xe8, 0x72, 0xbd, 0x54, 0xc6, 0x81, 0xff, 0xe5, 0xc1,
-	0x20, 0x64, 0x49, 0x26, 0x38, 0xa6, 0x89, 0x68, 0x56, 0xb6, 0xb5, 0xf6, 0xea, 0xde, 0xc3, 0x45,
-	0x41, 0x9f, 0x64, 0xa2, 0x33, 0xe7, 0x78, 0x75, 0xb1, 0xb0, 0x46, 0xe7, 0xb0, 0x19, 0xe5, 0x52,
-	0x65, 0x4a, 0x38, 0x1e, 0x91, 0xb2, 0x5c, 0x55, 0xc9, 0x3d, 0x5e, 0x94, 0xeb, 0x0e, 0xfc, 0xce,
-	0x8c, 0x5b, 0x52, 0x5d, 0x8f, 0x72, 0x71, 0x1b, 0x46, 0x6f, 0xa0, 0x16, 0xb2, 0x88, 0xcc, 0xd5,
-	0x9b, 0xba, 0x92, 0x6c, 0x2d, 0x4a, 0x76, 0x58, 0x44, 0xae, 0x0e, 0x7b, 0x6b, 0x61, 0x69, 0x85,
-	0x5e, 0x00, 0x90, 0xaf, 0x61, 0x9c, 0x67, 0x94, 0x25, 0x59, 0x73, 0x45, 0x19, 0xb6, 0xb9, 0x78,
-	0xda, 0xb9, 0xda, 0xf7, 0x4a, 0x54, 0x33, 0x86, 0xfa, 0xe2, 0xc3, 0xd1, 0x96, 0x94, 0x4a, 0x39,
-	0xc9, 0x24, 0x61, 0xe6, 0x64, 0x09, 0x69, 0xbd, 0x02, 0x5d, 0x9e, 0x58, 0xea, 0xf5, 0x16, 0x00,
-	0x16, 0x82, 0xd3, 0x8b, 0x5c, 0x90, 0xa2, 0x6f, 0x86, 0x57, 0x42, 0xcc, 0x5f, 0x1a, 0xac, 0x2f,
-	0x35, 0xe6, 0xce, 0x5b, 0xbf, 0x6b, 0x50, 0xed, 0x0e, 0x7c, 0xb4, 0x0f, 0x86, 0xca, 0x69, 0x10,
-	0xe5, 0x42, 0xd1, 0x56, 0xf7, 0xb6, 0x8a, 0x77, 0x2a, 0x58, 0x39, 0x4f, 0xa6, 0x34, 0x24, 0x83,
-	0x24, 0x22, 0x5c, 0x16, 0xea, 0xfd, 0xa7, 0x76, 0xba, 0xb9, 0x40, 0x3e, 0xdc, 0x1b, 0x63, 0x1e,
-	0x7d, 0xc1, 0x9c, 0x04, 0x43, 0x82, 0x45, 0xce, 0x55, 0x95, 0x52, 0xe4, 0x89, 0x75, 0x1d, 0x75,
-	0xab, 0x88, 0xba, 0x85, 0x53, 0x6a, 0xbd, 0x9b, 0xf1, 0x8f, 0x66, 0x74, 0xaf, 0x31, 0xbe, 0x81,
-	0x98, 0x3f, 0x2b, 0x60, 0xcc, 0xcd, 0x45, 0xcf, 0x40, 0x17, 0x97, 0x69, 0x61, 0x4b, 0xfd, 0x66,
-	0xc6, 0xe6, 0x34, 0xcb, 0xbf, 0x4c, 0x89, 0xa7, 0x98, 0x7f, 0x2b, 0xa0, 0xef, 0xa1, 0x5e, 0x04,
-	0xf4, 0x46, 0x2e, 0x77, 0x6e, 0xe5, 0x72, 0x5e, 0x45, 0x49, 0xad, 0xa6, 0x82, 0x59, 0x6e, 0x07,
-	0x27, 0x43, 0xc2, 0x49, 0x12, 0x92, 0xac, 0xa9, 0x17, 0x8d, 0xbc, 0x46, 0xcc, 0xcf, 0xa0, 0xcb,
-	0x17, 0xa0, 0xfb, 0xd0, 0xf0, 0x4f, 0x5d, 0x27, 0x18, 0xf4, 0x4f, 0x5c, 0xa7, 0xd3, 0x3b, 0xea,
-	0x39, 0xdd, 0xc6, 0x3f, 0xa8, 0x06, 0x86, 0xeb, 0x78, 0xc7, 0x07, 0x7d, 0xa7, 0xef, 0x37, 0x34,
-	0xb4, 0x01, 0xc8, 0x77, 0x8e, 0xdd, 0x0f, 0xde, 0x81, 0x77, 0x1a, 0xf4, 0x9d, 0x8f, 0x81, 0xef,
-	0x9c, 0xf8, 0x8d, 0x0a, 0x7a, 0x00, 0xeb, 0xd7, 0xb8, 0xeb, 0xf4, 0xbb, 0xbd, 0xfe, 0xdb, 0xe0,
-	0xa8, 0xf7, 0xa9, 0x51, 0x35, 0xbf, 0x69, 0xb0, 0xb1, 0xbc, 0xd2, 0x3b, 0x93, 0x72, 0x5e, 0x04,
-	0x65, 0x69, 0xaf, 0xb5, 0x3f, 0xed, 0xf5, 0x19, 0xac, 0x95, 0xff, 0x85, 0x77, 0x16, 0xf3, 0x14,
-	0x8c, 0xc3, 0x18, 0x4f, 0x48, 0x4c, 0x33, 0x81, 0x1e, 0x49, 0x53, 0x53, 0x16, 0xa4, 0x58, 0x8c,
-	0x8b, 0xd9, 0x68, 0x78, 0x86, 0x44, 0x5c, 0x09, 0x1c, 0xbe, 0x3e, 0xdb, 0x1f, 0xb1, 0x79, 0x69,
-	0x16, 0xe3, 0x23, 0xbb, 0x34, 0x7e, 0x69, 0x32, 0xe4, 0xd8, 0x56, 0x03, 0xd7, 0x1e, 0x31, 0xbb,
-	0x3c, 0xd8, 0xf7, 0xe5, 0xf7, 0xe2, 0x5f, 0xb5, 0xf7, 0xfc, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff,
-	0xc2, 0x50, 0x5b, 0x65, 0xf4, 0x05, 0x00, 0x00,
+	// 755 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xdd, 0x8e, 0xe3, 0x34,
+	0x18, 0x25, 0x6d, 0x66, 0x44, 0xbe, 0xf9, 0xd9, 0xac, 0xa1, 0x3b, 0xa1, 0x82, 0x6a, 0x14, 0x56,
+	0xa2, 0xe2, 0x22, 0x61, 0x07, 0x09, 0x04, 0x23, 0x84, 0xba, 0x49, 0x86, 0xad, 0x76, 0x26, 0xad,
+	0xdc, 0x54, 0xb0, 0xbb, 0x12, 0x91, 0x37, 0x71, 0xdb, 0x48, 0x69, 0x1c, 0x25, 0x4e, 0x61, 0x1e,
+	0x04, 0x89, 0x47, 0xe1, 0x39, 0xb8, 0xe1, 0x75, 0x90, 0x9d, 0x6e, 0x27, 0xed, 0x14, 0xcd, 0x05,
+	0x7b, 0x95, 0xfa, 0xf8, 0x7c, 0xc7, 0x9f, 0x8f, 0x4f, 0x6d, 0x38, 0xe3, 0xb4, 0xe4, 0x76, 0x9e,
+	0x92, 0xcc, 0x5e, 0x3d, 0x93, 0x5f, 0x2b, 0x2f, 0x18, 0x67, 0xe8, 0x58, 0x4c, 0x58, 0x12, 0x58,
+	0x3d, 0xeb, 0xd6, 0xb4, 0x59, 0x4a, 0x29, 0x17, 0xbc, 0xb8, 0xe2, 0x35, 0xad, 0xfb, 0x34, 0x5a,
+	0x14, 0x6c, 0x99, 0x54, 0x4b, 0x56, 0xda, 0x11, 0xcb, 0x66, 0xc9, 0xdc, 0x26, 0x79, 0x62, 0x73,
+	0x96, 0xb3, 0x94, 0xcd, 0x6f, 0x6b, 0x96, 0xf9, 0x1d, 0x9c, 0x4c, 0x72, 0x1a, 0x25, 0xb3, 0x24,
+	0x22, 0x3c, 0x61, 0x19, 0xea, 0xc3, 0x81, 0x90, 0x2e, 0x0d, 0xe5, 0xbc, 0xdd, 0x3f, 0xba, 0x40,
+	0x56, 0x73, 0x35, 0x6b, 0x9c, 0x92, 0x0c, 0xd7, 0x04, 0xd3, 0x05, 0x55, 0x0c, 0x11, 0x02, 0x35,
+	0x23, 0x4b, 0x6a, 0x28, 0xe7, 0x4a, 0x5f, 0xc3, 0xf2, 0xb7, 0x50, 0xa9, 0xb2, 0x84, 0x97, 0x46,
+	0x6b, 0x9f, 0xca, 0x34, 0x4b, 0x38, 0xae, 0x09, 0xe6, 0x5f, 0x2d, 0x50, 0xc5, 0x78, 0xaf, 0x8c,
+	0x07, 0x8f, 0x44, 0x61, 0x18, 0xb1, 0xac, 0xe4, 0x05, 0x49, 0x32, 0x6e, 0xb4, 0xce, 0x95, 0xfe,
+	0xd1, 0xc5, 0xa7, 0xdb, 0x82, 0x01, 0x2d, 0xb9, 0xb3, 0xe1, 0xe0, 0x53, 0xbe, 0x35, 0x46, 0x6f,
+	0xe0, 0x2c, 0xae, 0x84, 0xca, 0x8a, 0x16, 0x64, 0x4e, 0x9b, 0x72, 0x6d, 0x29, 0xf7, 0xf9, 0xb6,
+	0x9c, 0x3b, 0x0d, 0x9c, 0x35, 0xb7, 0xa1, 0xda, 0x89, 0x2b, 0x7e, 0x1f, 0x46, 0x3f, 0xc2, 0x49,
+	0xc4, 0x62, 0xba, 0x51, 0x37, 0x54, 0x29, 0xd9, 0xdd, 0x96, 0x74, 0x58, 0x4c, 0xdf, 0x15, 0xe3,
+	0xe3, 0xa8, 0x31, 0x42, 0xdf, 0x02, 0xd0, 0xdf, 0xa3, 0xb4, 0x2a, 0x13, 0x96, 0x95, 0xc6, 0x81,
+	0x34, 0xec, 0x6c, 0xbb, 0xda, 0x7b, 0x37, 0x8f, 0x1b, 0x54, 0x33, 0x85, 0xd3, 0xed, 0x8d, 0xa3,
+	0x9e, 0x90, 0xca, 0x0b, 0x5a, 0x0a, 0xc2, 0xda, 0xc9, 0x06, 0xd2, 0xfd, 0x1e, 0x54, 0x51, 0xb1,
+	0xd7, 0xeb, 0x1e, 0x00, 0xe1, 0xbc, 0x48, 0xde, 0x56, 0x9c, 0xd6, 0xe7, 0xa6, 0xe1, 0x06, 0x62,
+	0xfe, 0xad, 0x40, 0x67, 0xaf, 0x31, 0x0f, 0xae, 0xfa, 0xa7, 0x02, 0x6d, 0x77, 0x1a, 0xa0, 0x4b,
+	0xd0, 0x64, 0x4e, 0xc3, 0xb8, 0xe2, 0x92, 0x76, 0x74, 0xd1, 0xab, 0xf7, 0x29, 0x61, 0xe9, 0x3c,
+	0x5d, 0x25, 0x11, 0x9d, 0x66, 0x31, 0x2d, 0x44, 0xa3, 0xf8, 0x43, 0x39, 0xe3, 0x56, 0x1c, 0x05,
+	0xf0, 0x78, 0x41, 0x8a, 0xf8, 0x37, 0x52, 0xd0, 0x70, 0x46, 0x09, 0xaf, 0x0a, 0xd9, 0xa5, 0x10,
+	0xf9, 0xc2, 0xba, 0x8b, 0xba, 0x55, 0x47, 0xdd, 0x22, 0x79, 0x62, 0xbd, 0x58, 0xf3, 0xaf, 0xd6,
+	0x74, 0xac, 0x2f, 0x76, 0x10, 0xf3, 0x9f, 0x36, 0x68, 0x1b, 0x73, 0xd1, 0x57, 0xa0, 0xf2, 0xdb,
+	0xbc, 0xb6, 0xe5, 0x74, 0x37, 0x63, 0x1b, 0x9a, 0x15, 0xdc, 0xe6, 0x14, 0x4b, 0x26, 0xfa, 0x06,
+	0x0e, 0x49, 0x24, 0xfe, 0x37, 0xc6, 0x81, 0xac, 0xe9, 0xfd, 0x57, 0xcd, 0x40, 0xb2, 0xf0, 0x9a,
+	0xfd, 0xbe, 0x82, 0xfd, 0x12, 0x4e, 0xeb, 0x60, 0xef, 0xe4, 0xf9, 0xe9, 0xbd, 0x3c, 0x6f, 0x3a,
+	0x69, 0xa8, 0x9d, 0xc8, 0x40, 0x37, 0x8f, 0xb1, 0xa0, 0x33, 0x5a, 0xd0, 0x2c, 0xa2, 0xa5, 0xa1,
+	0xd6, 0x01, 0xb8, 0x43, 0xcc, 0x5f, 0x41, 0x15, 0x3b, 0x47, 0x1f, 0x83, 0x1e, 0xbc, 0x1a, 0x7b,
+	0xe1, 0xd4, 0x9f, 0x8c, 0x3d, 0x67, 0x78, 0x35, 0xf4, 0x5c, 0xfd, 0x03, 0x74, 0x02, 0xda, 0xd8,
+	0xc3, 0x37, 0x03, 0xdf, 0xf3, 0x03, 0x5d, 0x41, 0x4f, 0x00, 0x05, 0xde, 0xcd, 0x78, 0x84, 0x07,
+	0xf8, 0x55, 0xe8, 0x7b, 0x3f, 0x87, 0x81, 0x37, 0x09, 0xf4, 0x16, 0xfa, 0x04, 0x3a, 0x77, 0xf8,
+	0xd8, 0xf3, 0xdd, 0xa1, 0xff, 0x53, 0x78, 0x35, 0xfc, 0x45, 0x6f, 0x9b, 0xd7, 0x70, 0x58, 0xbb,
+	0x24, 0x8a, 0x07, 0x4e, 0x30, 0x1c, 0xf9, 0x3b, 0x6b, 0x7c, 0x04, 0x8f, 0xdc, 0x51, 0xe8, 0x8f,
+	0x82, 0x70, 0xe2, 0xbc, 0xf0, 0xdc, 0xe9, 0xb5, 0xa7, 0x2b, 0xa8, 0x03, 0x8f, 0x6f, 0x06, 0xf8,
+	0x65, 0xe8, 0x8f, 0xfc, 0xd0, 0xc1, 0xc3, 0x60, 0xe8, 0x0c, 0xae, 0xf5, 0x96, 0xf9, 0x87, 0x02,
+	0x4f, 0xf6, 0xef, 0xfb, 0xc1, 0xbc, 0xbe, 0xa9, 0xe3, 0xba, 0x37, 0x71, 0xca, 0xff, 0x4d, 0xdc,
+	0x6b, 0x38, 0x6e, 0xde, 0x05, 0x0f, 0x36, 0xf3, 0x25, 0x68, 0xcf, 0x53, 0xb2, 0xa4, 0x69, 0x52,
+	0x72, 0xf4, 0x99, 0x38, 0xa2, 0x9c, 0x85, 0x39, 0xe1, 0x8b, 0xfa, 0x86, 0xd6, 0xb0, 0x26, 0x90,
+	0xb1, 0x00, 0x9e, 0xff, 0xf0, 0xfa, 0x72, 0xce, 0x36, 0xad, 0x59, 0xac, 0x98, 0xdb, 0x8d, 0x47,
+	0x20, 0xc9, 0x66, 0x05, 0xb1, 0xe5, 0xb5, 0x6f, 0xcf, 0x99, 0xdd, 0x7c, 0x5e, 0x2e, 0xc5, 0xf7,
+	0xed, 0xa1, 0x9c, 0xfb, 0xfa, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x67, 0xa0, 0x6d, 0xe0, 0x7a,
+	0x06, 0x00, 0x00,
 }
diff --git a/src/test/plan/v1/plan.proto b/src/test/plan/v1/plan.proto
index 710de88..4a77ab8 100644
--- a/src/test/plan/v1/plan.proto
+++ b/src/test/plan/v1/plan.proto
@@ -309,6 +309,41 @@
   // Required.
   Type type = 1;
 
+  enum Action {
+    // Specify no action.
+    //
+    // The Test Lab Environment may choose any of the available actions based
+    // on internal heuristics.
+    //
+    // The default Action is a good default if none of the considersations for
+    // the specific actions below apply.
+    ACTION_UNSPECIFIED = 0;
+
+    // Do not schedule the selected Tests on specified Devices Under Test.
+    //
+    // It is especially useful to set this Action for permanent exceptions as it
+    // is definitely not useful to run the Tests at all in those cases.
+    DO_NOT_SCHEDULE = 1;
+
+    // Schedule the Test on Devices Under Test as required by the test plan
+    // unit, but mark the results for selected tests on the specified Devices
+    // Under Test as non-critical. Results marked non-critical are intended to
+    // be ignored by result consumers (e.g, presubmit system should consider the
+    // result irrelevant for validatting a Chrome OS build).
+    //
+    // This action does not guarantee that results for the selected (Test,
+    // Device Under Test) pairs are always available because that depends no how
+    // the test plan Unit is interpreted overall. When this action is set, the
+    // Test Lab Environment SHOULD NOT make any special effort to include /
+    // exclude the selected (Test, Device Under Test) pairs.
+    //
+    // It is useful to set this Action for temporary exclusions where the
+    // results generated from test execution can be uesd to root cause and fix
+    // the underlying issues.
+    MARK_NON_CRITICAL = 2;
+  }
+  Action action = 5;
+
   // The tests this exclusion applies to, within a test plan unit.
   //
   // Tests selected by this condition that are not in the test plan unit are
