Skip to content

v0.1.1-alpha: Fail-Closed Action Gate & Seventh Not-Attempted Cause

Choose a tag to compare

@mahirhir mahirhir released this 31 Aug 21:09

Tracefold v0.1.1-alpha

Repairs landed since v0.1.0-alpha, cut at commit a77f9432dd84ca5d3a405f39cbc73a10e2961ae1. One process note first: the v0.1.0-alpha binary was uploaded to the existing release on 2026-09-01, and adding an asset to an old release notifies nobody — this tag exists partly so the repairs and the binary actually reach release watchers.

What changed since v0.1.0-alpha

  • action.yml was fail-open and is now fail-closed (issue #5). The old stub printed "Tracefold gate validation passed (stub check)" when the gx binary was not installed — a gate that could not run, passing. It now exits 1 with an error when gx is absent. The retired stub line is kept as a comment in the file, for the record. Second honest limit, stated in the file itself: gx verify-receipts is not a shipped subcommand yet (the CLI ships gx receipt verify), so even with gx installed the step currently fails — the intended fail-closed direction until the input mapping lands.
  • A seventh not-attempted cause, PromisedPostStateWasWrong, is now in the public tree. The cause enum had six reasons and the code needed a seventh: the case where a tool's promised post-state disagrees with what checking it would require. Previously this was collapsed into a neighboring cause.
  • gx limits re-synced its Lean clause (previously 117 theorems; see the number caveat below), and the stale CI claim in it was replaced with a dated statement bound to the diagnosis (req/908) rather than a present-tense sentence that goes quietly false.
  • README and docs overhaul: subcommand list corrected (13 said, 22 exist), Zenodo DOI 10.5281/zenodo.22168558 integrated, architecture and org pages restructured.

Numbers, and one mismatch named rather than smoothed over

  • This binary's gx limits clause 8 says 154 theorems, 14 of them counterexamples, over 14 files. A line-start count on this public tree at this commit returns 117 theorems (119 with leading whitespace tolerated) over 13 .lean files, 12 named counterexamples, 0 sorry, 1 axiom — agreeing with the README badge (117) and docs/LIMITS.md, not with the limits page. The 154/14/14 figures describe the development tree the sync came from; the public transplant carries 13 of its 14 Lean files. Fixing the text is a docs-sync change, not a release change, so it is disclosed here and will be corrected in the next sync.
  • Test floor as published in this tree's own README, with date and method: 2,602 probes across 454 suites plus the SDK's 36 (fresh clone, single run, 25 Aug 2026).
  • Everything this project does not guarantee: docs/LIMITS.md — the same 8 clauses gx limits prints. A copy of LIMITS.md is inside the tarball.

Pre-built binary — Linux x86_64, glibc. That is the only platform this release ships a binary for.

gx-v0.1.1-alpha-x86_64-unknown-linux-gnu.tar.gz

What this asset is, and is not:

  • Built from this release's commit a77f9432 on a fresh clone (Ubuntu 24.04, toolchain pinned by rust-toolchain.toml, rustc 1.97.1) with cargo build --release -p gx-cli. Smoke-tested before upload: gx --version prints gx 0.1.0; gx limits exits 0 and prints the 8 documented limit clauses.
  • --locked did not work, and that is a defect of this tree: the shipped Cargo.lock at this commit still carries entries for development-tree crates that are not in this repository, so cargo refuses --locked. The build regenerated the lockfile; the diff is 913 removed lines (the absent crates and their unique dependencies) and 5 reflowed dependency-list lines — no version of any retained dependency changed.
  • The binary prints gx 0.1.0, not 0.1.1. Crate versions were not bumped; this tag names a repository state, not a crates.io version.
  • Not a CI artifact. The release.yml pipeline has still never produced a run; this was built and uploaded by hand. No DSSE receipt of the build itself is attached, so issue #7's acceptance criteria remain unmet.
  • No macOS, Windows, or ARM binaries. On those platforms: cargo install --git https://github.com/TraceFold/tracefold.git gx-cli (requires a Rust toolchain).
  • Dynamically linked against glibc — it will not run on musl-only systems (Alpine).
  • Verify the download: sha256sum -c SHA256SUMS. The tarball's SHA-256 is 34f2a2615fca2f37367581cfa0d0495f6e93bae23e07511738056db59d6e0b07.