Skip to content

Commit dbd8711

Browse files
Merge branch 'main' into dependabot/cargo/nom-8.0.0
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
2 parents afa92a8 + bbdaa21 commit dbd8711

45 files changed

Lines changed: 2410 additions & 516 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/chapel-ci.yml

Lines changed: 40 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,17 @@ concurrency:
2727

2828
permissions: read-all
2929

30+
# Pinned Chapel deb (Ubuntu 22.04 amd64; installs cleanly on the
31+
# ubuntu24 runner). SHA-256 verified against the GitHub Releases asset;
32+
# mismatch fails the install step. Bumped 2.3.0 -> 2.8.0 (issue #181)
33+
# to track sibling estate repos proven (#141) and panic-attack (#85),
34+
# both of which validated this URL+SHA combo against the same
35+
# `ubuntu-latest` runner image we use here.
36+
env:
37+
CHAPEL_VERSION: '2.8.0'
38+
CHAPEL_DEB_URL: 'https://github.com/chapel-lang/chapel/releases/download/2.8.0/chapel-2.8.0-1.ubuntu22.amd64.deb'
39+
CHAPEL_DEB_SHA256: '944a454b8a791f344312fcd261b562871159b74f5ef41d81e11833eb21d85f60'
40+
3041
jobs:
3142
# Job 1: Compile Chapel .chpl files into a static library.
3243
#
@@ -35,30 +46,35 @@ jobs:
3546
# compiling, the workflow fails.
3647
#
3748
# Why --static and not --dynamic:
38-
# The official apt deb (chapel-2.3.0-1.ubuntu24.amd64.deb) ships only
39-
# the CHPL_LIB_PIC=none runtime variant. Building a shared library
40-
# requires CHPL_LIB_PIC=pic runtime objects which are not in the
41-
# package; the linker rejects the non-PIC `libchpl.a` with
49+
# The official apt deb (chapel-${CHAPEL_VERSION}-1.ubuntu22.amd64.deb)
50+
# ships only the CHPL_LIB_PIC=none runtime variant. Building a shared
51+
# library requires CHPL_LIB_PIC=pic runtime objects which are not in
52+
# the package; the linker rejects the non-PIC `libchpl.a` with
4253
# `relocation R_X86_64_TPOFF32 ... can not be used when making a
4354
# shared object`. Until the CI image ships a PIC-enabled runtime
44-
# (or we adopt a from-source Chapel build), the metalayer is
55+
# (or we adopt a from-source Chapel build via the
56+
# `chapel-pic-from-source` Justfile recipe), the metalayer is
4557
# distributed as `libechidna_chapel.a` and the Zig FFI links it
4658
# statically.
4759
chapel-build:
4860
name: Compile Chapel Metalayer
49-
runs-on: ubuntu-latest
61+
runs-on: ubuntu-22.04
5062
steps:
5163
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
5264

53-
- name: Install Chapel
65+
- name: Install Chapel ${{ env.CHAPEL_VERSION }} (SHA-pinned .deb)
5466
run: |
55-
# Install Chapel from official apt repository.
56-
# SHA256 of the deb is pinned for supply-chain integrity; bump
57-
# alongside the version tag when upgrading.
58-
curl -fsSL --max-time 300 \
59-
https://github.com/chapel-lang/chapel/releases/download/2.3.0/chapel-2.3.0-1.ubuntu24.amd64.deb \
60-
-o /tmp/chapel.deb
61-
sudo dpkg -i /tmp/chapel.deb || sudo apt-get install -f -y
67+
set -euo pipefail
68+
# libunwind-dev is a runtime link-time dep for chpl-built binaries
69+
# on the ubuntu .deb path; sibling estate repo panic-attack (#85)
70+
# established this preinstall as the working pattern, reused by
71+
# proven (#141). Without it the chapel-build smoke link fails with
72+
# `error while loading shared libraries: libunwind.so.8`.
73+
sudo apt-get update -qq
74+
sudo apt-get install -y libunwind-dev
75+
curl -fsSL --max-time 300 --retry 3 -o /tmp/chapel.deb "$CHAPEL_DEB_URL"
76+
echo "$CHAPEL_DEB_SHA256 /tmp/chapel.deb" | sha256sum --check
77+
sudo apt-get install -y /tmp/chapel.deb
6278
chpl --version
6379
6480
- name: Compile Chapel proof search library (static)
@@ -93,7 +109,7 @@ jobs:
93109
# `src/zig_ffi/build.zig`.
94110
zig-ffi:
95111
name: Build & Test Zig FFI Bridge
96-
runs-on: ubuntu-latest
112+
runs-on: ubuntu-22.04
97113
steps:
98114
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
99115

@@ -121,7 +137,7 @@ jobs:
121137
# Re-enable strict gating once #133's Chapel + FFI rehabilitation lands.
122138
rust-chapel-feature:
123139
name: Rust Build with Chapel Feature
124-
runs-on: ubuntu-latest
140+
runs-on: ubuntu-22.04
125141
needs: zig-ffi
126142
continue-on-error: true
127143
steps:
@@ -159,18 +175,20 @@ jobs:
159175
# and flip this job to strict.
160176
rust-chapel-real:
161177
name: Rust Build — Real Chapel Library (allow-fail, L2.3+ gate)
162-
runs-on: ubuntu-latest
178+
runs-on: ubuntu-22.04
163179
needs: [chapel-build, zig-ffi]
164180
continue-on-error: true
165181
steps:
166182
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
167183

