feat(cli): Phase D — compile-eph / compile-affine aliases (closes #36)#78
Merged
Merged
Conversation
clap visible aliases so the CLI can be invoked as `compile-eph` and `compile-affine`, both routing to the `compile` subcommand. Probed by hypatia's build-gossamer-gui.yml workflow. Salvaged from the diverged ephapax v2-grammar branch onto current main. The superseded v2 extern/grammar phases (A/B/C/E/F-H/I/J) are NOT included — upstream main already ships a more complete extern implementation with a different API. The single test fixture `tests/v2-grammar/fixtures/ extern-callsite.eph` is carried from the dropped Phase B commit (6f7f316) so the Phase D acceptance test is self-contained; verified to compile to valid wasm on current main via the new aliases. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 16, 2026
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.
Closes #36
clapvisible aliases so the CLI runs ascompile-eph/compile-affine,both routing to
compile. Probed by hypatia'sbuild-gossamer-gui.yml.Provenance
Salvaged from the diverged local v2-grammar branch (was ahead 10 / behind 2
on
main). That branch's extern/v2-grammar phases (A/B/C/E/F–H/I/J) aredeliberately not included:
mainalready shipped a more complete externimplementation with a different API (
Extern { abi, items, span }+ fulldesugar + cross-module registry), so replaying them would be a re-port, not
a merge. Only the genuinely-net-new, upstream-compatible Phase D is taken.
Contents
src/ephapax-cli/src/main.rs—visible_aliasforcompile-eph/compile-affinesrc/ephapax-cli/Cargo.toml—wasmparserdev-dep (test asserts wasm magic)tests/v2-grammar/fixtures/extern-callsite.eph— carried from the droppedPhase B commit (
6f7f316) so the acceptance test is self-containedVerification
cargo build -p ephapax-cli— clean on currentmaincargo test -p ephapax-cli --test v2_grammar_phase_d_aliases— 2/2 passextern-callsite.ephcompiles to valid wasm (\0asm, 702 bytes) via both aliasesThe full local v2-grammar branch is retained locally (not lost); re-porting
the remaining phases onto
main's extern API is a separate author-led effort.🤖 Generated with Claude Code