Skip to content

Commit 3fb6c6b

Browse files
hyperpolymathclaude
andcommitted
ci(chapel): add real-Chapel CI job; mark F5 done in TODO
- chapel-ci.yml: add rust-chapel-real job (Job 4) that builds Zig FFI with -Dstubs=false and links Rust against the actual libechidna_chapel.so produced by the chapel-build artifact. continue-on-error: true until full L2 dispatch wiring lands. - TODO.md: mark F5 (boj-server echidna-llm-mcp) complete (a6c8456). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 0c3ff84 commit 3fb6c6b

2 files changed

Lines changed: 55 additions & 1 deletion

File tree

.github/workflows/chapel-ci.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,3 +110,57 @@ jobs:
110110

111111
- name: Test with chapel feature
112112
run: cargo test --features chapel -- proof_search
113+
114+
# Job 4: Build Rust linking against the real Chapel library (no Zig stubs).
115+
# This is the integration signal for full L2 Chapel wiring. Marked
116+
# continue-on-error: true until dispatch.rs routes to ChapelParallelSearch
117+
# by default and the full L2 sub-waves are complete.
118+
rust-chapel-real:
119+
name: Rust Build — Real Chapel Library (allow-fail)
120+
runs-on: ubuntu-latest
121+
needs: [chapel-build, zig-ffi]
122+
continue-on-error: true
123+
steps:
124+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
125+
126+
- name: Install Chapel
127+
run: |
128+
curl -fsSL --max-time 300 \
129+
https://github.com/chapel-lang/chapel/releases/download/2.3.0/chapel-2.3.0-1.ubuntu24.amd64.deb \
130+
-o /tmp/chapel.deb
131+
sudo dpkg -i /tmp/chapel.deb || sudo apt-get install -f -y
132+
chpl --version
133+
134+
- name: Install Zig
135+
uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1
136+
with:
137+
version: 0.13.0
138+
139+
- name: Install Rust
140+
uses: dtolnay/rust-toolchain@4be9e76fd7c4901c61fb841f559994984270fce7 # stable
141+
with:
142+
toolchain: stable
143+
144+
- name: Rust cache
145+
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
146+
147+
- name: Download real Chapel library
148+
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4
149+
with:
150+
name: chapel-lib
151+
path: src/chapel/
152+
153+
- name: Build Zig FFI without stubs (links against real Chapel)
154+
run: |
155+
cd src/zig_ffi
156+
zig build -Doptimize=ReleaseSafe -Dstubs=false
157+
158+
- name: Build Rust with real Chapel library
159+
run: |
160+
export LD_LIBRARY_PATH="$PWD/src/chapel:$PWD/src/zig_ffi/zig-out/lib:${LD_LIBRARY_PATH:-}"
161+
cargo build --features chapel
162+
163+
- name: Test Rust with real Chapel library
164+
run: |
165+
export LD_LIBRARY_PATH="$PWD/src/chapel:$PWD/src/zig_ffi/zig-out/lib:${LD_LIBRARY_PATH:-}"
166+
cargo test --features chapel -- proof_search

docs/handover/TODO.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ L1 blocks L2 (because Chapel consumes Cap'n Proto schemas).
1616
-**`echidna-graphql` build** — ProverKind 30→113 variants, trait stubs, FFI casts fixed (`5aec9d5`). All three interface crates now build clean.
1717
-**FFI boundary audit**`audits/audit-ffi-boundary.md` + `audits/assail-classifications.a2ml` classifying all legitimate UnsafeCode at FFI boundaries (`b4d682b`).
1818
-**`bounded_read_config`** — sync 1 MiB-capped read helper in `src/rust/integrity/io.rs`; `solver_integrity.rs` migrated.
19-
- **F5 (boj-server `echidna-llm-mcp`)**deferred to separate dispatch. BoJ in skeleton mode for this cartridge.
19+
- **F5 (boj-server `echidna-llm-mcp`)**`consult` + `suggest_tactics` operations implemented; Elixir router patched for `{operation, params}` alias; 176 boj-server tests pass (`a6c8456`).
2020

2121
## P0 — Immediate pickup
2222

0 commit comments

Comments
 (0)