Repository navigation
Looptimal v2.1.0 — the pinned quickstart now actually works
The v2.0.0 tag predated both pyproject.toml and the hardened verification core below —
README's own uvx ...@v2.0.0 quickstart never resolved end-to-end from that tag. This release
closes that gap and ships everything built since v2.0.0.
Added
- Cryptographic sealed-contract hardening —
canonical_contract_hash()gains an optional
HMAC-SHA256 keyed mode (--key-file/LOOPTIMAL_FRAMER_KEY) that folds a manifest of every
file undersealed/into the digest, closing the gap where oracle scripts had zero
cryptographic binding to the contract hash. Unkeyed calls remain byte-identical to prior
behavior. - Checker-only ("holdout") visibility tier, hard/soft gate labeling, structured
{score, reason}critic verdicts, a judge-calibration recipe, and two new oracle
patterns (cross-provider judge quorum; sealed tool-trajectory match). - Zero-clone quickstart —
pyproject.toml+looptimal_cli/souvx --from git+...runs
the tooling without a clone. looptimal-persona-promote.py,loopprint-ls.py --global,
scripts/check-no-network-imports.py, a real demo asset, a 20-item roadmap, a
verification-receipt design spec (references/receipt.md), and an upfront single-pass /
recurring-loop / blueprint mode fork inSKILL.md.
Changed
- README: real badges, a 60-second "prove it" block, three sourced reward-hacking numbers, a
"Where this fits" section (vs. ralph loops / native Claude Code loops / spec-kit / Kiro), and
an accurate description of the keyed-seal security model. - The bug-report template now asks for both doctors' output.
Fixed
- Four Windows CI portability bugs found via the real 3-OS matrix.
- Every
@v2.0.0-pinned command in README now resolves against a tag that contains what it
claims to run.
Security
- The cryptographic framer hash-pin named as "planned" in
2.0.0's disclosed residual is now
shipped, opt-in, and adversarially verified. - A mandatory pre-tag adversarial review found and closed a real bypass before it ever
shipped: the outer verifier's subprocess-environment sanitizer forwarded the framer's signing
key into every oracle's environment — since an oracle runs maker-controlled code by
definition, a maker could read the key back out and forge a keyedcontract_hashin the
documented, CI-recommended key-delivery mode. Closed, with an exploit-tested--selftestcase
proving it. Three related hardening fixes landed alongside it in the same pass (constant-time
hash comparison, fail-closed on an empty explicit key, sealed-oracle check tightened to the
executed program). No real secret was ever exposed — every gap was caught before the
CI-integration feature that would have exercised it shipped.
Full detail: CHANGELOG.md.