.remyx/validation.yaml file or ask Validate to propose one. Review the comparison, required metrics and criteria before execution.
Start with a working example
The minimal example below uses a test or command that exists in the linked repository. Copy its files together and check the expected metric output before adapting it..remyx/validation.yaml
Full schema
The reference below defines supported questions, suites, metrics, policy, compute, repair, model selection, artifacts and defaults.Location and precedence
Rules the parser applies before anything runs:
- A file that only carries
model:is configuration, not a spec. Itsmodel:still applies to the design. - A flat spec (benchmark keys at the top level) is lifted into a one-entry
benchmarks:list. Both shapes are accepted. - Keys the proposer sometimes writes under the benchmark (
compute,metrics,policy,baseline,variants) are hoisted; top level wins on collision. - A hand-written spec is never revised by feedback on the PR. Edit the file and mention the bot with
validate. - With a committed spec, instructions in your mention are ignored and the started comment says so.
POST /api/v1.0/validate/specs/lint {yaml} runs the same parser and returns problems; the Studio spec editor uses it on every keystroke.
Key reference
Top level
question
Baselines. The baseline arm is skipped when the repo publishes its own numbers (
baseline: with a reference dict, or a results corpus the harness reads) or when a prior validation on the same base commit and the same spec wiring already measured it. Reuse is exact-match only; anything less re-runs the arm. baseline: none runs one arm with absolute bars.
benchmarks[0]
suite forms
metrics[]
Target rows gate with warn severity, guardrails with fail severity. Cost, latency and diagnostic rows are measured and shown but never gate; a threshold on them is a bound shown for context.
compute
loop
The loop can never edit the confirmed test or the criteria, and a second identical failure after a fix stops it regardless of these settings.
Examples
1. Does it work?
Tests only. The verdict is Your tests pass or do not pass.2. Compare with a guardrail
Both arms run on the base branch and the PR; the target must improve and the guardrail must not regress.3. Parity with published numbers
No baseline arm. The reference values come from the repo’s own results corpus.4. Capability with no baseline
The base branch cannot run this code, so one arm runs against absolute bars. Illustrative configuration.5. GPU notebook with a smoke path and W&B
A notebook that readsREMYX_SMOKE=1 gets a smoke stage before the full run. The W&B block pulls your connected key into the pod.
REMYX_SMOKE and, when set, runs a handful of steps and still emits every declared metric. The smoke run posts no verdict and is never charged.
Lint, push, and the PR
Edit the spec from the repo’s spec card in Studio. The editor lints against the engine’s own parser as you type and Open a PR commits the yaml to a new branch and opens a pull request as remyx-ai[bot]. It never writes to the default branch; nothing changes until that PR merges. The same path isPOST /api/v1.0/validate/specs/push {repo, yaml, project_id?}.
auto_promote never changes PR state unless you opt in. The default off reports only. on_pass marks the PR ready for review when the verdict is a pass.Next steps
Run a validation tutorial · Read the validation spec · Use the APIRelated
Validate
How a validation runs and how to read the verdict
Billing
What a run costs and when it is charged