The headline change is vary var: a new top-level command that runs check, test, mutation, and review stages under a cost budget. It accepts --dry-run --explain to inspect the policy before spending anything, plus --json and --compact output for tools and CI. Most of the rest of the work went into mutation testing. Reachability tracing picks the tests that actually cover a mutant, kill-first scheduling runs the most likely killers first, warm workers reuse JVM processes across runs, and a pluggable backend adds method-body hot-swap with a fresh-loader fallback. A parity benchmark runs every mode side by side and fails if optimized execution classifies any mutant differently from the safer baseline.
The release also adds Frugal, a native PEG parser library ported from Parsimonious. Dict generic codegen brings operator overloading and interface-typed collections. vary check gains fourteen new rules, and vary explain gives plain-language descriptions of each one.
| Change | Description |
|---|---|
vary var adaptive review loop | New top-level command that runs check, test, mutation, and review stages under a cost budget, with --dry-run --explain, --json, --compact, --since-ref, and --include-mutation. |
| Mutation engine overhaul | Reachability-traced test selection, kill-first scheduling, warm JVM workers, and a pluggable backend with method-body hot-swap and fresh-loader fallback. |
| Strict-mode parity benchmark | Reference, evidence, warm, and hot-swap modes are run side-by-side and fail if any mutant is classified differently from the safer baseline. |
| Mutation telemetry | Fine-grained execution telemetry, persisted history, survivor-tail grouping, incremental relevance inference, and validated fast mode with selection ordering in reports. |
vary benchmark | New CLI command for the strict-mode parity benchmark. |
| Cross-language mutation benchmark | Published benchmark comparing Vary's mutation cost model against established tools. |
| Frugal PEG parser library | Native Vary grammar and parser library, a Parsimonious port with full upstream parity, enum-typed grammars, match dispatch, and contract-checked combinators. |
| Test transpilation framework | Python tests transpile to Vary via Frugal for Parsimonious parity validation. |
| Dict generic codegen | Dict[K, V] lowers through generic codegen with operator overloading and interface-typed collections. |
| Codegen fixes | Enum codegen, variable shadowing in nested scopes, and module-level var initialization order. |
Fourteen new vary check rules | Four structural rules (VCL001 - VCL004), six architecture-smell rules, plus parallel collections, hand-rolled tagged unions, stale workarounds, and mixed-concern functions. |
vary explain | New CLI command that explains a rule or diagnostic in plain language with remediation guidance. |
| Cached-run startup perf | Stops SHA-256ing the compiler JAR on every cached run. |