docs(chapel): PIC-from-source rebuild ADR + Justfile recipe#150
Merged
Conversation
Wave-2 follow-on to PR #146. Documents the procedure for replacing the apt-shipped Chapel runtime (which ships only the `lib_pic-none` variant) with a `lib_pic-pic` build so the metalayer can be linked as a shared library instead of a static archive. - `docs/decisions/2026-05-30-chapel-pic-rebuild.md` — ADR addendum to the rehabilitation ADR. Documents the source-build procedure, the ~30 min / ~5 GB cost, the tradeoffs vs `--library --static`, and why the CI flip is deferred (registry-pushed container image is the L2.5 prerequisite). - `Justfile :: chapel-pic-from-source` — runnable recipe that downloads chapel-2.8.0, sets `CHPL_LIB_PIC=pic`, builds, and verifies the `lib_pic-pic/` runtime variant landed. Cache dir configurable via `ECHIDNA_CHAPEL_PIC_CACHE`; version via `CHPL_VERSION`. **Not** invoked from CI. - Cross-link from the rehabilitation ADR's Wave-2 plan to the new ADR. Verification path is local-only by design — the recipe will be exercised on-demand when L2.5 multi-locale work needs the shared-library form. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Wave-2 follow-on to PR #146. The metalayer is currently linked
--library --staticbecause the apt-distributed Chapel runtime shipsonly the
lib_pic-nonevariant. This PR ships:documents the constraint, the source-rebuild procedure, tradeoffs
vs the current static form, and why the CI flip is deferred to a
future registry-pushed container.
chapel-2.8.0, sets `CHPL_LIB_PIC=pic`, builds, and verifies the
`lib_pic-pic/` runtime variant landed. Cache via
`ECHIDNA_CHAPEL_PIC_CACHE`; version via `CHPL_VERSION`. Not
invoked from CI.
Why no CI flip
The PIC runtime is required for `--library --dynamic` and the L2.5
multi-locale Chapel work, but not required for the current Rust
link path (which uses `libechidna_chapel.a`). The ~30 min wall +
~5 GB disk cost of the source rebuild would dominate the chapel-ci
budget for negligible gain until L2.5 starts — see the
"Tradeoffs" table in the ADR.
A registry-pushed Containerfile is the right amortisation, gated on
L1 Cap'n Proto.
Test plan
🤖 Generated with Claude Code