Skip to content

Releases

Looptimal v2.1.0

Choose a tag to compare

@Rennlabs Rennlabs released this 02 Jul 03:31

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 under sealed/ 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/ so uvx --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 in SKILL.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 keyed contract_hash in the
    documented, CI-recommended key-delivery mode. Closed, with an exploit-tested --selftest case
    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.

Looptimal v2.0.0 — from objective to verified outcome

Choose a tag to compare

@Rennlabs Rennlabs released this 30 Jun 22:33
ef329d9

Looptimal v2.0.0 — from objective to verified outcome

Versions 1.x shipped under the name LoopPrint. As of 2.0.0 the project is Looptimal: the
loop-design wizard is now one mode inside a larger objective→outcome orchestrator. The repository
Renn-Labs/LoopPrint → Renn-Labs/Looptimal was renamed (old links redirect). Install slug
loopprint@renn-labs → looptimal@renn-labs.

Changed

  • Rebranded LoopPrint → Looptimal and absorbed the previously-private orchestrator into this repo
    as a single product. The loop-design wizard is preserved unchanged and is now Looptimal's
    Stage-2 "Design-loop" mode (also a direct design / blueprint fast-path).

Added

  • Outcome orchestration pipeline — 0 Frame (hash-pinned sealed acceptance suite) → 1 Analyze →
    2 Design-loop → 3 Plan → 4 Simulate (roll forward + pre-mortem + harden) → [human GO] →
    5 Execute (domain-expert sub-agents, maker ≠ checker) → 6 Verify-outcome (a separate checker
    re-runs the sealed suite against live state, ignoring self-reported GREEN) → 7 Persist.
  • looptimal-lint.py — plan-time gate for the outcome contract (sealed inputs, outcome-not-symptom
    criteria, maker ≠ checker at the outcome altitude).
  • verify-outcome.py — Stage-6 sealed-suite re-runner with tamper→RED selftests, oracle-integrity
    checks, and interpreter env-injection stripping.
  • Agent Foundry (references/agent-foundry.md, personas/) — two-tier dynamic domain-expert resolution.
  • Worked example (examples/issue-to-pr-bugfix/) that round-trips Frame → … → Verify-outcome.

Security

  • Honest, disclosed residual in the sealing model (SECURITY.md): anti-gaming rests on the checker
    controlling --workdir and the framer owning sealed/ via OS permissions; a cryptographic framer
    hash-pin is planned for a later release. Not marketed as fully tamper-proof.

Full changelog: CHANGELOG.md · scope ratified in release-boundary.md.

v1.1.0

Choose a tag to compare

@Rennlabs Rennlabs released this 28 Jun 00:31
0677fc9

Added

  • dual_registration doctor check (loopprint-doctor.py) — warns when LoopPrint is registered twice on Claude Code: an enabled loopprint@<marketplace> plugin and the ~/.claude/skills/loopprint folder-skill symlink, which makes the skill appear twice (loopprint:loopprint + bare loopprint). Emits keep-one guidance and self-clears once you pick one mechanism.

Full changelog: v1.0.0...v1.1.0

v1.0.0 — first public release

Choose a tag to compare

@Rennlabs Rennlabs released this 27 Jun 11:14

LoopPrint v1.0.0 — turn a vague goal into a runnable, self-verifying loop blueprint.

LoopPrint makes the four atoms concrete — Goal · durable State · external Verifier · Stop — and generates a self-linted artifact package. Maker ≠ checker throughout, including on its own output. It runs a Tier-0 decision gate first, so sometimes the honest answer is don't build a loop.

Install (Claude Code, recommended)

/plugin marketplace add Renn-Labs/LoopPrint
/plugin install loopprint@renn-labs

Other harnesses (OpenCode, Pi, OpenClaw, Hermes, Codex, grok) and folder-skill install: see the README.

Highlights

  • Loop-design wizard with a decision gate, pattern library, and generated artifacts
  • Rot radar (loopprint-ls.py) — HEALTHY / RUNNING / PENDING / ROTTEN / STALE, with a CI exit code
  • Engine-agnostic runner emitting per-iteration metrics + cost-per-accepted-change reporting
  • Cross-platform (Linux / macOS / Windows CI) · stdlib-only core · no network

Full notes: CHANGELOG.