Skip to content

ConstraintLoop v0.5.2

Latest

Choose a tag to compare

@mauhpr mauhpr released this 08 Sep 22:26
9ab17d0

ConstraintLoop 0.5.2 fixes recovery from cached environment errors and preserves evidence across retries.

  • Environment recovery: unwaived environment errors are rerun automatically, so restoring a missing executable can recover without changing watched files.
  • Refresh saved evidence: constraintloop run --refresh reruns applicable checks and replaces cached evidence. --no-cache and CI still bypass both cache reads and writes.
  • Complete retry history: command, metric, and ratchet results retain each attempt's redacted output tail, exit code, execution error, start time, and duration. Inspect it in JSON or constraintloop debug ID. Timeouts and output overflow retain bounded partial diagnostics.
  • Explicit retry policies: examples avoid retrying assertion failures. The default retry.exit_codes: [1] is retained for compatibility; configure retryable infrastructure failures explicitly.

Upgrade the runtime used by your hooks, then run constraintloop run --refresh when fresh persisted evidence is needed. Existing cache entries remain readable; earlier attempt history cannot be reconstructed. No contract-schema changes are required.

uv tool install --upgrade --reinstall constraintloop==0.5.2
constraintloop --version

Validation includes the full deterministic test suite, coverage floors, Python 3.11–3.14 on Ubuntu/macOS, SDK compatibility, and clean wheel/sdist installation smoke tests. Distributions are built and published by GitHub Actions using PyPI Trusted Publishing with attestations.

Full changes: v0.5.1...v0.5.2