Skip to content

Recognise a release's node as the reference; install programs as new files - #12

Merged
hotpixelgroup merged 1 commit into
masterfrom
adopt-release-node
Oct 12, 2026
Merged

hotpixelgroup merged 1 commit into
masterfrom
adopt-release-node

Conversation

@hotpixelgroup

Copy link
Copy Markdown
Owner

Why

After #11 merged, the release workflow ran for the first time and published v31.99-7. All three platforms passed. I then used the published files on an Apple silicon Mac the way a new install uses them, before publishing the site. That found two faults that no test had caught, because both need a real release to show. v31.99-7 is marked a pre-release, so it is not offered as the latest, and the site has not been updated.

What was wrong and what changes

Found Change
The console did not recognise the release's ready-made node as its unmodified reference. A release build names itself by its tag (v31.99-7); the console only understood a commit suffix. With no reference, every ready-made experiment asked for a compile first, which defeats "no compiler needed" The console resolves either form, and a ready-made node is installed with a note of the commit it was built from. Both are believed only while the build folder has never been shared with a build of changed source; compiling there removes the note
Installing a ready-made node over an earlier one overwrote the program in place. macOS on Apple silicon silently kills a program changed that way after it has been run, so an update could leave a node that would not start Programs are put in place as new files, in the console and in the installer
The installer said the first experiment compiles the node It now says the ready-made experiments need no compiling

How it was checked

  • New unit tests for both faults; all 125 tests pass on both Pythons, including the real-node and sandbox tests.
  • The fixed console and the fixed installer step, run against the published v31.99-7 files: the checksum and commit matched, the node was adopted as the reference, and the doubled-reward, halved-reward and earlier-halving nodes gave "loosened", "tightened" and "tightened". The rule-breaking-miner scene refused all thirty blocks.

Not checked

A complete install from nothing on a clean machine, and the ready-made files on Linux. The Mac app that the release built has not been opened.

Cost and effort

Cost: TBD (no rate card applies; the work is already done). Effort: S, on a scale where sizes are relative to each other and not to a calendar.

🤖 Generated with Claude Code

…files

Trying the published v31.99-7 files the way a new Mac install uses them
found two faults that need a real release to show.

- The console did not recognise the release's ready-made node as its
  unmodified reference. A release build names itself by its tag
  ("v31.99-7"), and the console only understood a commit suffix. With no
  reference, every ready-made experiment asked for a compile first. The
  console now resolves either, and a ready-made node is installed with a
  note of the commit it was built from. Both are believed only while the
  build folder has never been shared with a build of changed source, and
  compiling there removes the note.
- Installing a ready-made node over an earlier one overwrote the program
  in place. macOS on Apple silicon silently kills a program changed that
  way after it has been run. Programs are now put in place as new files,
  in the console and in the installer.

The installer no longer says the first experiment compiles the node: the
ready-made experiments do not.

Verified against the published release files: checksum and commit match,
the node is adopted as the reference, and the three changed nodes give
their documented outcomes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hotpixelgroup
hotpixelgroup merged commit c0b7c1a into master Oct 12, 2026
2 checks passed
@hotpixelgroup
hotpixelgroup deleted the adopt-release-node branch October 12, 2026 21:18
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.

1 participant