← ClaudeAtlas

invariant-formalizerlisted

Turns natural-language invariants from business-rules.md / the PRD into machine-checkable predicates (Zod refinements, runtime guards, Z3 SMT constraints, property-based generators). Emits invariant-matrix.md + invariants.ts. Gate contract — zero unformalized P0 invariants. PIPELINE-3 step 2.
mytechsonamy/VibeFlow · ★ 0 · AI & Automation · score 75
Install: claude install-skill mytechsonamy/VibeFlow
# Invariant Formalizer An L1 Truth-Validation skill. Its job is to eliminate the layer of "we all understand what the rule means" between the PRD and the test suite. Every invariant becomes a predicate that code can check and a proof obligation that `release-decision-engine` can count — prose-only invariants are not acceptable for P0. ## When You're Invoked - During PIPELINE-3 step 2, in parallel with risk-weighted coverage passes. - On demand as `/vibeflow:invariant-formalizer [path]`. - Re-runs automatically when `business-rule-validator` emits a new `business-rules.md` or `test-data-manager` needs an updated `invariant-matrix.md`. The three must move together. ## Input Contract | Input | Required | Notes | |-------|----------|-------| | `business-rules.md` | yes (preferred) | Output of `business-rule-validator`. Rules with a measurable condition become invariant candidates. | | PRD | fallback | `.vibeflow/artifacts/prd.md`. Used only when `business-rules.md` is absent — surfaces a WARNING because the extraction step is duplicated work in that case. | | Domain config | yes | `vibeflow.config.json` → `domain`. Drives the domain-specific pass in the taxonomy. | | Existing `invariants.ts` | scanned | Any file with the `@generated-by vibeflow:invariant-formalizer` banner is rewritten in place; hand-written invariants outside the marked region are preserved. | | Target format | optional | `zod` (default), `runtime`, `smt`, `pbt`. Multiple formats can be requested in o