Skip to content

chore(v→zig): delete V-lang API layer, collapse into Zig FFI block#72

Merged
hyperpolymath merged 1 commit into
mainfrom
chore/vlang-remediation
May 28, 2026
Merged

chore(v→zig): delete V-lang API layer, collapse into Zig FFI block#72
hyperpolymath merged 1 commit into
mainfrom
chore/vlang-remediation

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Estate-wide V-lang→Zig remediation per the 2026-05-28 owner directive.

  • Deletes api/v/src/ecm_api.v + ecm_api_test.v (V-lang wrappers around the existing ffi/zig/ adapter)
  • TOPOLOGY.md: collapses the two-layer "V API + Zig FFI" diagram into a single Zig API+FFI block
  • Trustfile.a2ml: drops the V language entry; the Zig FFI is now the canonical consumer-facing API

Test plan

  • Hypatia rule `cicd_rules/vlang_detected` does not flag this repo post-merge
  • TOPOLOGY.md diagram renders correctly

🤖 Generated with Claude Code

Per estate-wide owner directive (2026-05-28): Zig is the default for
APIs/FFIs; Idris2 owns ABIs. Deletes api/v/src/ecm_api.v + ecm_api_test.v
(V-lang wrappers around the existing ffi/zig/ adapter). Doc sweep:
TOPOLOGY.md collapses the two-layer "V API + Zig FFI" diagram into a
single Zig API+FFI block; Trustfile.a2ml drops the V language entry.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hyperpolymath hyperpolymath merged commit 6e09191 into main May 28, 2026
7 of 18 checks passed
@hyperpolymath hyperpolymath deleted the chore/vlang-remediation branch May 28, 2026 08:58
hyperpolymath added a commit that referenced this pull request May 28, 2026
## Summary

Follow-up to #72 (V-lang→Zig remediation). The Idris2 ABI verification
module that previously lived under `api/v/src/abi/` had a misleading
path (legacy V-lang convention) but a correct content type — Idris2 owns
ABIs per estate-wide policy.

This PR relocates the file to colocate with the Zig FFI it now verifies:

- Move: `api/v/src/abi/Types.idr` → `ffi/zig/abi/Types.idr`
- Rename module: `VApi.ABI.Types` → `ZigFfi.ABI.Types`
- Update header comment: "V API surface" → "Zig FFI surface"
- Delete now-empty parent `api/v/src/abi/`, `api/v/src/`, `api/v/`,
`api/`

No call-site updates needed — grep finds no consumers of
`VApi.ABI.Types` elsewhere in the repo (round-trip proofs are
compile-time-only).

## Test plan

- [ ] Idris2 still typechecks the relocated module
- [ ] `api/` directory tree is gone (was V-lang specific)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant