test/plan: Delete confusing documentation

Detailed CEL support stanzas were unreadable and not necessary
consistent with how the scheduler implementation will be rolled out.

Bug: None
Change-Id: I88bb35ce961a58778118fe69b4d5bfb0cb06480a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/proto/+/2236937
Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>
Tested-by: Prathmesh Prabhu <pprabhu@chromium.org>
Reviewed-by: Alex Zamorzaev <zamorzaev@chromium.org>
Auto-Submit: Prathmesh Prabhu <pprabhu@chromium.org>
diff --git a/go/test/plan/v1/plan.pb.go b/go/test/plan/v1/plan.pb.go
index b5e39fb..3a78e97 100644
--- a/go/test/plan/v1/plan.pb.go
+++ b/go/test/plan/v1/plan.pb.go
@@ -229,6 +229,9 @@
 }
 
 // Specifies a particular set of tests to be run to meet specific conditions.
+//
+// TODO(pprabhu): Add a full example showcasing test_constraints,
+// dut_coverage_consraints and exclusions together.
 type Unit struct {
 	// A globally unique test plan unit name.
 	//
@@ -368,10 +371,6 @@
 	//     && "crosbolt_perbuild" in test.attributes
 	// - network Tauto tests, selected by name
 	//     test.name.startsWith("network_")
-	//
-	// ## CEL support
-	//
-	// All standard CEL syntax, macros and functions MUST be supported.
 	Expression           string   `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -484,9 +483,6 @@
 	//   - Additionally available with the short-hand `fleet.*`
 	//
 	// The full CEL spec can be found at https://github.com/google/cel-spec.
-	// This API only supports a sub-set of the CEL features as described here.
-	// Test Platform MUST validate the expression and reject use of unsupported
-	// features.
 	//
 	// TODO(crbug.com/1051689) Add reference to the metadata validator package.
 	//
@@ -494,17 +490,13 @@
 	//
 	// Typical instructive examples of expressions are:
 	//
-	// - Constraints: All pre-F20 plans only specify constraints on what devices
-	//   may be used, e.g.:
-	//    - Run each test on one DUT with model 'nautilus'.
-	//        TODO(pprabhu, shapiroc): Need a way to specify model for migration.
-	//        duts.all(dut, dut.id.model_id.value = 'nautilus') && size(duts) == 1
+	// - Constraints:
 	//    - Run each test on one DUT with a stylus.
 	//        (duts.all(dut, dut.hardware_features.stylus
 	//                       == api.HardwareFeatures.Present.PRESENT))
 	//         && size(duts) == 1)
-	//  - Fanout (not yet supported): In addition to constraints, the
-	//    plan may want to ensure coverage across some device features.
+	//  - Fanout: In addition to constraints, the plan may want to ensure coverage
+	//    across some device features.
 	//    TODO(pprabhu) This is an instructive example. We can't say what arch
 	//    yet.
 	//    - Run each test on one x86 and ARM DUT with a specific camera.
@@ -520,70 +512,6 @@
 	//      devices, even though it passed on other devices in the set such that
 	//      the expression was satsifed by the passing subset. Selection of a
 	//      minimal set of devices to run the plan is best effort.
-	//
-	// Currently, only single-DUT constraints are supported by the Test Platform.
-	// i.e., `expression` MUST be of the form:
-	//   duts.all(DUT_SELECTOR) && size(duts) == 1
-	// where DUT_SELECTOR is an expression that does not refer to `duts`.
-	// This restriction will be lifted as this API matures.
-	//
-	// ## CEL support
-	//
-	// The full CEL spec can be found at https://github.com/google/cel-spec.
-	//
-	// Current support for `expression` evaluation is very restricted due to
-	// limitations in the scheduling infrastructure used by Test Platform.
-	//
-	// As this API matures, features will be added to the scheduling
-	// infrastructure of Test Platform and restrictions here will be lifted based
-	// on requirements collected from test authors. See milestones in
-	// go/cros-f20-plan for expected feature iterations. Test Lab Environments
-	// SHOULD validate the expression and reject use of unsupported features.
-	//
-	// TODO(crbug.com/1051689) Add reference to the metadata validator package.
-	//
-	// ### Syntax
-	//
-	// See full syntax definition at
-	// https://github.com/google/cel-spec/blob/master/doc/langdef.md#syntax
-	//
-	// CEL standard syntax allows expressions that evaluate to errors (e.g.,
-	// syntax allows negation of lists, which has no semantics in CEL).
-	// Thus, this spec does not attempt to restrict the syntax, but specifies what
-	// operations are unsupported to aid metadata producers. Ultimately, the
-	// reference metadata validator is the authority on what expressions are
-	// allowed.
-	//
-	// Unsupported standard CEL semantics:
-	//   - Binary arithmetic operations
-	//     e.g.: +, *, /, % ...
-	//   - Relational Operators beyond (in)equality are not supported.
-	//     e.g.: (>, <, >=, <= ...)
-	//   - Logical OR in expressions is not supported.
-	//     e.g.: (a || b), !(a && b) ...
-	//
-	// ### Macros
-	//
-	// See full macro definition at
-	// https://github.com/google/cel-spec/blob/master/doc/langdef.md#macros
-	//
-	// Supported macros: has(), e.all()
-	// Unsupported macros: e.exists(), e.exists_one(), e.map(), e.filter()
-	//
-	// ### Standard functions
-	//
-	// See full list of standard definitions at
-	// https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions
-	//
-	// Most standard functions are not supported.
-	//
-	// - Supported operators: !_, -_, _!=_, _&&_, _=_, _[_]
-	//   - All other operators are not supported.
-	// - All other standard functions are not supported. In particular:
-	//   - size() is not supported.
-	//   - string functions like endsWith() and contains() are not supported.
-	//   - type conversions like int() and string() are not supported.
-	//   - reflection with type(), null_type() and dyn() is not supported.
 	Expression           string   `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -789,6 +717,10 @@
 	// - Types: Protobuf messages from `chromiumos.config.api.*`
 	//   - Additionally available with the short-hand `api.*`
 	//
+	// The full CEL spec can be found at https://github.com/google/cel-spec.
+	//
+	// TODO(crbug.com/1051689) Add reference to the metadata validator package.
+	//
 	// ## Examples
 	//
 	// Typical examples of expressions are:
@@ -796,64 +728,6 @@
 	// - Must not run on a device with a given screen size:
 	//     dut.hardware_features.screen.milliinch.value == 14000
 	// - TODO: Add model / build target example.
-	//
-	// ## CEL support
-	//
-	// The full CEL spec can be found at https://github.com/google/cel-spec.
-	//
-	// Current support for `expression` evaluation is very restricted due to
-	// limitations in the scheduling infrastructure used by Test Platform.
-	//
-	// As this API matures, features will be added to the scheduling
-	// infrastructure of Test Platform and restrictions here will be lifted based
-	// on requirements collected from test authors. See milestones in
-	// go/cros-f20-plan for expected feature iterations. Test Lab Environments
-	// SHOULD validate the expression and reject use of unsupported features.
-	//
-	// TODO(crbug.com/1051689) Add reference to the metadata validator package.
-	//
-	// ### Syntax
-	//
-	// See full syntax definition at
-	// https://github.com/google/cel-spec/blob/master/doc/langdef.md#syntax
-	//
-	// CEL standard syntax allows expressions that evaluate to errors (e.g.,
-	// syntax allows negation of lists, which has no semantics in CEL).
-	// Thus, this spec does not attempt to restrict the syntax, but specifies what
-	// operations are unsupported to aid metadata producers. Ultimately, the
-	// reference metadata validator is the authority on what expressions are
-	// allowed.
-	//
-	// Unsupported standard CEL semantics:
-	//   - Binary arithmetic operations
-	//     e.g.: +, *, /, % ...
-	//   - Relational Operators beyond (in)equality are not supported.
-	//     e.g.: (>, <, >=, <= ...)
-	//   - Logical OR in expressions is not supported.
-	//     e.g.: (a || b), !(a && b) ...
-	//
-	// ### Macros
-	//
-	// See full macro definition at
-	// https://github.com/google/cel-spec/blob/master/doc/langdef.md#macros
-	//
-	// Supported macros: has(), e.all()
-	// Unsupported macros: e.exists(), e.exists_one(), e.map(), e.filter()
-	//
-	// ### Standard functions
-	//
-	// See full list of standard definitions at
-	// https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions
-	//
-	// Most standard functions are not supported.
-	//
-	// - Supported operators: !_, -_, _!=_, _&&_, _=_, _[_]
-	//   - All other operators are not supported.
-	// - All other standard functions are not supported. In particular:
-	//   - size() is not supported.
-	//   - string functions like endsWith() and contains() are not supported.
-	//   - type conversions like int() and string() are not supported.
-	//   - reflection with type(), null_type() and dyn() is not supported.
 	Expression           string   `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
@@ -967,10 +841,6 @@
 	//       ].exists(s, p.startsWith(s)))
 	// - Do not include test plan unit if there are changes to private overlays
 	//     blamelist.repo_paths.all(p, !p.contains("private-overlays"))
-	//
-	// ## CEL support
-	//
-	// All standard CEL syntax, macros and functions MUST be supported.
 	Expression           string   `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"`
 	XXX_NoUnkeyedLiteral struct{} `json:"-"`
 	XXX_unrecognized     []byte   `json:"-"`
diff --git a/src/test/plan/v1/plan.proto b/src/test/plan/v1/plan.proto
index 4a77ab8..6594155 100644
--- a/src/test/plan/v1/plan.proto
+++ b/src/test/plan/v1/plan.proto
@@ -42,6 +42,9 @@
 }
 
 // Specifies a particular set of tests to be run to meet specific conditions.
