Breadcrumb tracking issue.
echidna#146 is the Chapel
metalayer rehabilitation (closes echidna#133). It rewrites `src/chapel/*.chpl`
to compile under chpl 2.3.0 / 2.8.0, flips chapel-build / zig-ffi CI to strict,
adds L2.2 `parallelProofSearchSpeculative` (atomic-CAS first-success-wins),
and proves the aggregation invariants in
`proofs/agda/ParallelSoundness.agda` (zero postulate/admit/believe_me).
Wave 2 of the same arc reaches `proven`: any Chapel-backed parallel proof
dispatch we add here should follow the same shape — static lib because the
apt-shipped Chapel is `CHPL_LIB_PIC=none` only, `require` directive + `extern
record` to bridge the C ABI without LLVM, smoke target decoupled from the
main metalayer surface, Agda aggregation invariants reused / extended.
Action items (deferred to Wave 2, no work in this issue yet):
Pointers for the future agent / author:
- Rehabilitation ADR: `docs/decisions/2026-05-30-chapel-rehabilitation.md`
inside echidna#146
- Soundness theorems: `proofs/agda/ParallelSoundness.agda` (3 theorems
- L2.2 implementation: `src/chapel/parallel_proof_search.chpl ::
parallelProofSearchSpeculative`
Breadcrumb tracking issue.
echidna#146 is the Chapel
metalayer rehabilitation (closes echidna#133). It rewrites `src/chapel/*.chpl`
to compile under chpl 2.3.0 / 2.8.0, flips chapel-build / zig-ffi CI to strict,
adds L2.2 `parallelProofSearchSpeculative` (atomic-CAS first-success-wins),
and proves the aggregation invariants in
`proofs/agda/ParallelSoundness.agda` (zero postulate/admit/believe_me).
Wave 2 of the same arc reaches `proven`: any Chapel-backed parallel proof
dispatch we add here should follow the same shape — static lib because the
apt-shipped Chapel is `CHPL_LIB_PIC=none` only, `require` directive + `extern
record` to bridge the C ABI without LLVM, smoke target decoupled from the
main metalayer surface, Agda aggregation invariants reused / extended.
Action items (deferred to Wave 2, no work in this issue yet):
recipe + `require`+`extern record` skeleton)
`ParallelSoundness` Agda module or imports the echidna one
Pointers for the future agent / author:
inside echidna#146
parallelProofSearchSpeculative`