Skip to content

ci: move the oracle default and elixir-compile to OTP 28.5.0.8 - #1037

Merged
hyperpolymath merged 2 commits into
mainfrom
claude/gifted-thompson-vsrzhw-otp
Nov 10, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
claude/gifted-thompson-vsrzhw-otp

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What

  • rsr-oracle.yml: the otp-version input default changes from 28.3 to 28.5.0.8.
  • ci.yml: both "identical to the dogfood gate" setup steps move to 28.5.0.8. The Mix cache key and its restore prefix now include the OTP version.
  • docs/consumers/rsr-oracle.adoc, docs/consumers/standards-governance.adoc and CHANGELOG.adoc are updated to match.

Why

The matrix in the closed diagnostic PR #1032 found:

  • Hypatia be98f74 segfaults every time on OTP 28.1, 28.2 and 28.3: 5 of 5 runs per version exited with rc 139, in sweep_off_heap under beam_jit_bs_init_bits.
  • The same tree is clean on 27.3, 28.0 and 28.5.0.8.
  • The likely cause is OTP-19951 (Fix repeated binary segment bug erlang/otp#10588), which was fixed in 28.4. That is inferred, not proven.

Current main runs clean on 28.3 too. But 28.3's compiler can miscompile code, so keeping the oracle's default toolchain on it leaves every consumer that relies on the default exposed.

The cache-key change matters on its own. The old key ignored the OTP version, so a _build compiled under 28.3 would have been restored and reused under 28.5.0.8.

Companion PRs

Checks

  • Both workflows parse with Ruby YAML and yq.
  • No action SHA changed.

Generated by Claude Code

Hypatia be98f74 segfaults deterministically when compiled and run on
OTP 28.1, 28.2 or 28.3 (5/5 rc 139 per version; #1032). It is clean on
OTP 27.3, 28.0 and 28.5.0.8. The likely cause is the compiler bug fixed
in OTP 28.4 (OTP-19951, erlang/otp#10588).

rsr-oracle.yml now defaults to 28.5.0.8, and the elixir-compile jobs in
ci.yml match it. Those jobs exist to compile the tree under the gate's
exact toolchain. The Mix cache key and restore prefix now carry the OTP
version, so a _build compiled under one release is never restored under
another. The consumer docs and the changelog say the same.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E294yTkKk127qgKEXFFDBE
@coderabbitai

coderabbitai Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Explain Change →

Caution

Review failed

The pull request is closed.

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-10T01:53:24.244395Z c3a6b39 New commits
🔒 Security Review ❌ Failed 2026-11-10T01:50:30.935877Z
We couldn’t complete this review. Comment @codex security review to try again.
c3a6b39 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins.

@hyperpolymath
hyperpolymath enabled auto-merge (squash) November 9, 2026 22:57
hyperpolymath added a commit to metadatastician/standards that referenced this pull request Nov 9, 2026
## What

- `governance-reusable.yml`, `hypatia-scan-reusable.yml` and the Hypatia
projection job in `self-test.yml` move from OTP `28.3` to `28.5.0.8`.
- The two `hypatia-scanner-v4-…` cache keys now include the OTP version.

## Why

hyperpolymath/hypatia#1032 ran a matrix of OTP versions:

- Hypatia `be98f74` segfaults on every run (rc 139, 5 of 5) when it is
compiled and run on **OTP 28.1, 28.2 or 28.3**.
- It is clean on 27.3, 28.0 and 28.5.0.8.
- The likely cause is OTP-19951 (erlang/otp#10588), fixed in 28.4. That
is inferred, not proven.

These reusables build whatever Hypatia SHA the caller names, and every
consumer runs them. Leaving them on a release whose compiler is known to
be faulty puts the whole estate at risk.

The cache keys matter on their own. A cached `~/hypatia` holds an
escript of beams compiled under the old release. The SHA-only key would
have restored that escript under the new runtime, and the guard steps
would then have skipped the rebuild.

## Companion PRs

- hyperpolymath/hypatia#1037 moves the oracle default and Hypatia's own
CI.
- hyperpolymath/rsr-template-repo#311 moves the spine's oracle and
scanner.

## Checks

- All three workflows parse.
- No action SHA changed, so the locks are untouched.
- The local runs of `check-workflow-*` and `check-lock-sync` give the
same results here as on unmodified main. They fail there too, because
this container's `yq` is the Python one. CI is the real check.

---
_Generated by [Claude
Code](https://claude.ai/code/session_01E294yTkKk127qgKEXFFDBE)_

Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins.

@hyperpolymath
hyperpolymath enabled auto-merge (squash) November 10, 2026 01:50
@hyperpolymath
hyperpolymath merged commit b01aba6 into main Nov 10, 2026
78 of 79 checks passed
@hyperpolymath
hyperpolymath deleted the claude/gifted-thompson-vsrzhw-otp branch November 10, 2026 01:50
@sonarqubecloud

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c3a6b39540

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread CHANGELOG.adoc
constructive reals, with no Mathlib, which PROOF-POLICY forbids.
`docs/proofs/needs.adoc` now points at the ledger instead of keeping a
list of its own.
==== The oracle and CI toolchain move to OTP 28.5.0.8 (2026-11-09)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve the existing unreleased changelog entries

Add this OTP entry without replacing the two newer entries already present in the parent. This change deletes the release notes for “Lean engineering proofs move to Idris2” and “Proof claims follow the machine proof ledger,” even though those changes remain in the tree, leaving the unreleased changelog incomplete.

Useful? React with 👍 / 👎.


* Runner: `ubuntu-latest` only. The reusables install their own
toolchain (Elixir 1.19.4 / OTP 28.3 via `erlef/setup-beam`) — no
toolchain (Elixir 1.19.4 / OTP 28.5.0.8 via `erlef/setup-beam`) — no

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep the prerequisite aligned with the immutable standards pin

Retain OTP 28.3 here until the documented standards revision is updated, or update all five caller pins and their lock entries together. The examples and actual callers in this repository still pin 7641c7fdb01420696b5420ab85d88f599f32f609, which this section identifies as the exact immutable contract; a future standards PR cannot change that commit to install OTP 28.5.0.8, so the published integration's runtime prerequisite is now inaccurate.

Useful? React with 👍 / 👎.

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.

3 participants