Skip to content

Commit 2d1f376

Browse files
Merge branch 'main' into dependabot/npm_and_yarn/rescript-ecosystem/rescript/packages/playground/npm_and_yarn-8f0776d97d
2 parents e77b14a + b8adb6d commit 2d1f376

4,160 files changed

Lines changed: 398907 additions & 2304 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SPDX-License-Identifier: PMPL-1.0-or-later
1+
SPDX-License-Identifier: MPL-2.0
22
SPDX-FileCopyrightText: 2024-2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33

44
------------------------------------------------------------------------

RECREATION-QUEUE.adoc

Lines changed: 315 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,315 @@
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

Comments
 (0)