fix(ci): remove banned V-language build from zig-test/e2e workflows#66
Merged
Conversation
V-language is banned estate-wide; the sanctioned connector layer is
zig-unified-api-adapter. These workflows still installed and ran V on
every push.
- .github/workflows/zig-test.yml: remove the entire "V-lang Adapter
Checks" job (cloned/built github.com/vlang/v, then ran v check over
cartridges/{lsp,dap,bsp}-mcp/adapter .v files). Those .v adapter
files no longer exist in the repo, so the job was already dead.
- .github/workflows/e2e.yml: remove the "Install V" step (cloned/built
github.com/vlang/v into /usr/local/bin). The v binary was never
invoked anywhere else in the e2e job.
Both workflows remain valid YAML.
Out of scope (noted for follow-up review, NOT changed here): the
Justfile still carries live V-lang build/run wiring (build-adapter,
install-v cloning vlang/v, legacy run recipes). That is a separate
source-level change outside this CI-focused fix.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
hyperpolymath
added a commit
that referenced
this pull request
May 16, 2026
## Summary PR #66 (merged) removed only the V-lang **CI jobs**. The repo still had live dangling V-lang references with no backing source — `adapter/v/` was deleted in the prior 2026-04-12 V-lang sweep, and the real REST/gRPC/GraphQL surface is the **Elixir backend** (`elixir/`, Plug/Cowboy). No V port was ever needed. This PR finishes the dead-leaf cleanup. ## What was removed / fixed **Justfile** - Deleted the `build-adapter` recipe entirely. - `run` / `serve` / `install` now use only the existing Elixir path; the dead V `else` fallback branches were dropped (no new behavior — the Elixir branch was already the preferred path). `install` no longer copies a non-existent V binary. - `heal`: removed the `git clone https://github.com/vlang/v` + `make` + symlink block. - `doctor`: dropped `check_optional "V (vlang)"` and the `adapter/v/boj-server` artefact check (now checks `elixir/`). - `matrix` / `tour` / `help-me`: cosmetic V status echoes repointed to the Elixir reality. All recipes remain syntactically valid. **CI** - `.github/workflows/lsp-dap-bsp.yml`: deleted the `adapter-check` job (it ran `v check`; missed by PR #66) and removed it from the `completeness` job's `needs:` so the workflow stays valid. - `.github/workflows/e2e.yml`: deleted the dead `Build V adapter` step (`cd adapter/v && v -o boj-server .`). **scripts / tests / docs** - `tests/e2e_full.sh`, `tests/federation_multinode.sh`: launch the Elixir backend (`cd elixir && mix run --no-halt`) instead of the non-existent `adapter/v/boj-server`. - `tests/aspect_tests.sh`: removed the dead V-lang ABI-contract aspect and the V-file SPDX loop; cartridge-completeness check is now ABI+FFI; aspects renumbered consistently. - `scripts/boj-selinux-contexts.sh`: removed the dead V binary fcontext rule; renumbered the remaining two steps. - `docs/RSR_OUTLINE.adoc`, `docs/QUICKSTART.md`, `docs/GETTING-STARTED.md`, `docs/outreach/blog-post-draft.md`, `docs/wiki/Developer-Guide.md`, `docs/wiki/User-Guide.md`, `.github/DISCUSSION_TEMPLATE/cartridge-proposal.yml`, `.gitignore`, `0-AI-MANIFEST.a2ml`: dead `adapter/v/` path references and stale three-layer-stack wording corrected to the Elixir+Zig reality. ## Why no port was needed The Elixir backend already exists as the canonical Class-3 REST/gRPC/ GraphQL surface; the V-lang adapter layer was retired estate-wide on 2026-04-10 and its `.v` files removed 2026-04-12. These were dangling references only. ## Intentionally left untouched - `CHANGELOG.md`, `ROADMAP.adoc`, `.machine_readable/6a2/*`, `.machine_readable/servers/order-ticket.a2ml` — these **document the V-lang retirement as history**; not drift. - `Intentfile` / `Mustfile` Unbreakable-Stack ban-enforcement assets — protected estate-rule surface, out of scope. - Per-cartridge `*_adapter.zig` provenance comments and cartridge `README.adoc` adapter-language tables — accurate Zig-replacement provenance / a much larger doc surface outside this bounded dead-leaf cleanup. ## Validation ``` === YAML safe_load === OK .github/workflows/lsp-dap-bsp.yml OK .github/workflows/e2e.yml OK .github/DISCUSSION_TEMPLATE/cartridge-proposal.yml === just --list === just --list OK (107 lines) # build-adapter absent, all recipes intact === bash -n on edited shell scripts === OK tests/e2e_full.sh OK tests/federation_multinode.sh OK tests/aspect_tests.sh OK scripts/boj-selinux-contexts.sh === a2ml sanity === 0-AI-MANIFEST.a2ml — parens balanced ``` 16 files changed, +98 / -248. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: hyperpolymath <hyperpolymath@users.noreply.github.com> Co-authored-by: Claude Opus 4.7 <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
V-language is banned estate-wide; the sanctioned connector layer is
zig-unified-api-adapter. The boj-server CI still installed and ran V on every push. This PR removes that.Changes
.github/workflows/zig-test.yml: removed the entirev-lang-check("V-lang Adapter Checks") job. It cloned/builtgithub.com/vlang/v, then ranv checkovercartridges/{lsp,dap,bsp}-mcp/adapter/*.v. Those.vadapter files no longer exist in the repo, so the job was already dead weight..github/workflows/e2e.yml: removed the "Install V" step (cloned/builtgithub.com/vlang/vinto/usr/local/bin). Thevbinary was never invoked anywhere else in the e2e job.Validation
yaml.safe_loadpasses on both modified workflows ("yaml ok")..vsource files exist anywhere undercartridges/, confirming the removedv-lang-checkjob was orphaned.Out of scope (flagged for separate review)
The repo
Justfilestill carries live V-lang build/run wiring:build-adapter,install-v(clonesvlang/v), and legacy run recipes referencingadapter/v/. This is source-level drift beyond this CI-focused fix and is intentionally left untouched here. The Zig FFI files contain only descriptive comments mentioning the former V-lang adapter (no V code).🤖 Generated with Claude Code