|
| 1 | +// SPDX-License-Identifier: PMPL-1.0-or-later |
| 2 | += V Ecosystem — Community Transfer Bundle |
| 3 | +Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> |
| 4 | +:toc: |
| 5 | +:toc-placement: preamble |
| 6 | + |
| 7 | +This document describes all V-lang work in the hyperpolymath estate that is |
| 8 | +offered to the V community, following the ecosystem consolidation decision of |
| 9 | +2026-04-10. |
| 10 | + |
| 11 | +== Background |
| 12 | + |
| 13 | +V-lang was seriously explored as the API transport layer of the hyperpolymath |
| 14 | +ABI/FFI standard (Idris2 ABI → Zig FFI → V transport). Significant work was |
| 15 | +produced: 107 connectors, 3 fully implemented protocol runtimes, 11 service |
| 16 | +connectors, and a complete `v-ecosystem` monorepo directory within |
| 17 | +`developer-ecosystem`. The decision to retire V from this estate was an |
| 18 | +ecosystem-fit decision — too many parallel systems languages — not a |
| 19 | +judgement on V as a language. |
| 20 | + |
| 21 | +All work listed here is offered to the V community under |
| 22 | +**PMPL-1.0-or-later** (or **MPL-2.0** if an OSI-approved licence is |
| 23 | +required). The code is functional, documented, and tested where noted. |
| 24 | + |
| 25 | +== Fully Implemented Protocol Runtimes |
| 26 | + |
| 27 | +These are the most complete and transferable pieces. Each is a standalone |
| 28 | +GitHub repo with Idris2 ABI proofs, Zig FFI scaffold, and a working V-lang |
| 29 | +transport layer. |
| 30 | + |
| 31 | +=== v-grpc |
| 32 | + |
| 33 | +*Repo:* https://github.com/hyperpolymath/v-grpc |
| 34 | + |
| 35 | +gRPC-Web style JSON-over-HTTP server. Implements three RPC methods over |
| 36 | +V's `net.http`: `Render`, `Context`, `Health` (dispatches to the Gnosis |
| 37 | +CLI backend). Also includes `v-protoc` (`src/generator.v`) — a stub |
| 38 | +generator that reads `.proto` files and emits V-lang service stubs. |
| 39 | + |
| 40 | +ABI layer (`src/abi/`): |
| 41 | + |
| 42 | +* Idris2 `Types.idr` — `Handle` with `So (ptr /= 0)`, `Result` with |
| 43 | + round-trip proofs, platform-aware `ptrSize`, `%default total` |
| 44 | +* `Layout.idr` — memory layout verification |
| 45 | +* `Foreign.idr` — `%foreign` C bindings for Zig FFI upgrade |
| 46 | + |
| 47 | +Zig FFI scaffold (`ffi/zig/`) is present for the planned HTTP/2 + |
| 48 | +Protobuf upgrade path — the Idris2 ABI layer is already wired for it. |
| 49 | + |
| 50 | +*Status:* Transport complete and working. Zig FFI scaffold present but not |
| 51 | +yet connected. Protobuf binary framing not yet implemented. |
| 52 | + |
| 53 | +=== v-rest |
| 54 | + |
| 55 | +*Repo:* https://github.com/hyperpolymath/v-rest |
| 56 | + |
| 57 | +REST API server for the same Gnosis backend. Implements four endpoints: |
| 58 | +`POST /render`, `GET /context`, `GET /health`, `GET /` (API discovery). |
| 59 | +Same Idris2 ABI + Zig FFI architecture as v-grpc. |
| 60 | + |
| 61 | +*Status:* Transport complete and working. Zig FFI scaffold present. |
| 62 | + |
| 63 | +== Monorepo: developer-ecosystem/v-ecosystem |
| 64 | + |
| 65 | +*Repo:* https://github.com/hyperpolymath/developer-ecosystem (subdirectory `v-ecosystem/`) |
| 66 | + |
| 67 | +=== Service Connectors (11) |
| 68 | + |
| 69 | +V-lang bridge stubs connecting to hyperpolymath services. RSR-structured |
| 70 | +with README, source scaffold, and ABI/FFI directories. Each connector |
| 71 | +wraps a service with a V-lang client interface. |
| 72 | + |
| 73 | +[cols="1,3"] |
| 74 | +|=== |
| 75 | +| Connector | Service |
| 76 | + |
| 77 | +| `v-ambientops` | AmbientOps container orchestration |
| 78 | +| `v-boj` | BoJ MCP server |
| 79 | +| `v-burble` | Burble WebRTC media platform |
| 80 | +| `v-echidna` | Echidna formal verification orchestrator |
| 81 | +| `v-gossamer` | Gossamer window management |
| 82 | +| `v-groove-bridge` | Groove inter-service protocol bridge |
| 83 | +| `v-hypatia` | Hypatia CI/CD neurosymbolic engine |
| 84 | +| `v-idaptik` | IDApTIK adaptive tutoring system |
| 85 | +| `v-reposystem` | Reposystem repository automation |
| 86 | +| `v-stapeln` | Stapeln container platform |
| 87 | +| `v-verisimdb` | VeriSimDB formal verification database |
| 88 | +|=== |
| 89 | + |
| 90 | +=== Infrastructure Modules |
| 91 | + |
| 92 | +[cols="1,3"] |
| 93 | +|=== |
| 94 | +| Module | Purpose |
| 95 | + |
| 96 | +| `v-zig-ffi` | Mandatory Zig FFI layer for all V-lang bridges (header-less C ABI) |
| 97 | +| `v-idris-abi` | Mandatory Idris2 ABI verification layer (formally proven memory layouts) |
| 98 | +| `v-telemetry` | OpenTelemetry and observability support |
| 99 | +| `v-validator` | Type-safe validation and schema enforcement |
| 100 | +| `v-middleware` | Authentication, CORS, common request handlers |
| 101 | +| `v-benchmarks` | Performance testing suite |
| 102 | +| `v-deno` | V ↔ Deno FFI bridge (ReScript + Idris2 ABI + Zig FFI) |
| 103 | +|=== |
| 104 | + |
| 105 | +=== API Interface Scaffolds (95) |
| 106 | + |
| 107 | +`v-api-interfaces/` contains 95 connector scaffolds covering the full |
| 108 | +API protocol surface: WebSocket, JSON-RPC, MQTT, tRPC, SOAP, Cap'n Proto, |
| 109 | +GraphQL, and 88 others. Each scaffold has: |
| 110 | + |
| 111 | +* `README.adoc` — protocol description |
| 112 | +* `TOPOLOGY.md` — architecture diagram |
| 113 | +* `src/*.v` — V-lang stub (to be implemented) |
| 114 | +* `ffi/zig/` — Zig FFI scaffold |
| 115 | +* `.machine_readable/` — A2ML state files |
| 116 | + |
| 117 | +These are clean RSR-structure starting points ready for V implementation. |
| 118 | + |
| 119 | +== Transfer Terms |
| 120 | + |
| 121 | +* Licence: **PMPL-1.0-or-later** on all hyperpolymath-original code |
| 122 | +* MPL-2.0 available on request if an OSI-approved licence is required for |
| 123 | + distribution on V package registries |
| 124 | +* Attribution: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> |
| 125 | +* No support obligation — this is a community gift, not a maintained fork |
| 126 | +* The Idris2 ABI + Zig FFI layers are reusable independently of V |
| 127 | + |
| 128 | +== Contact |
| 129 | + |
| 130 | +Open an issue on any of the repos above, or reach out via GitHub: |
| 131 | +https://github.com/hyperpolymath |
0 commit comments