Skip to content

Pin the installer to the 0.3.1 runtime - #11

Merged
Deep-Sixed merged 1 commit into
mainfrom
claude/relaxed-brown-dzjej0
Sep 25, 2026
Merged

Deep-Sixed merged 1 commit into
mainfrom
claude/relaxed-brown-dzjej0

Conversation

@Deep-Sixed

@Deep-Sixed Deep-Sixed commented Sep 25, 2026 •

Copy link
Copy Markdown
Owner

Work package: 0.3.1 patch release, step 2 of 2. Branched from main at 819b7c2, the #10 merge that released 0.3.1. install-ladder.sh and check-install.sh pinned c86bf47, the 0.3.0 runtime, so a scripted install still lacked #9's fixes. This moves the pin now that the release commit is on main. The installer refuses any pin that isn't.

file change
scripts/install-ladder.sh PIN c86bf47 → 819b7c2; CHECKER_SHA d7b92251… → 3a460e1c…
scripts/check-install.sh PIN c86bf47 → 819b7c2
tests/test_install_scripts.py PIN moved. test_the_pin_installs_the_hardened_release now excludes both earlier pins, requires the pinned runtime to report VERSION = "0.3.1" under evidence-v3.2, and requires it to carry _excluded, #9's evidence-directory fix.
CHANGELOG.md The 0.3.1 entry's installation paragraph records this move (#11), as the 0.3.0 entry does for #7.
  • INV_SHA is unchanged, on purpose: the invariant block in INSTALL.md hashes to 282f2117… at both c86bf47 and 819b7c2.
  • CHECKER_SHA: equals the sha256 of the committed check-install.sh, which changes whenever its PIN line does.

Verification

On 8daaec8, against a baseline captured on main at 819b7c2. The baseline gates were green: lint clean, 420 passed / 1 skipped.

  • Local: Ruff clean; 420 passed, 1 skipped; drift: false.
  • Negative controls, each in an isolated copy with bytecode off:
    • with the old pin restored everywhere, test_the_pin_installs_the_hardened_release fails;
    • with the stale CHECKER_SHA, the installer refuses (6+ install tests fail);
    • with check-install.sh alone left on the old pin, the conforming-install tests fail.
  • Judgment rungs attested: task, diff, self-review, requirements, architecture, fresh-review.
  • CI: push run 36143655417 (attempt 1, head 8daaec8): lint, tests-py311, tests-py314 PASS, imported with import-ci. The pull_request run 36143681138 is also green.
  • Compose (state sha256:63616894…8bea0e7): 0 blocked required gates, 0 stale, STATE MATCH TRUE, CLEAN CLIMB TRUE, READY FOR HUMAN GATE TRUE.

Once this merges: publish the v0.3.1 release in the browser. Under Target → Recent commits, choose this PR's merge commit.

Found during review, not changed here: INSTALL.md still says "There are no release tags yet". That has been stale since v0.3.0. Whether to recommend pinning a tag should wait until tag protection exists on this repo, so I've left it out of this PR.

🤖 Generated with Claude Code

https://claude.ai/code/session_016m6di8xFVdwwq949mJx9U1


Generated by Claude Code

install-ladder.sh and check-install.sh pinned c86bf47, the 0.3.0 runtime, so
a scripted install still lacked the input and state-boundary fixes that 0.3.1
releases (#9, #10). Move both to 819b7c2, the #10 merge that released 0.3.1,
now that it is on main.

The invariant block in INSTALL.md is byte-identical at the new pin, so INV_SHA
is unchanged. CHECKER_SHA moves with check-install.sh, as it must. The pin test
now requires the pinned runtime to report 0.3.1 and to carry the
evidence-directory exclusion, and the 0.3.1 CHANGELOG entry records the move.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016m6di8xFVdwwq949mJx9U1
@Deep-Sixed
Deep-Sixed marked this pull request as ready for review September 25, 2026 23:02
@Deep-Sixed
Deep-Sixed merged commit 84418d8 into main Sep 25, 2026
2 checks passed
@Deep-Sixed
Deep-Sixed deleted the claude/relaxed-brown-dzjej0 branch September 25, 2026 23:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants