Skip to content

ConstraintLoop v0.3.0

Choose a tag to compare

@mauhpr mauhpr released this 18 Aug 22:17
df3bd6d

Highlights

  • Native monotonic ratchet constraints compare numeric metrics against a committed baseline and retain the SHA-256 digest of their evidence source.
  • constraintloop baseline update initializes and strengthens baselines; weakening requires an explicit --allow-regression override.
  • JSON artifact constraints can expose selected report fields as structured evidence in run and status output.
  • constraintloop explain reports phase eligibility, watch matches, changed paths, cache state, and dependency chains without executing gates.
  • doctor --deep now identifies missing worktree environment files, virtual environments, container runtimes, Docker daemons, and ratchet baselines.
  • A published JSON Schema provides editor validation and autocomplete for constraintloop.yml.
  • Final summaries distinguish genuine constraint failures from environmental and startup failures.

Compatibility and migration

Existing version-1 contracts remain valid; every new feature is opt-in. To adopt a ratchet, add a kind: ratchet constraint, run constraintloop baseline update <id>, and commit the generated constraintloop-baselines.json with the contract.

Security

This release does not address a reported vulnerability. Ratchet baseline updates are strengthening-only by default so routine updates cannot silently weaken migration policy.

Validation

The release passed the complete GitHub CI matrix. All 191 tests pass, total statement coverage is 92.34%, branch coverage is 85.27%, and Codecov reports that all modified and coverable lines are covered. Wheel and source distributions also passed clean-environment install and smoke checks.