168-
- name: Install Chapel
184+
- name: Install Chapel ${{ env.CHAPEL_VERSION }} (SHA-pinned .deb)
169185
run: |
170-
curl -fsSL --max-time 300 \
171-
https://github.com/chapel-lang/chapel/releases/download/2.3.0/chapel-2.3.0-1.ubuntu24.amd64.deb \
172-
-o /tmp/chapel.deb
173-
sudo dpkg -i /tmp/chapel.deb || sudo apt-get install -f -y
186+
set -euo pipefail
187+
sudo apt-get update -qq
188+
sudo apt-get install -y libunwind-dev
189+
curl -fsSL --max-time 300 --retry 3 -o /tmp/chapel.deb "$CHAPEL_DEB_URL"
190+
echo "$CHAPEL_DEB_SHA256 /tmp/chapel.deb" | sha256sum --check
191+
sudo apt-get install -y /tmp/chapel.deb
174192
chpl --version
175193
176194
- name: Install Zig

.github/workflows/codeql.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
pull_request:
88
branches: [main, master]
99
schedule:
10-
- cron: '0 6 * * 1'
10+
- cron: '0 6 1 * *' # monthly 1st 06:00 UTC
1111

1212
# Estate guardrail: cancel superseded runs so re-pushes / rebased PR
1313
# updates do not pile up queued runs against the shared account-wide
@@ -23,6 +23,7 @@ permissions:
2323
jobs:
2424
analyze:
2525
runs-on: ubuntu-latest
26+
timeout-minutes: 60
2627
permissions:
2728
contents: read
2829
security-events: write

.github/workflows/hypatia-scan.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,6 @@ permissions:
2525

2626
jobs:
2727
hypatia:
28-
uses: hyperpolymath/standards/.github/workflows/hypatia-scan-reusable.yml@4f07382468f045cdaf75e0bbdb1886a0579d83e3 # main 2026-05-30 (erlef/setup-beam v1.24.0 consolidation #289)
28+
uses: hyperpolymath/standards/.github/workflows/hypatia-scan-reusable.yml@6cd3772824e59c8c9affeab66061e25383544242
29+
timeout-minutes: 10
2930
secrets: inherit

.machine_readable/6a2/STATE.a2ml

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,46 @@ type = "state-file"
88

99
[metadata]
1010
project = "echidna"
11-
version = "2.1.1"
12-
last-updated = "2026-05-19"
11+
version = "2.3.0"
12+
last-updated = "2026-06-02"
1313
status = "active"
14+
release-tag = "v2.3.0"
1415

1516
[project-context]
1617
name = "echidna"
1718
completion-percentage = 100
18-
phase = "v1.6.0 Released — Phase 0 of comprehensive backend expansion landed"
19+
phase = "v2.3.0 Released — saturation+typing (#198) + GNN training wiring (#207) + dispatcher all-17-adapters (PR pending SPDX hook) + comprehensive contractile family (#214) + first owner-authorised GNN training run completed (best MRR 0.92)"
20+
21+
[session-2026-06-02]
22+
description = "Major wave: 20+ PRs across echidna+echidnabot+gitbot-fleet+hyperpolymath"
23+
notable-pr-merges = [
24+
"#176 panic-attack Critical bound (load_octads_jsonl)",
25+
"#178 echo-types audit cross-doc",
26+
"#179 6 SHA-pin bumps + proven manifest fix",
27+
"#182 doc maxout (+wiki sync)",
28+
"#183 Chapel 2.3 → 2.8 bump (ubuntu-22.04 .deb pin)",
29+
"#184 v2.3.0 release reconcile (#173 Option B)",
30+
"#185 mktemp swap for scripts/",
31+
"#186 FFI audit §§9-11 (FLINT + Zig bridges + Zig overlay)",
32+
"#188 GraphQL +3 ops (verifyProof/suggestTactics/proverStatus) closes #180",
33+
"#189 nix purge per estate policy",
34+
"#198 saturation+typing (corpus 4→17, 42-discipline embedding)",
35+
"#199 a2ml-validate to 6bff6ec (s-expression form)",
36+
"#206 wave3 CI/CD closeout (C001-C005)",
37+
"#207 GNN training wiring (CorpusLoader)",
38+
"#209 Palimpsest framework reference restored",
39+
"#210 JSON dep fix (corpus_loader.jl)",
40+
"#211 EchidnaML CUDA.version() fix + training doc skeleton",
41+
"#212 training run 2026-06-02 results (MRR 0.92, 17 epochs coq, 16 lean)",
42+
"#214 contractile family (5 files, 805 ins / 307 del — comprehensive A/B/D/T### error codes)",
43+
]
44+
new-issues-filed-as-trackers = [
45+
"#177 panic-attack FFI follow-ups",
46+
"#187 panic-attack classifications path mismatch (audits/ vs reports/audits/)",
47+
"#190-197 long-tail roadmap trackers (OpenTheory/Dedukti/SPARK/AI-sketch/Cap'n Proto/Stage 5/L2.3/Verisim)",
48+
]
49+
known-blocker = "feat/corpus-dispatcher-all-17-adapters branch ready to wire 13 missing adapters into CLI dispatcher; blocked by src/rust/main.rs SPDX-FileCopyrightText hook requiring owner manual flip from 'ECHIDNA Project Team' to canonical 'Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>' before commit accepted"
50+
gnn-training-run = "models/neural/{best_model,final_model,gnn_ranker,checkpoint_epoch_{5,10,15}} — 952MB total; gnn_ranker production-deployable (162MB)"
1951

2052
[expansion-roadmap]
2153
# 2026-04-26 — design landed; Phase 0 foundation pushed. Goal: push prover

0 commit comments

Comments
 (0)