Skip to content

3.0.0 — polyvers: the fourth engine

Choose a tag to compare

@jdubray jdubray released this 18 Jul 02:56
· 102 commits to main since this release

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 classify fires the compatibility lanes the change touches (shape / vocabulary / intent / semantic / migration / composition); each lane names exactly the gates it demands.
  • polyvers check runs 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 scaffold generates migrate.cjs from 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 matrix checks 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

https://claude.ai/code/session_01NpdSdufYcKnkvzhB56NkVn