3.0.0 — polyvers: the fourth engine
New engine: polyvers — versioning for state machines with mechanical compatibility gates. Polygraph audits, polygen authors, polyrun executes, polyvers evolves: two verification gates now sit between authoring and execution — the first version of a machine takes the correctness path (Polygraph), every later version takes the compatibility path (polyvers) — and execution feeds both gates back.
Given two versions of a machine's artifact family and fleet snapshots:
polyvers classifyfires the compatibility lanes the change touches (shape / vocabulary / intent / semantic / migration / composition); each lane names exactly the gates it demands.polyvers checkruns them: setState round-trip; cross-version stimuli replay (everything the old version can still deliver — timers, completions, old-vocabulary callers — must land as accepted or a named observable reject, kernel-parity classification); migration validation (migrate scaffoldgeneratesmigrate.cjsfrom the shape diff; the gate checks purity, acceptance, projection equality, state and transition invariants, then swaps the corpus so every downstream gate runs over post-migration states); and the headline — an exhaustive model check seeded from live fleet snapshots: can any state the fleet actually holds be driven to an invariant violation under the new rules? The landmine hunt, mechanized — with a fixture proving only the seeded check catches it.polyvers matrixchecks parent×child rollout-window pairings over the spawn/completion protocol and its delivery.
Deterministic, byte-identical compat-reports a PR can be gated on; refusals instead of vacuous passes (empty corpus, missing invariants, BOUNDED exploration without --allow-bounded); no API key anywhere. Plugin surfaces: /polygraph:polyvers command, skill, and subagent.
Worked example: examples/polyvers-oms versions the OMS order machine — a shape+rules+intent change, the scaffolded migration, and the committed compat-report and matrix report. Docs: the four-engine architecture with an updated interactive diagram set, the SDLC's Phase 7 mechanized, and a literature-context section in the versioning essay (docs/VERSIONING.md).
Every milestone (M0–M3) shipped with an adversarial multi-agent review; all confirmed findings fixed. 62 polyvers tests, plus the full pipeline/polyrun suites, all green.
Breaking notes: scripts/check.mjs gained initialStates, and its result shape changed (statesExplored counts discovered states only; seededStates reported separately). The polyvers artifact-dir convention reserves migrate.cjs/effects.cjs as sibling artifacts a machine module may not be named after.
🤖 Generated with Claude Code