Skip to content

fix(ci): let setup-julia pick the runner arch (macOS legs) - #45

Merged
hyperpolymath merged 2 commits into
mainfrom
fix/macos-arm64-arch
Oct 8, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
fix/macos-arm64-arch

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

macos-latest is now an arm64 (Apple Silicon) image. The matrix forced arch: x64, so setup-julia refused before any test ran ("x64 arch has been requested on a macOS runner that has an arm64 architecture"). Dropping the arch axis lets setup-julia use the native default on every OS: aarch64 on macOS, x64 on ubuntu/windows.

Claude-Session: https://claude.ai/code/session_012kgrMQRhSmZMBbF9Ui1zBw

Summary

Closes #

Type of change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (would change existing behaviour)
  • 🕳️ Soundness fix (fixes a checker/proof false-negative)
  • 📖 Documentation
  • 🧹 Refactor / tech debt (behaviour-preserving)
  • ⚡ Performance
  • 🔧 Build / CI / tooling

How has this been verified?

Checklist

  • My commits are signed (git commit -S).
  • I ran the project's own checks/tests locally and they pass.
  • New files carry the correct SPDX-License-Identifier (code/config MPL-2.0,
    prose CC-BY-SA-4.0); I did not relicense existing files.
  • Docs are updated, and no public claim now overstates what the code does.
  • I have not introduced a soundness hole (or I have flagged where I might have).

Notes for reviewers

