Skip to content

chore: eradicate V-lang; canonical = Zig API + Idris2 ABI#25

Merged
hyperpolymath merged 1 commit into
mainfrom
chore/vlang-eradication-2026-05-16
May 16, 2026
Merged

chore: eradicate V-lang; canonical = Zig API + Idris2 ABI#25
hyperpolymath merged 1 commit into
mainfrom
chore/vlang-eradication-2026-05-16

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Removes all V-lang from aerie and corrects the build + docs to the estate architecture law (ABI=Idris2, FFI=Zig, API=Zig).

Code/build

  • Deleted V generated stubs src/api/proto/aerie.pb.v, src/api/graphql/schema.gql.v
  • Containerfile + stapeln.toml: build the Zig gateway (src/api/zig/ via build.zig) — no more git clone vlang/v; zero V toolchain
  • Justfile: deleted the specs-to-v* V-stub-gen recipes (live re-emergence engine)
  • flake.nix: idris2+zig inputs, zig build phases

Doc drift → Zig/Idris2: .claude/CLAUDE.md, MIGRATION.adoc, EXPLAINME.adoc, ROADMAP.adoc, TOPOLOGY.md, TEST-NEEDS.md, selur-compose.toml

Flagged (separate follow-up): src/api/rust/ crate + old 'V→Rust' migration text are off-policy drift — Rust is not an API language here; that crate is debt to remove, not the target.

No .v files remain. 🤖 Generated with Claude Code

Estate architecture law: ABI=Idris2, FFI=Zig, API=Zig (never V/Rust/C).

- Delete V generated stubs (src/api/proto/aerie.pb.v, src/api/graphql/schema.gql.v)
- Containerfile + stapeln.toml: build the Zig gateway (src/api/zig/ via
  build.zig), not clone vlang/v; no V toolchain fetched anywhere
- Justfile: remove the V-stub-gen recipes (live re-emergence engine)
- Correct doc drift to Zig/Idris2: .claude/CLAUDE.md, MIGRATION.adoc,
  EXPLAINME.adoc, ROADMAP.adoc, TOPOLOGY.md, TEST-NEEDS.md,
  selur-compose.toml, flake.nix
- Flag src/api/rust/ + the old 'V->Rust' MIGRATION text as off-policy
  drift (Rust is not an API language here) — separate removal follow-up

No .v files remain; residual mentions only document the removal or live
in the off-policy Rust crate slated for deletion.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hyperpolymath hyperpolymath merged commit 693d985 into main May 16, 2026
16 of 20 checks passed
@hyperpolymath hyperpolymath deleted the chore/vlang-eradication-2026-05-16 branch May 16, 2026 21:09
@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 11 issues detected

Severity Count
🔴 Critical 7
🟠 High 2
🟡 Medium 2

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action hyperpolymath/rsr-toolchain-action@main needs attention",
    "type": "unpinned_action",
    "file": "quality.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Nickel file missing SPDX-License-Identifier header (1 occurrences, CWE-1104)",
    "type": "ncl_missing_spdx",
    "file": "/home/runner/work/aerie/aerie/configs/config.ncl",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "medium"
  },
  {
    "reason": "unwrap() without prior check -- DoS via panic (1 occurrences, CWE-754)",
    "type": "unwrap_without_check",
    "file": "/home/runner/work/aerie/aerie/src/api/rust/src/redis_client.rs",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "high"
  },
  {
    "line": 220,
    "reason": "Secret found: Generic API key",
    "type": "secret_detected",
    "file": "/home/runner/work/aerie/aerie/src/api/zig/main.zig",
    "action": "revoke_rotate_and_purge",
    "rule_module": "security_errors",
    "severity": "critical"
  },
  {
    "reason": "Repository has 1 non-main remote branch(es). Policy: single main branch only.",
    "type": "GS007",
    "file": ".",
    "action": "delete_remote_branches",
    "rule_module": "git_state",
    "severity": "medium"
  },
  {
    "reason": "Orphan gitlink -- submodule ref without .gitmodules entry. Likely a stray clone caught by bot git-add-all.",
    "type": "SD005",
    "file": "network/bgp-backbone-lab",
    "action": "investigate",
    "rule_module": "structural_drift",
    "severity": "critical"
  },
  {
    "reason": "Orphan gitlink -- submodule ref without .gitmodules entry. Likely a stray clone caught by bot git-add-all.",
    "type": "SD005",
    "file": "network/ipv6-only",
    "action": "investigate",
    "rule_module": "structural_drift",
    "severity": "critical"
  },
  {
    "reason": "Orphan gitlink -- submodule ref without .gitmodules entry. Likely a stray clone caught by bot git-add-all.",
    "type": "SD005",
    "file": "network/ipv6-site-enforcer",
    "action": "investigate",
    "rule_module": "structural_drift",
    "severity": "critical"
  },
  {
    "reason": "Orphan gitlink -- submodule ref without .gitmodules entry. Likely a stray clone caught by bot git-add-all.",
    "type": "SD005",
    "file": "network/ipv6-tools",
    "action": "investigate",
    "rule_module": "structural_drift",
    "severity": "critical"
  },
  {
    "reason": "Orphan gitlink -- submodule ref without .gitmodules entry. Likely a stray clone caught by bot git-add-all.",
    "type": "SD005",
    "file": "network/network-ambulance",
    "action": "investigate",
    "rule_module": "structural_drift",
    "severity": "critical"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

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