|
| 1 | +// SPDX-License-Identifier: PMPL-1.0-or-later |
| 2 | +// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> |
| 3 | += Recreation Queue — V-lang and ReScript Donation Areas |
| 4 | +Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> |
| 5 | +:toc: |
| 6 | +:toc-placement: preamble |
| 7 | + |
| 8 | +IMPORTANT: This is a deferred-work plan, not a commitment to a timeline. |
| 9 | +Recreation begins only when explicitly directed by the project owner. |
| 10 | +This document is updated as donation readiness and consumption analysis |
| 11 | +evolves. |
| 12 | + |
| 13 | +== Purpose |
| 14 | + |
| 15 | +When the V-lang and ReScript donation areas actually hand over to their |
| 16 | +respective communities, hyperpolymath will need to replace any functionality |
| 17 | +it currently consumes from those areas. This document tracks: |
| 18 | + |
| 19 | +* What each donated module does |
| 20 | +* Which hyperpolymath repo/module currently consumes it |
| 21 | +* The target recreation language (Zig for V, AffineScript for ReScript) |
| 22 | +* Notes on complexity or known blockers |
| 23 | + |
| 24 | +Items are listed by donation area. Items with unclear consumer status are |
| 25 | +flagged explicitly. |
| 26 | + |
| 27 | +== V-lang Donation Area (`developer-ecosystem/v-ecosystem/`) |
| 28 | + |
| 29 | +=== V Service Connectors |
| 30 | + |
| 31 | +The 11 service connectors (`connectors/v-boj`, `v-hypatia`, etc.) are |
| 32 | +**V-lang stubs** — they were built as V-lang client interfaces to |
| 33 | +hyperpolymath services. As of 2026-04-12, they are deprecated internally |
| 34 | +and the Zig connector pool (`developer-ecosystem/zig-api/`) is the canonical |
| 35 | +replacement. |
| 36 | + |
| 37 | +[cols="2,2,1,3"] |
| 38 | +|=== |
| 39 | +| Module | HP Consumer | Recreation Target | Notes |
| 40 | + |
| 41 | +| `connectors/v-boj` |
| 42 | +| BoJ MCP server (boj-server) |
| 43 | +| Zig |
| 44 | +| Zig equivalent in `developer-ecosystem/zig-api/`. Protocol: MCP over HTTP. |
| 45 | + |
| 46 | +| `connectors/v-hypatia` |
| 47 | +| Hypatia CI/CD engine |
| 48 | +| Zig |
| 49 | +| Zig equivalent in `developer-ecosystem/zig-api/`. Protocol: REST/JSON. |
| 50 | + |
| 51 | +| `connectors/v-stapeln` |
| 52 | +| Stapeln container platform |
| 53 | +| Zig |
| 54 | +| Zig equivalent in `developer-ecosystem/zig-api/`. Protocol: REST/JSON. |
| 55 | + |
| 56 | +| `connectors/v-verisimdb` |
| 57 | +| VeriSimDB (all estate-wide users) |
| 58 | +| Zig |
| 59 | +| Zig equivalent in `developer-ecosystem/zig-api/`. VeriSimDB has three |
| 60 | + protocol surfaces (GraphQL/gRPC/REST); see `v_api_interfaces/verisimdb_*` |
| 61 | + for the donated pattern examples. |
| 62 | + |
| 63 | +| `connectors/v-echidna` |
| 64 | +| Echidna formal verification orchestrator |
| 65 | +| Zig |
| 66 | +| Zig equivalent in `developer-ecosystem/zig-api/`. Protocol: REST/JSON. |
| 67 | + |
| 68 | +| `connectors/v-burble` |
| 69 | +| Burble WebRTC platform |
| 70 | +| Zig |
| 71 | +| Zig equivalent in `developer-ecosystem/zig-api/`. Protocol: WebRTC/REST. |
| 72 | + |
| 73 | +| `connectors/v-gossamer` |
| 74 | +| Gossamer window manager |
| 75 | +| Zig |
| 76 | +| Zig equivalent in `developer-ecosystem/zig-api/`. Protocol: IPC/REST. |
| 77 | + |
| 78 | +| `connectors/v-groove-bridge` |
| 79 | +| Groove inter-service protocol |
| 80 | +| Zig |
| 81 | +| Groove is the HP-standard inter-service protocol. Zig implementation |
| 82 | + is the canonical form already (`groove-spec` repo). |
| 83 | + |
| 84 | +| `connectors/v-ambientops` |
| 85 | +| AmbientOps container orchestration |
| 86 | +| Zig |
| 87 | +| Zig equivalent in `developer-ecosystem/zig-api/`. |
| 88 | + |
| 89 | +| `connectors/v-reposystem` |
| 90 | +| Reposystem (scaffoldia/gitbot-fleet) |
| 91 | +| Zig |
| 92 | +| Zig equivalent in `developer-ecosystem/zig-api/`. |
| 93 | + |
| 94 | +| `connectors/v-idaptik` |
| 95 | +| IDApTIK adaptive tutoring system |
| 96 | +| Zig |
| 97 | +| Zig equivalent in `developer-ecosystem/zig-api/`. |
| 98 | +|=== |
| 99 | + |
| 100 | +NOTE: The `developer-ecosystem/zig-api/` connector pool is already the |
| 101 | +declared migration target (see `MIGRATION.adoc`). Confirm it builds and |
| 102 | +passes integration tests before treating the V connectors as safely |
| 103 | +decommissioned. |
| 104 | + |
| 105 | +=== V API Interface Scaffolds |
| 106 | + |
| 107 | +The protocol scaffolds in `v-api-interfaces/` and `v_api_interfaces/` were |
| 108 | +building-block stubs. Most have **no active HP consumer** — they were |
| 109 | +staging areas for potential future protocol support. Two entries have |
| 110 | +specific notes: |
| 111 | + |
| 112 | +[cols="2,2,1,3"] |
| 113 | +|=== |
| 114 | +| Module | HP Consumer | Recreation Target | Notes |
| 115 | + |
| 116 | +| `v-api-interfaces/v-proven` |
| 117 | +| `verification-ecosystem/proven` (libproven library) |
| 118 | +| Zig |
| 119 | +| Zig bindings already exist at `proven/bindings/zig/`. Recreation is |
| 120 | + complete in principle; verify Zig bindings have feature parity with the |
| 121 | + V binding (all 6 modules: SafeMath, SafeString, SafePath, SafeEmail, |
| 122 | + SafeNetwork, SafeCrypto). |
| 123 | + |
| 124 | +| `v-api-interfaces/v-bebop` |
| 125 | +| `developer-ecosystem/bebop-ffi` |
| 126 | +| Zig |
| 127 | +| Zig FFI for bebop is the natural form (Zig already handles C ABI directly). |
| 128 | + The `bebop-ffi` repo has the C header; Zig binding is the next step when |
| 129 | + directed. AGPL-3.0-or-later on the donated V code. |
| 130 | + |
| 131 | +| `v_api_interfaces/verisimdb_graphql` |
| 132 | +| VeriSimDB (all estate-wide consumers) |
| 133 | +| Zig |
| 134 | +| Donated as a pattern example; actual VeriSimDB Zig binding lives in |
| 135 | + `developer-ecosystem/zig-api/`. Verify protocol coverage. |
| 136 | + |
| 137 | +| `v_api_interfaces/verisimdb_grpc` |
| 138 | +| VeriSimDB (all estate-wide consumers) |
| 139 | +| Zig |
| 140 | +| See above. |
| 141 | + |
| 142 | +| `v_api_interfaces/verisimdb_rest` |
| 143 | +| VeriSimDB (all estate-wide consumers) |
| 144 | +| Zig |
| 145 | +| See above. |
| 146 | + |
| 147 | +| All other protocol scaffolds (90+) |
| 148 | +| _No confirmed HP consumer_ |
| 149 | +| Zig (if needed) |
| 150 | +| These were speculative staging scaffolds. Flag for user review before |
| 151 | + treating as safe to decommission — some may have been planned consumers. |
| 152 | + See "Flagged for Review" section below. |
| 153 | +|=== |
| 154 | + |
| 155 | +=== V Infrastructure Modules |
| 156 | + |
| 157 | +[cols="2,2,1,3"] |
| 158 | +|=== |
| 159 | +| Module | HP Consumer | Recreation Target | Notes |
| 160 | + |
| 161 | +| `v-zig-ffi/` |
| 162 | +| All V-lang connectors (seam layer) |
| 163 | +| N/A (already Zig) |
| 164 | +| The Zig FFI seam is the donation itself. HP uses Zig natively — no |
| 165 | + recreation needed. |
| 166 | + |
| 167 | +| `v-idris-abi/` |
| 168 | +| All V-lang connectors (ABI verification) |
| 169 | +| N/A (already Idris2) |
| 170 | +| Idris2 ABI definitions are language-agnostic; they continue to be used |
| 171 | + in the Zig connector pool. No recreation needed. |
| 172 | + |
| 173 | +| `v-deno/` |
| 174 | +| Deno integration layer |
| 175 | +| Zig |
| 176 | +| The V ↔ Deno bridge was a convenience layer. Deno's native FFI |
| 177 | + (`Deno.dlopen`) can call Zig compiled libraries directly without a |
| 178 | + V intermediary. Complexity: low. |
| 179 | + |
| 180 | +| `v-grpc/`, `v-rest/` |
| 181 | +| HP Gnosis CLI backend |
| 182 | +| Zig |
| 183 | +| Gnosis CLI is an HP-internal tool. Zig HTTP server replaces the V |
| 184 | + transport layer. `developer-ecosystem/zig-api/` covers this. |
| 185 | + |
| 186 | +| `v-graphql/` |
| 187 | +| HP services with GraphQL surface |
| 188 | +| Zig |
| 189 | +| Low priority — HP uses REST and gRPC as primary protocols. |
| 190 | + |
| 191 | +| `v-telemetry/`, `v-validator/`, `v-middleware/`, `v-benchmarks/` |
| 192 | +| Various (unclear which specific consumers) |
| 193 | +| Zig |
| 194 | +| Flagged for user review. These are cross-cutting modules; specific |
| 195 | + consumers not confirmed. See "Flagged for Review" section. |
| 196 | +|=== |
| 197 | + |
| 198 | +=== Flagged for User Review (V-lang) |
| 199 | + |
| 200 | +The following items have **unclear consumer status** and should be reviewed |
| 201 | +before the V donation finalises: |
| 202 | + |
| 203 | +* All 90+ generic protocol scaffolds in `v-api-interfaces/` (WebSocket, |
| 204 | + MQTT, AMQP, Cap'n Proto, etc.) — were any of these being actively |
| 205 | + depended on by an HP project? |
| 206 | +* `v-telemetry/`, `v-validator/`, `v-middleware/`, `v-benchmarks/` — do |
| 207 | + any HP projects import from these, or were they always self-contained |
| 208 | + donation stubs? |
| 209 | +* `v-graphql/` — any HP consumer beyond pattern documentation? |
| 210 | + |
| 211 | +== ReScript Donation Area (`rescript-developer-ecosystem/`) |
| 212 | + |
| 213 | +IMPORTANT: The `rescript-developer-ecosystem/` directory is **not a unified |
| 214 | +donation staging area**. It contains 6 independent git repositories, each |
| 215 | +with its own `.git/` directory and GitHub remote. There is no top-level |
| 216 | +`README` or `TRANSFER.adoc`. This area has not been touched in this cleanup |
| 217 | +session (per standing instructions: report back if it's not what was described). |
| 218 | + |
| 219 | +The user should be aware that to create a proper handover package for the |
| 220 | +ReScript community, these repos would need to be treated individually or a |
| 221 | +wrapper container (with its own TRANSFER.adoc and README) would need to be |
| 222 | +created. See the session report for the full breakdown. |
| 223 | + |
| 224 | +=== ReScript Components — HP Consumption Analysis |
| 225 | + |
| 226 | +[cols="2,2,1,3"] |
| 227 | +|=== |
| 228 | +| Repo | HP Consumer | Recreation Target | Notes |
| 229 | + |
| 230 | +| `rescript/` |
| 231 | +| Compiler fork — not consumed as a library |
| 232 | +| N/A |
| 233 | +| This is a fork of https://github.com/rescript-lang/rescript with |
| 234 | + `upstream` remote pointing there. It is a working copy / contribution |
| 235 | + staging area, not an HP-internal library. No recreation needed. |
| 236 | + |
| 237 | +| `rescript-tea/` |
| 238 | +| PanLL (TEA architecture), potentially IDApTIK and any HP web UIs |
| 239 | +| AffineScript |
| 240 | +| The Elm Architecture implementation for ReScript. HP uses TEA as the |
| 241 | + standard UI pattern. AffineScript's TEA framework is the long-term |
| 242 | + replacement (`affinescript-ecosystem`). Complexity: high (TEA is a |
| 243 | + foundational pattern used broadly). Deferred until AffineScript TEA |
| 244 | + is production-ready. |
| 245 | + |
| 246 | +| `rescript-string-power/` |
| 247 | +| Any HP ReScript code using tagged template utilities (SQL, CSS, GraphQL) |
| 248 | +| AffineScript |
| 249 | +| Tagged template utilities library. HP consumer unclear — may be used in |
| 250 | + IDApTIK or PanLL for SQL/GraphQL query building. Flagged for user review. |
| 251 | + Complexity: medium. |
| 252 | + |
| 253 | +| `rescript-evangeliser/` |
| 254 | +| Developer tooling / onboarding |
| 255 | +| AffineScript (or retire) |
| 256 | +| Pattern-detection and educational tool for JS → ReScript migration. |
| 257 | + HP consumption is low (primarily for external developer education). |
| 258 | + AffineScript equivalent would be a JS → AffineScript evangeliser. |
| 259 | + Low priority for recreation. |
| 260 | + |
| 261 | +| `bridge-web-rescript/` |
| 262 | +| Specification-stage PWA framework |
| 263 | +| AffineScript + Deno |
| 264 | +| Currently at specification stage only — no production HP consumer yet. |
| 265 | + The vision (ReScript → WASM PWA framework) aligns with AffineScript's |
| 266 | + direction. Recreation would be the AffineScript web runtime. Deferred. |
| 267 | + |
| 268 | +| `rescript-wasm-runtime/` |
| 269 | +| Any HP code using Deno/WASM ReScript bindings |
| 270 | +| AffineScript (WASM target) |
| 271 | +| Runtime bindings for Deno + WASM. HP consumer unclear. Flagged for |
| 272 | + user review. AffineScript's WASM target would subsume this. |
| 273 | +|=== |
| 274 | + |
| 275 | +=== Flagged for User Review (ReScript) |
| 276 | + |
| 277 | +* `rescript-string-power/` — confirm which HP repos use tagged template |
| 278 | + utilities before treating as safe to donate |
| 279 | +* `rescript-wasm-runtime/` — confirm which HP repos use Deno WASM bindings |
| 280 | +* `rescript-tea/` — confirm all HP TEA consumers before donation (IDApTIK, |
| 281 | + PanLL, any other web UIs) |
| 282 | +* The entire `rescript-developer-ecosystem/` directory structure — should |
| 283 | + it become a proper container repo with a TRANSFER.adoc, or should each |
| 284 | + of the 6 repos be donated individually? |
| 285 | + |
| 286 | +== Summary |
| 287 | + |
| 288 | +[cols="1,1,1"] |
| 289 | +|=== |
| 290 | +| Area | Items in queue | Recreation target |
| 291 | + |
| 292 | +| V-lang connectors (confirmed HP consumers) |
| 293 | +| 11 |
| 294 | +| Zig (mostly already covered by `zig-api/`) |
| 295 | + |
| 296 | +| V-lang API scaffolds (confirmed HP consumers) |
| 297 | +| 5 (v-proven, v-bebop, 3 × VeriSimDB) |
| 298 | +| Zig |
| 299 | + |
| 300 | +| V-lang infrastructure modules (uncertain consumers) |
| 301 | +| 6 (flagged for review) |
| 302 | +| Zig |
| 303 | + |
| 304 | +| ReScript repos (confirmed or probable HP consumers) |
| 305 | +| 2–4 (rescript-tea, rescript-string-power, rescript-wasm-runtime, bridge-web-rescript) |
| 306 | +| AffineScript |
| 307 | + |
| 308 | +| ReScript compiler fork |
| 309 | +| 0 (no recreation needed) |
| 310 | +| N/A |
| 311 | +|=== |
| 312 | + |
| 313 | +Total items requiring Zig recreation: **16** (11 confirmed + 5 specific scaffolds; up to 6 more pending review) |
| 314 | + |
| 315 | +Total items requiring AffineScript recreation: **2–4** (pending user review of consumers) |
0 commit comments