# Functions
AutoPrefixAndValidateSplit automatically prefixes a split with app name according to flags and optionally validates it for presence in the schema.
ExperimentSuffix validates that an experiment name param ends in _experiment.
FeatureGate validates that a feature_gate name param is valid with no opinion on app prefix.
FeatureGateSuffix validates that an experiment name param ends in _enabled.
NonPrefixedExperiment validates that an experiment name param is valid with no app prefix.
NonPrefixedFeatureGate validates that a feature_gate name param is valid.
NonPrefixedSplit validates that a split name param is valid with no app prefix.
OptionalAppVersion validates that app version, if non-null, matches required format.
OptionalSnakeCaseParam validates that a param is snake case alphanumeric with potential dots if present.
Presence validates that a param is present.
SnakeCaseParam validates that a param is snake case alphanumeric.
Split validates that a split name param is valid with no opinion on app prefix.
SplitExistsInSchema validates that a split exists in the schema.
ValidateOwnerName ensures that if a testtrack/owners.yml file is present, the owner matches the list of owners in that file.
VariantExistsInSchema validates that a variant exists for a split in the schema.
# Constants
DefaultOwnershipFilePath defines the default path to a YML file listing the possible split owners.