Description
Add backend validation logic to determine which GrowthBook experiments are safe and compatible for delivery via the Test Kitchen API.
Invalid or unsupported experiments should be excluded, and structured rejection reasons should be recorded for diagnostics.
Technical Notes
Relevant files:
- validation/index.js - if we want shared helpers
- service/serviceRegistry.js
New files:
- service/growthBookExperimentValidator.js
- service/validation/experimentValidationRules.js (optional)
Our existing validation/ directory is focused on UI write-time validation. This new validator should be publish-time, not form-time.
Acceptance Criteria
- GrowthBook experiments are validated before they are eligible for API delivery.
- Invalid or unsupported GrowthBook configs are excluded from the served experiment set.
- Validation returns structured rejection reasons.
- Validation rules are separate from existing UI form validation.
- Unit tests cover missing/invalid fields, unsupported sampling shape, invalid dates, and malformed variants/groups.