hyperpolymath and others added 2 commits October 8, 2026 10:26
macos-latest is now an arm64 (Apple Silicon) image. The matrix forced
arch: x64, so setup-julia refused before any test ran ("x64 arch has
been requested on a macOS runner that has an arm64 architecture").
Dropping the arch axis lets setup-julia use the native default on every
OS: aarch64 on macOS, x64 on ubuntu/windows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012kgrMQRhSmZMBbF9Ui1zBw
@hyperpolymath
hyperpolymath enabled auto-merge (squash) October 8, 2026 17:14
@coderabbitai

coderabbitai Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: fbf0213b-dfe3-4b7d-b8f6-6827ec84cf3a
📥 Commits

Reviewing files that changed from the base of the PR and between 5de1e11 and 3dafb41.

📒 Files selected for processing (1)
  • .github/workflows/CI.yml
 _________________________________________________________________
< You are pretty high on the list of people I want to help today. >
 -----------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
  • Autopilot · 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

Comment @coderabbitai help to get the list of available commands.

@hyperpolymath
hyperpolymath disabled auto-merge October 8, 2026 17:14
@hyperpolymath
hyperpolymath merged commit 93305d8 into main Oct 8, 2026
16 of 26 checks passed
@hyperpolymath
hyperpolymath deleted the fix/macos-arm64-arch branch October 8, 2026 17:15
hyperpolymath added a commit that referenced this pull request Oct 10, 2026
… fix the CI-hygiene wave (#58–#62) (#63)

## Summary

Executes the ultraplan in `ULTRAPLAN-ISSUE-43.adoc` (first commit):
records the #43 determinations, fixes the five fixable recon findings,
and retires two mis-created probe issues. Closes #43.

## #43 triage record (issue writes are blocked for this integration —
recorded here)

The Arena integration carries `issues: read`: it can create issues but
not comment, edit bodies, tick checkboxes, add labels or close. The #43
determinations therefore live here; the issue closes via the `Closes`
keyword below.

**Root cause of all 9 red checks:** every `test (*)` job died at *setup*
on
`julia-actions/julia-runtest@79a7e100883947123f8263c5f06e6c2fee60dd0c` —
a SHA that exists in no upstream ref (30-hex prefix collision with real
v1.9.3 `79a7e100…c0ea3eb972f`). No test ever ran; all 9 were
pre-existing on `main` @ `553d49e` (2026-09-20), i.e. the
TOOLING-VERSION-INTEGRITY "never ran" failure class, not 9 independent
test failures.

**Determinations — all 9 `fixed`** (18/18 checkboxes would be ticked
were the API able):

| Check in #43 | Determination | Evidence |
|---|---|---|
| `test (1.10, {ubuntu,macos,windows}-latest, x64)` | **fixed** →
successors `test (1.10, <os>)` green on `main` | PR #48 (`487c7ab4`)
re-pinned `julia-runtest@d0c4f093…` = v1.10.0, verified via `git
ls-remote`; PR #49 (`14da03a7`) fixed the 12 suite failures at root
cause; CI run `37921988068` on `main` @ `126ced1` — 9/9 success |
| `test (1.11, {ubuntu,macos,windows}-latest, x64)` | **fixed** → `test
(1.11, <os>)` | same |
| `test (nightly, {ubuntu,macos,windows}-latest, x64)` | **fixed** →
`test (nightly, <os>)` | same |

"Green on `main`, fix in the repo — not `continue-on-error`, not a
demotion to a warning": satisfied — `CI.yml` has no soft gates and no
matrix retirement (the only soft gate in the repo is `boj-build.yml`'s,
explained in this PR).

**One rename, checked for phantoms (CICD-SIGNAL-DISCIPLINE):** PR #45
dropped the matrix arch dimension, so the contexts lost their `, x64`
suffix. Rulesets require exactly one context (`scan / gitleaks`);
nothing required the old names → no phantom requirements were created.

**#47 (closed) verified AC-by-AC** against the merged state:
`get_statistics` ✔, `evaluate` `&&`/`||` ✔, Z3 unsat core ✔ (locally, Z3
4.13.3), `declare_const` decision ✔ (tests use
`declare`/`build_script`), `Pkg.test()` green on the matrix ✔. The one
caveat — the Z3 path never ran in CI — is fixed by this PR (#62).

## Changes in this PR

- `docs` — `ULTRAPLAN-ISSUE-43.adoc`: the plan + execution record
(841076c)
- `fix(ci)` — install Z3 on the ubuntu CI legs so solver-backed tests
run instead of skipping (cda05cb, closes #62)
- `fix(ci)` — `boj-build.yml`: `by-design:` rationale for the
`continue-on-error` (TOOLING-VERSION-INTEGRITY R4) + fix the mangled
trigger payload (ce3f3db, closes #59)
- `fix(docs)` — retire the stale `docs/make.jl` (points at `.md` files
deleted by the md→adoc migration; nothing runs Documenter) (8fbc840,
closes #60)
- `docs` — fill `{{PROJECT_UNIQUE_STRENGTH}}` (derived from the README,
not invented) and retire `REQUIRES_INITIALISATION.adoc` per its own
agent rule (a905071, closes #61)
- `chore(ci)` — adopt `.github/workflows/actions.lock` (estate canon
R2), generated from the merged tree (14 workflows, 31 refs, job-level
reusable refs included) and verified both directions against
`check-lock-sync.sh` semantics (fb1d6d1, closes #58)

Also closes #54 (a permission probe) and #55 (empty-bodied mis-create;
superseded by #56).

## PR #52 (deps) handled first

All 6 new pins verified resolvable upstream via `git ls-remote` / commit
lookups — including the annotated-tag peels (`github/codeql-action`
v4.38.2 → commit `2892aa5e…`; `smtp-notify-action` v0.5.0 →
`c1c9fa07…`). Merged as squash before this branch, so the lock matches
the merged tree. (Cosmetic leftover: the codeql lines' `# v3` comment
tags are stale — dependabot does not update comments.)

## What this PR does NOT do

- **#56 (mirror) and #57 (Pages)** stay open: both need a fix/retire
ruling (secrets/vars and publishing intent are owner-level). No mute was
applied to either red.
- **Umbrella #53 stays open** until #56/#57 are determined (its
AC2–AC4).
- Estate-side GATE-tier / derived-required-context rollout is
cross-cutting (standards #994 class); required contexts are derived by
the estate applier, never typed here. Could not be commented onto
`standards` #994 (same integration permission shape) — owner please
relay §1.3/§4.8 of the ultraplan.
- Spotted but out of scope: `src/abi/Types.idr` still carries scaffold
guidance text ("Replace {{TYPES}}…") — ABI/FFI-seam residue outside the
top-up ledger's token census; `docs/make.jl`-adjacent TEST-NEEDS.adoc
claims "0 E2E tests" though `test/e2e_test.jl` exists.

## Verification

- `check-lock-sync.sh` semantics (both directions): `OK: 14 workflows,
31 lock entries`
- Payload quoting of the boj trigger is now valid JSON: `{"repo": …,
"branch": …, "engine": "casket"}`
- Token census: no `{{…}}` substitution token remains in tracked content
(only the validator's `reject-if-contains` literals and the ABI
template's guidance text)
- CI matrix on this PR must be green **with Z3 installed** (that is
#62's acceptance criterion — the solver-gated tests now execute)

---------

Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
hyperpolymath added a commit that referenced this pull request Oct 10, 2026
…rdening, checklist + ultraplan corrections) (#64)

## Summary

Follow-up to #63 (merged by the owner while this branch was mid-review):
the three CodeRabbit review fixes that landed on the branch *after* the
merge snapshot (`5c0c375`). PR #63's `CHANGES_REQUESTED` review is
addressed here; nothing else changes.

The methodology.a2ml wording fix is **not** included — the owner already
applied their preferred wording in `5c0c375`, which is in `main` via the
#63 squash.

## Changes

1. **`.github/workflows/boj-build.yml`** — CodeRabbit's Major/CWE-78
finding: `github.repository` / `github.ref_name` were interpolated into
the `run:` script. They now pass through `env:` and the JSON payload is
built with `jq --arg`, so no expression expansion reaches the shell or
the payload string. (The `by-design:` R4 rationale from #59 is
preserved.)
2. **`SMTLIB-AXIOM-PARITY-CHECKLIST.adoc`** — the INTEND "docs build
verification (`docs/make.jl`)" entry pointed at the Documenter script
retired in #60. It now names the supported `casket-pages.yml` site
build, and records that Z3-on-ubuntu landed with #62 (CVC5 remains
optional).
3. **`ULTRAPLAN-ISSUE-43.adoc`** — restore the issue/PR cross-references
whose link targets were lost (#43, #47, standards#994, PRs
#45/#48/#49/#50/#51), and record the post-change verification the review
asked for: CI run `38044880793` with `Install Z3 (ubuntu)` green (incl.
the `z3 --version` sentinel) and `Run tests` green on all 9 matrix legs
— the solver-gated tests executed with Z3 on PATH rather than skipping.

## Review threads addressed

- `boj-build.yml:19` (Major) — serialise refs via env + jq ✅
- `methodology.a2ml:58` (Minor) — no-solver wording ✅ (owner's `5c0c375`
supersedes; `SMTContext` raises `ErrorException`, `:unknown` is a
check-sat status)
- `ULTRAPLAN-ISSUE-43.adoc:9` (Minor) — dangling `]` references ✅
- `ULTRAPLAN-ISSUE-43.adoc:372` (Minor) — stale `docs/make.jl` reference
in the parity checklist ✅
- `ULTRAPLAN-ISSUE-43.adoc:374` (Minor) — post-change green CI run with
Z3 ✅

## Verification

- No `{{…}}` template tokens, no conflict markers, `check-lock-sync`
still in sync (no `uses:` changes in this PR).
- `boj-build.yml` payload construction now has no string-interpolated
expressions in the shell.

Refs #53 (umbrella). No issue-closing keywords here — #43 closed with
#63; the remaining wave items (#56 mirror, #57 Pages) await the owner's
ruling.

---------

Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
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