Vary Adaptive Review

Vary Adaptive Review. User-facing validation pipeline.

Alpha. Vary is under active development and not ready for production use. Syntax, APIs, performance, and behaviour may change between releases.

Coding agent

Wednesday, 14:32. A coding agent is editing a Vary project. The ticket adds a tax region to the pricing module, and the agent has changed the rate calculator.

The agent could guess what to run next. Instead it runs vary var.

VAR reads the working tree, sees that pricing/rates.vary changed by 23 lines, and notices that the edit touches a pure function with downstream callers. First command: vary check pricing/rates.vary.

The check finds two type errors: a missing Region variant in the rounding helper. After that fix, vary var advances to vary test tests/pricing_test.vary. A half-cent rounding case fails. The agent fixes it and runs vary var again.

The loop ends when VAR has nothing left to ask for. The agent did not need to remember the toolchain, the test layout, or which directories mattered. VAR made the next validation step explicit.

vary var invoked Discovery: detect what changed Evaluate significance vs. scope budget Check: types and rules Test: targeted suites Mutation: if change warrants it Review: cross-cutting checks Terminal classification: next command or done
vary var invoked Discovery: detect what changed Evaluate significance vs. scope budget Check: types and rules Test: targeted suites Mutation: if change warrants it Review: cross-cutting checks Terminal classification: next command or done

vary var detects what changed in your working tree, evaluates what validation work is needed, and runs it in stage order: static checks first, then tests, then mutation testing if the change warrants it. Each invocation resumes where the last one left off. If nothing changed, it tells you so. If something broke, it tells you what to fix next.

The pipeline has six stages: discovery, check, test, mutation, review, and terminal classification. A deterministic decision policy gates each stage based on the significance of your changes and a configurable scope budget. Trivial changes skip deeper stages. Critical changes run everything.

vary var ships with the compiler. There is nothing to install, no plugin to configure, and no separate tool to learn.

Documentation

Overview What VAR is and why it exists, explained without jargon
How it works The six-stage pipeline: discovery, check, test, mutation, review, classification
CLI reference All flags, options, output modes, and usage examples
Session state How session persistence, fingerprinting, and drift detection work
Decision policy Cost-aware stage gating: significance, budgets, and rationale
Output modes Human, compact, and JSON output formats with schema reference