Skip to content

INVARIANT 0.3.1 — first registry release

Pre-release
Pre-release

Choose a tag to compare

@Xenox-developer Xenox-developer released this 23 Oct 23:58
· 7 commits to main since this release

INVARIANT's first registry release is available: invariant-workspace 0.3.1 on PyPI and both Rust libraries 0.1.0 on crates.io.

Use persistent Linux environments for coding agents, compare configurations with shared checks, and review the changes to keep. Embed the capability policy and broker separately in a Rust host.

Install

Python CLI, in a host virtual environment:

python3 -m pip install "invariant-workspace==0.3.1"
invariant --version

Expected: invariant 0.3.1. Supported hosts are macOS/Linux with Python 3.11+; workspaces require Docker. Native Codex uses host ChatGPT sign-in and real account allowance.

Rust libraries, with Rust 1.90+:

[dependencies]
invariant-core = { package = "invariant-workspace-core", version = "0.1.0" }
invariant-broker = "0.1.0"

The alias retains invariant_core imports; invariant_broker::core exposes the same policy types. Rust embedding needs no Docker, Python or Codex.

Publication and verification

Both Rust packages were uploaded successfully on October 26, 2026, core first and broker after the core became available in the index. The Rust source is tagged rust-v0.1.0, commit e4b571f1845607dec651d240a322af15db261138. The library READMEs document registry installation; implementation code, dependency declarations and workspace lockfile match v0.3.1. Existing public APIs and saved-state behavior are retained.

A fresh independent application with an empty Cargo home downloaded both packages from crates.io on Rust 1.90. Cargo metadata confirmed registry sources for both. Clippy with warnings denied and the locked example run passed: one loopback HTTP call, replay without another admission, scope denial, revocation, private audit and Unix socket transport/cleanup. The committed embedding example now uses registry dependencies and also passed its locked run. Downloaded crate bytes match the exact uploaded archives, registry SHA-256 values and recorded Git provenance.

The Rust release's four Linux/macOS × Rust 1.90/stable CI jobs passed. Source-export package tests, examples, README doctests and independent consumer checks passed locally on Rust 1.90. The updated root README also passed the Python sdist→wheel installation/image checks and strict Twine validation.

PyPI trusted publishing succeeded. Both Python registry hashes match the original GitHub distributions. Its README installation was rechecked in a fresh environment outside the checkout: version/help commands passed.

See the Rust publication record and attached registry-publication.json for registry verification. The original 0.3.0 full acceptance, including 271 application tests, 11 SDK tests and 15 real Codex turns, remains evidence for its own exact source. No new live-provider acceptance run is claimed for these documentation and dependency-location changes.

Release files and source tags

  • published-invariant-workspace-core-0.1.0.crate and published-invariant-broker-0.1.0.crate are the exact crates.io archives. CRATES_IO_SHA256SUMS covers them and registry-publication.json.
  • The original wheel/sdist and preparation evidence are unchanged. Their existing SHA256SUMS remains valid. The original unprefixed Rust archives predate the registry README update and remain historical packaging evidence; use the published- archives for the registry release.
  • Python source remains tagged v0.3.1; Rust registry source uses rust-v0.1.0. Neither the original Python tag nor existing registry versions were replaced.