+//
+// TODO(pprabhu): Add a full example showcasing test_constraints,
+// dut_coverage_consraints and exclusions together.
 message Unit {
   // A globally unique test plan unit name.
   //
@@ -122,10 +125,6 @@
   //     && "crosbolt_perbuild" in test.attributes
   // - network Tauto tests, selected by name
   //     test.name.startsWith("network_")
-  //
-  // ## CEL support
-  //
-  // All standard CEL syntax, macros and functions MUST be supported.
   string expression = 1;
 
   message Test {
@@ -162,9 +161,6 @@
   //   - Additionally available with the short-hand `fleet.*`
   //
   // The full CEL spec can be found at https://github.com/google/cel-spec.
-  // This API only supports a sub-set of the CEL features as described here.
-  // Test Platform MUST validate the expression and reject use of unsupported
-  // features.
   //
   // TODO(crbug.com/1051689) Add reference to the metadata validator package.
   //
@@ -172,17 +168,13 @@
   //
   // Typical instructive examples of expressions are:
   //
-  // - Constraints: All pre-F20 plans only specify constraints on what devices
-  //   may be used, e.g.:
-  //    - Run each test on one DUT with model 'nautilus'.
-  //        TODO(pprabhu, shapiroc): Need a way to specify model for migration.
-  //        duts.all(dut, dut.id.model_id.value = 'nautilus') && size(duts) == 1
+  // - Constraints:
   //    - Run each test on one DUT with a stylus.
   //        (duts.all(dut, dut.hardware_features.stylus
   //                       == api.HardwareFeatures.Present.PRESENT))
   //         && size(duts) == 1)
-  //  - Fanout (not yet supported): In addition to constraints, the
-  //    plan may want to ensure coverage across some device features.
+  //  - Fanout: In addition to constraints, the plan may want to ensure coverage
+  //    across some device features.
   //    TODO(pprabhu) This is an instructive example. We can't say what arch
   //    yet.
   //    - Run each test on one x86 and ARM DUT with a specific camera.
@@ -198,70 +190,6 @@
   //      devices, even though it passed on other devices in the set such that
   //      the expression was satsifed by the passing subset. Selection of a
   //      minimal set of devices to run the plan is best effort.
-  //
-  // Currently, only single-DUT constraints are supported by the Test Platform.
-  // i.e., `expression` MUST be of the form:
-  //   duts.all(DUT_SELECTOR) && size(duts) == 1
-  // where DUT_SELECTOR is an expression that does not refer to `duts`.
-  // This restriction will be lifted as this API matures.
-  //
-  // ## CEL support
-  //
-  // The full CEL spec can be found at https://github.com/google/cel-spec.
-  //
-  // Current support for `expression` evaluation is very restricted due to
-  // limitations in the scheduling infrastructure used by Test Platform.
-  //
-  // As this API matures, features will be added to the scheduling
-  // infrastructure of Test Platform and restrictions here will be lifted based
-  // on requirements collected from test authors. See milestones in
-  // go/cros-f20-plan for expected feature iterations. Test Lab Environments
-  // SHOULD validate the expression and reject use of unsupported features.
-  //
-  // TODO(crbug.com/1051689) Add reference to the metadata validator package.
-  //
-  // ### Syntax
-  //
-  // See full syntax definition at
-  // https://github.com/google/cel-spec/blob/master/doc/langdef.md#syntax
-  //
-  // CEL standard syntax allows expressions that evaluate to errors (e.g.,
-  // syntax allows negation of lists, which has no semantics in CEL).
-  // Thus, this spec does not attempt to restrict the syntax, but specifies what
-  // operations are unsupported to aid metadata producers. Ultimately, the
-  // reference metadata validator is the authority on what expressions are
-  // allowed.
-  //
-  // Unsupported standard CEL semantics:
-  //   - Binary arithmetic operations
-  //     e.g.: +, *, /, % ...
-  //   - Relational Operators beyond (in)equality are not supported.
-  //     e.g.: (>, <, >=, <= ...)
-  //   - Logical OR in expressions is not supported.
-  //     e.g.: (a || b), !(a && b) ...
-  //
-  // ### Macros
-  //
-  // See full macro definition at
-  // https://github.com/google/cel-spec/blob/master/doc/langdef.md#macros
-  //
-  // Supported macros: has(), e.all()
-  // Unsupported macros: e.exists(), e.exists_one(), e.map(), e.filter()
-  //
-  // ### Standard functions
-  //
-  // See full list of standard definitions at
-  // https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions
-  //
-  // Most standard functions are not supported.
-  //
-  // - Supported operators: !_, -_, _!=_, _&&_, _=_, _[_]
-  //   - All other operators are not supported.
-  // - All other standard functions are not supported. In particular:
-  //   - size() is not supported.
-  //   - string functions like endsWith() and contains() are not supported.
-  //   - type conversions like int() and string() are not supported.
-  //   - reflection with type(), null_type() and dyn() is not supported.
   string expression = 1;
 
   // The evaluation context for `expression` MUST include the Chrome OS
@@ -389,6 +317,10 @@
   // - Types: Protobuf messages from `chromiumos.config.api.*`
   //   - Additionally available with the short-hand `api.*`
   //
+  // The full CEL spec can be found at https://github.com/google/cel-spec.
+  //
+  // TODO(crbug.com/1051689) Add reference to the metadata validator package.
+  //
   // ## Examples
   //
   // Typical examples of expressions are:
@@ -396,64 +328,6 @@
   // - Must not run on a device with a given screen size:
   //     dut.hardware_features.screen.milliinch.value == 14000
   // - TODO: Add model / build target example.
-  //
-  // ## CEL support
-  //
-  // The full CEL spec can be found at https://github.com/google/cel-spec.
-  //
-  // Current support for `expression` evaluation is very restricted due to
-  // limitations in the scheduling infrastructure used by Test Platform.
-  //
-  // As this API matures, features will be added to the scheduling
-  // infrastructure of Test Platform and restrictions here will be lifted based
-  // on requirements collected from test authors. See milestones in
-  // go/cros-f20-plan for expected feature iterations. Test Lab Environments
-  // SHOULD validate the expression and reject use of unsupported features.
-  //
-  // TODO(crbug.com/1051689) Add reference to the metadata validator package.
-  //
-  // ### Syntax
-  //
-  // See full syntax definition at
-  // https://github.com/google/cel-spec/blob/master/doc/langdef.md#syntax
-  //
-  // CEL standard syntax allows expressions that evaluate to errors (e.g.,
-  // syntax allows negation of lists, which has no semantics in CEL).
-  // Thus, this spec does not attempt to restrict the syntax, but specifies what
-  // operations are unsupported to aid metadata producers. Ultimately, the
-  // reference metadata validator is the authority on what expressions are
-  // allowed.
-  //
-  // Unsupported standard CEL semantics:
-  //   - Binary arithmetic operations
-  //     e.g.: +, *, /, % ...
-  //   - Relational Operators beyond (in)equality are not supported.
-  //     e.g.: (>, <, >=, <= ...)
-  //   - Logical OR in expressions is not supported.
-  //     e.g.: (a || b), !(a && b) ...
-  //
-  // ### Macros
-  //
-  // See full macro definition at
-  // https://github.com/google/cel-spec/blob/master/doc/langdef.md#macros
-  //
-  // Supported macros: has(), e.all()
-  // Unsupported macros: e.exists(), e.exists_one(), e.map(), e.filter()
-  //
-  // ### Standard functions
-  //
-  // See full list of standard definitions at
-  // https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions
-  //
-  // Most standard functions are not supported.
-  //
-  // - Supported operators: !_, -_, _!=_, _&&_, _=_, _[_]
-  //   - All other operators are not supported.
-  // - All other standard functions are not supported. In particular:
-  //   - size() is not supported.
-  //   - string functions like endsWith() and contains() are not supported.
-  //   - type conversions like int() and string() are not supported.
-  //   - reflection with type(), null_type() and dyn() is not supported.
   string expression = 1;
 
   // The evaluation context for `expression` MUST include the Chrome OS
@@ -498,10 +372,6 @@
   //       ].exists(s, p.startsWith(s)))
   // - Do not include test plan unit if there are changes to private overlays
   //     blamelist.repo_paths.all(p, !p.contains("private-overlays"))
-  //
-  // ## CEL support
-  //
-  // All standard CEL syntax, macros and functions MUST be supported.
   string expression = 1;
 
   message Blamelist {