Context: Echidna has a 420-LoC Chapel POC (chapel_poc/parallel_proof_search.chpl) that implements
30-prover parallel portfolio dispatch but is not wired into src/rust/dispatch.rs. User directive
(2026-04-19): "expand Chapel to do EVERYTHING it can — no point investing in hard Chapel code and not
using it to maximum value."
Master plan: ~/Desktop/ECHIDNA-PRODUCTION-WIRING-PLAN.md
Prerequisites: L3 Tier-1+Tier-2 green; L1 Cap'n Proto schemas stable.
Scope: ~5–6 weeks, broken into 7 sub-waves.
- Task parallelism (
coforall,cobegin,begin) — parallel prover dispatch, speculative tactic branches - Data parallelism (
forall) — corpus-wide premise scoring, tactic mining - Distributed PGAS (locales, on-clauses) — multi-node proof search with sharded corpus
- Domains & distributions — data-dependent workload partitioning
- Atomics — first-wins racing, lock-free coordination
- Reductions — parallel statistics, confidence aggregation
- GPU support — Chapel-on-NVIDIA for embedding batches
- NUMA awareness — locale-aware dispatch on multi-socket machines
src/chapel/portfolio.chpl— migrate + adapt fromchapel_poc/parallel_proof_search.chpl- Input: Cap'n Proto
ProverInvocationbatch (from L1) - Output: Cap'n Proto
TrustedOutcome[] - Race semantics: atomic first-wins, SIGKILL losers, cancellation within
timeout - Wire into
src/rust/dispatch.rsbehind--chapelfeature flag via Zig FFI - Default: feature-off; default-on flip after L2.7 benchmarks
src/chapel/tactic_search.chpl- Parallel beam search (k parallel beams)
- Parallel MCTS over tactic trees (UCB1 selection with
coforallrollouts) - Speculative branch execution + cancellation on winner commit
- Consumes
TacticSuggestionstream from GNN (L1 schemas)
src/chapel/corpus.chplforallover 66,674-proof corpus- Parallel proof replay (re-verify corpus)
- Parallel premise scoring (vs GNN rankings)
- Parallel tactic mining + inverted index build
- Locality-aware:
forall ... with (ref corpusShard)to avoid cross-locale traffic
src/chapel/mutation.chpl- Fan out 1000s of mutants across all cores/locales
- Integrate with existing Rust
verification/mutation.rs(consume its mutant stream, run in Chapel)
- PGAS-sharded corpus across locales (
BlockorCyclicdistribution) - Locale-aware prover dispatch: heavy backends on dedicated locales
- GPU-locale offload: embedding batches on NVIDIA locale if present
- Reproducibility: locale seed propagation
- Single-locale covers 80% of value; multi-locale proven on dev hardware
src/chapel/numeric.chpl- Parallel GNN embedding pre-processing (batch pack + pad)
- Parallel Pareto frontier computation (
forall+ atomic minimum tracking) - Parallel confidence statistics / Bayesian timeout updates
.github/workflows/chapel-live.yml— runs Chapel-in-dispatch tests- Criterion benchmarks: Chapel portfolio vs Rust+Rayon baseline
- Must show measurable speedup on 8+ core machines to flip default-on
- Chapel on hot path by default after benchmarks prove it
src/chapel/has 6+ modules wired via Zig FFI + Cap'n Protochapel_poc/archived (or deleted) with redirect note in its README- Multi-locale path proven on at least one dev-hardware config
- Benchmarks show ≥1.5× speedup for portfolio solving on 8-core machines (or Chapel stays feature-flagged)
- No Rust code duplicates what Chapel does best (avoid double-paths)
feedback_wire_everything— no stubs; POC promoted fully, not re-implementedfeedback_meander_resource_costs— Chapel builds slow; cache Chapel artefacts in CI, clean afterfeedback_rust_means_rust_spark— Rust side admits SPARK/Ada; Chapel doesn't change thatfeedback_verisimdb_policy— Chapel-dispatched runs still emit VeriSimDB records (via Cap'n Proto back-channel to Rust)feedback_full_battery_before_claims— before claiming speedup, full battery: tests + benches + panic-attack + causality + verifiable I/O
~/Desktop/ECHIDNA-PRODUCTION-WIRING-PLAN.md/var/mnt/eclipse/repos/verification-ecosystem/echidna/chapel_poc/parallel_proof_search.chpl(420-LoC POC to promote)/var/mnt/eclipse/repos/verification-ecosystem/echidna/src/zig_ffi/chapel_bridge.zig(existing Zig FFI stub)/var/mnt/eclipse/repos/verification-ecosystem/echidna/src/rust/dispatch.rs(integration target)/var/mnt/eclipse/repos/verification-ecosystem/echidna/.github/workflows/chapel-ci.yml(current Chapel CI for compile-only)schemas/echidna.capnp(must exist from L1 — if not, L1 isn't done)