release: v4.0.0-alpha.2; release.yml keeps the image's Isabelle #130

Merged
rajames merged 5 commits from StarForth-v4.0.0 into master 2026-11-07 19:32:31 +00:00
Owner

What and why

v4.0.0-alpha.2, the first published alpha. v4.0.0-alpha.1 (233025da) was accepted and tagged, but its release run (196) was killed in the proofs step: release.yml ran a full make init for the documents' packages, which also fetched Isabelle into the workspace and pointed isabelle at it -- an Isabelle without the runner image's prebuilt HOL-Library -- so the proofs built HOL-Library from scratch (exit 137). Nothing was published.

Ruled (Captain Bob, 2026-11-07): the alpha.1 tag stays where it is; this PR

  • runs make ... init INIT_PROOFS=0 in release.yml, as nightly-docs.yml does, so the image's Isabelle (with HOL-Library) is the one used;
  • sets LITHOS_VERSION to 4.0.0-alpha.2; after it merges, master is tagged v4.0.0-alpha.2.

Records: FABRIC-3 XLVII.5, CHANGELOG. Part of #17.

Acceptance

The Acceptance check runs on this pull request. By hand, on this tree (04006bff):

  • Logs committed in logs/: amd64 20261107-184040, aarch64 -184241, riscv64 -184616 (POST 538/538, dict_hash=0xfec8c47cfc6f437f on all three), the stick loaded high -184753, test-32 (39 programs, 0 failures), the proofs -185450
  • Hardware this was tried on, if any: none

The record

  • docs/fabric/FABRIC-3.md XLVII.5
  • CHANGELOG.md
  • Nothing in this PR is a fix nobody asked for (.claude/CLAUDE.md, Hard Rules)

🤖 Generated with Claude Code

https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2

## What and why **v4.0.0-alpha.2, the first published alpha.** `v4.0.0-alpha.1` (`233025da`) was accepted and tagged, but its release run (196) was killed in the proofs step: `release.yml` ran a full `make init` for the documents' packages, which also fetched Isabelle into the workspace and pointed `isabelle` at it -- an Isabelle without the runner image's prebuilt HOL-Library -- so the proofs built HOL-Library from scratch (exit 137). Nothing was published. Ruled (Captain Bob, 2026-11-07): the alpha.1 tag stays where it is; this PR - runs `make ... init INIT_PROOFS=0` in `release.yml`, as `nightly-docs.yml` does, so the image's Isabelle (with HOL-Library) is the one used; - sets `LITHOS_VERSION` to `4.0.0-alpha.2`; after it merges, master is tagged `v4.0.0-alpha.2`. Records: FABRIC-3 XLVII.5, CHANGELOG. Part of #17. ## Acceptance The **Acceptance** check runs on this pull request. By hand, on this tree (`04006bff`): - [x] Logs committed in `logs/`: amd64 `20261107-184040`, aarch64 `-184241`, riscv64 `-184616` (POST 538/538, `dict_hash=0xfec8c47cfc6f437f` on all three), the stick loaded high `-184753`, `test-32` (39 programs, 0 failures), the proofs `-185450` - [ ] Hardware this was tried on, if any: none ## The record - [x] `docs/fabric/FABRIC-3.md` XLVII.5 - [x] `CHANGELOG.md` - [x] Nothing in this PR is a fix nobody asked for (`.claude/CLAUDE.md`, Hard Rules) 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
rajames added 2 commits 2026-11-07 18:55:43 +00:00
v4.0.0-alpha.1's release run (196) was killed in the proofs: release.yml's
full `make init` fetched Isabelle into the workspace and pointed isabelle
at it, without the image's prebuilt HOL-Library, so the proofs built it
from scratch. Nothing was published. Ruled: the tag stays; release.yml runs
`init INIT_PROOFS=0`; LITHOS_VERSION 4.0.0-alpha.2, the first published
alpha. FABRIC-3.md XLVII.5, CHANGELOG.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
The protocol on 04006bff (LithosAnanke v4.0.0-alpha.2), in this session,
one QEMU at a time in the foreground: amd64 logs/20261107-184040, aarch64
-184241, riscv64 -184616 (POST 538/538, dict_hash=0xfec8c47cfc6f437f on all
three), the stick loaded high -184753, test-32 (39 programs, 0 failures),
the Isabelle/HOL proofs (logs/20261107-185450/).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
rajames added 1 commit 2026-11-07 18:56:19 +00:00
The commits before this one carry [skip ci], which Gitea also applies to
the pull request's checks. No change to the tree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
rajames closed this pull request 2026-11-07 18:57:16 +00:00
rajames reopened this pull request 2026-11-07 18:57:16 +00:00
rajames added 1 commit 2026-11-07 18:59:36 +00:00
release v4.0.0-alpha.2: start #130's acceptance check
Acceptance / Acceptance (pull_request) Failing after 8m7s
cabe974872
The commit before this one quoted the skip marker in its message, so Gitea
skipped its checks too. No change to the tree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
rajames added 1 commit 2026-11-07 19:15:06 +00:00
logs: three riscv64 boots of v4.0.0-alpha.2, looking for run 197's failure
Build / Image MILKV (push) Canceled after 0s
Acceptance / Acceptance (pull_request) Successful in 16m36s
Build / Image RASPI (push) Canceled after 0s
Build / v4 tests (32- and 64-bit cells) (push) Canceled after 0s
Build / Image PC (push) Canceled after 0s
37f62d688b
Acceptance run 197 (#130) failed one riscv64 check: no 'Boot disk: not a
StarshipOS stick' line, with POST, the identity and the prompt all passing.
Booted three more times here on the same tree: each printed the line and
passed (4 of 4 with logs/20261107-184616). The Zuse stick has no ESP
(--esp-mib 0), so the firmware cannot have booted from it; the serial
capture losing or garbling the line is what is left to check, against run
197's own log.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
rajames merged commit 2d43db252a into master 2026-11-07 19:32:31 +00:00
Sign in to join this conversation.