Skip to content

Commit e8c68ac

Browse files
Cleanup: stop describing the coordinator as a monorepo (#119)
## Context Third and final follow-up from the registry reconciliation (#106, #113). Several manifests and docs still described `nextgen-languages` as an in-tree **monorepo** that builds the languages locally — false under the pure-coordinator model (the languages are standalone `hyperpolymath/<lang>` repos; nothing is built here). This PR reconciles them. The interpretation of "cleanup" here is **make each file truthfully describe a pure coordinator** — *not* build a multi-repo build orchestrator (that would re-introduce the coordinator-boundary tension the whole project is trying to avoid). If you actually wanted the orchestrator route instead, say so and I'll redo it. ## What changed - **`stapeln.toml` — deleted.** It was a container build manifest for 14 in-tree language dirs that don't exist here (and included retired `me-dialect`, non-language `7-tentacles`, and banned ReScript). No `Justfile` recipe referenced it. A coordinator builds nothing. - **`opsm.toml` — rewritten.** Dropped the fictional `[workspace] members` language list; kept the live `[runtime]` tool pins (used by `just runtime-install`, and a reasonable family-wide version reference) and reframed the header as a coordinator manifest. - **`.machine_readable/CLADE.a2ml` — `[lineage] type`** `monorepo` → `coordinator`; `parent` reworded to "references, does not vendor". - **`TOPOLOGY.md` — rewritten.** Replaced the hub/satellite diagram and the "100% everything" completion dashboard (which contradicted `STATE.a2ml`'s `completion-percentage = 15`) with an accurate reference map and a pointer to the canonical status trackers. - **`PANIC-ATTACK-TRIAGE.adoc` — preserved as history.** It's a genuine dated (2026-04-10) audit trail, not a live manifest, so instead of deleting it I banner-marked it as a **pre-pivot historical record** whose in-tree submodule paths no longer exist. - **Dangling references** to the deleted `stapeln.toml` removed from the two quickstarts (`Container (Stapeln)` options — which pointed at non-existent `just stapeln-*` recipes) and `EXPLAINME.adoc`. Net: **−422 lines**, mostly the deleted build manifest. ## Verification - `bash hooks/validate-coordinator-boundary.sh` → **OK**. - No remaining references to `stapeln.toml` / `stapeln-export` / `stapeln-run` anywhere. - The only remaining "monorepo" mentions in active files are explicit *historical* annotations ("pre-pivot monorepo", `Was "monorepo"`, the PANIC banner). ## One thing to confirm `CLADE.a2ml` `[lineage] type = "coordinator"` — I don't know the exact vocabulary the external `gv-clade-index` registry accepts. It's the truthful value; confirm the index accepts it (vs. e.g. `standalone`/`polyrepo`) and I'll adjust if needed. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_016t5KLJDtqdeDi1EMNqNx6K --- _Generated by [Claude Code](https://claude.ai/code/session_016t5KLJDtqdeDi1EMNqNx6K)_ --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 624dc96 commit e8c68ac

8 files changed

Lines changed: 90 additions & 512 deletions

File tree

.machine_readable/CLADE.a2ml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,11 @@ gitlab = "hyperpolymath/nextgen-languages"
2121
bitbucket = "hyperpolymath/nextgen-languages"
2222

2323
[lineage]
24-
type = "monorepo"
25-
parent = "Monorepo — anvomidav, ephapax, wokelang, eclexia, affinescript, betlang, etc."
24+
# Pure coordinator: references the family, does not contain it. (Was "monorepo"
25+
# before the 2026-06 pure-coordinator pivot; the in-tree languages were extracted
26+
# to their own standalone repos.)
27+
type = "coordinator"
28+
parent = "Pure coordinator — references (does not vendor) the standalone hyperpolymath/<lang> language repos; canonical registry in .machine_readable/LANGUAGES.a2ml"
2629
born = "2026-03-16"
2730

2831
# Lifecycle status (added by clade-status-backfill; see gv-clade-index ADR 0006).

EXPLAINME.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ progress across all languages from this coordinator
221221
| Every RSR repo in the account
222222

223223
| *Stapeln containers*
224-
| `stapeln.toml` — compiler toolchain containers
224+
| Account-wide layered container tool; the coordinator ships no build container (it contains no language code to build)
225225
| All containerised services in the account
226226
|===
227227

PANIC-ATTACK-TRIAGE.adoc

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,17 @@
66

77
**Scanner:** `panic-attack assail`
88
**Date of scan:** 2026-04-10
9-
**Scope:** `nextgen-languages` monorepo (all submodules)
9+
**Scope:** the pre-pivot `nextgen-languages` monorepo (all submodules, since extracted)
10+
11+
[IMPORTANT]
12+
====
13+
**Historical record (2026-04-10).** This triage predates the pure-coordinator pivot, when
14+
the languages were in-tree submodules of `nextgen-languages`. Those submodules have since
15+
been extracted to their own standalone `hyperpolymath/<lang>` repos, so the in-tree paths
16+
below (`my-lang/crates/…`, `ephapax/src/…`, etc.) no longer exist in this coordinator — the
17+
findings now live in each language's own repo. Kept as an audit trail; do **not** read it as
18+
current coordinator state.
19+
====
1020

1121
[NOTE]
1222
====

QUICKSTART-MAINTAINER.adoc

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,6 @@ guix build -f guix.scm
4242
nix build
4343
----
4444

45-
=== Container (Stapeln)
46-
47-
[source,bash]
48-
----
49-
just stapeln-export # Generates Containerfile
50-
podman build -t nextgen-languages .
51-
----
52-
5345
=== Manual Package
5446

5547
[source,bash]

QUICKSTART-USER.adoc

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,7 @@ The setup script will:
5151
* Offer install location choices
5252
* Run a self-diagnostic to verify everything works
5353

54-
=== Option 2: Container (via Stapeln)
55-
56-
[source,bash]
57-
----
58-
just stapeln-run
59-
----
60-
61-
=== Option 3: Portable (no system changes)
54+
=== Option 2: Portable (no system changes)
6255

6356
[source,bash]
6457
----

TOPOLOGY.md

Lines changed: 59 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -2,102 +2,76 @@
22
SPDX-License-Identifier: CC-BY-SA-4.0
33
Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
44
-->
5-
<!-- TOPOLOGY.md — Project architecture map and completion dashboard -->
6-
<!-- Last updated: 2026-04-04 -->
5+
<!-- TOPOLOGY.md — Coordinator architecture map -->
6+
<!-- Last updated: 2026-07-10 -->
77

8-
# Next-Gen Languages — Project Topology
8+
# Next-Gen Languages — Coordinator Topology
99

10-
## System Architecture
10+
`nextgen-languages` is a **pure coordinator**. It contains no language code: it
11+
*references* a family of standalone `hyperpolymath/<lang>` repositories and holds the
12+
cross-language registries, trackers, governance, and CI that coordinate them. The map
13+
below is a reference diagram, **not** an in-tree component tree.
1114

12-
```
13-
┌─────────────────────────────────────────┐
14-
│ LANGUAGE DESIGNER │
15-
│ (Specs, Metaprogramming, FFI) │
16-
└───────────────────┬─────────────────────┘
17-
18-
19-
┌─────────────────────────────────────────┐
20-
│ NEXT-GEN LANGUAGES HUB │
21-
│ │
22-
│ ┌───────────┐ ┌───────────────────┐ │
23-
│ │ Solo/Duet │ │ Phronesis │ │
24-
│ │ (Systems) │ │ (Ethics/Safety) │ │
25-
│ └─────┬─────┘ └────────┬──────────┘ │
26-
│ │ │ │
27-
│ ┌─────▼─────┐ ┌────────▼──────────┐ │
28-
│ │ Eclexia │ │ WokeLang │ │
29-
│ │ (Green) │ │ (Human-centric) │ │
30-
│ └─────┬─────┘ └───────────────────┘ │
31-
└────────│────────────────────────────────┘
32-
33-
34-
┌─────────────────────────────────────────┐
35-
│ SATELLITE REPOSITORIES │
36-
│ ┌───────────┐ ┌───────────┐ ┌───────┐│
37-
│ │ anvomidav │ │ oblibeny │ │ ephapax││
38-
│ └───────────┘ └───────────┘ └───────┘│
39-
│ ┌───────────┐ ┌───────────┐ ┌───────┐│
40-
│ │ betlang │ │ error-lang│ │ tangle ││
41-
│ └───────────┘ └───────────┘ └───────┘│
42-
└───────────────────┬─────────────────────┘
43-
44-
45-
┌─────────────────────────────────────────┐
46-
│ DATABASE & MARKUP │
47-
│ (GQL-dt, A2ML, fqldt, a2ml) │
48-
└─────────────────────────────────────────┘
15+
## Reference map
4916

50-
┌─────────────────────────────────────────┐
51-
│ REPO INFRASTRUCTURE │
52-
│ Parent Tracking Only .machine_readable/│
53-
│ 6SCM Metadata 0-AI-MANIFEST.a2ml│
54-
└─────────────────────────────────────────┘
5517
```
56-
57-
## Completion Dashboard
58-
18+
┌───────────────────────────────────────────────┐
19+
│ nextgen-languages (this repo) │
20+
│ PURE COORDINATOR │
21+
│ │
22+
│ Registries & trackers │
23+
│ .machine_readable/LANGUAGES.a2ml │
24+
│ languages/*.md · TOOLING-STATUS.adoc │
25+
│ PROOF-NEEDS.md · TEST-NEEDS.md │
26+
│ language-status-tracker.jl │
27+
│ Governance · CI · coordinator-boundary guard │
28+
└───────────────────────┬───────────────────────┘
29+
│ references (never vendors)
30+
┌───────────────────────────────────┼───────────────────────────────────┐
31+
▼ ▼ ▼
32+
┌────────────────┐ ┌────────────────┐ ┌────────────────┐
33+
│ General-purpose│ │ Specialised │ │ Private / │
34+
│ & foundational │ │ & DSL │ │ exploratory │
35+
├────────────────┤ ├────────────────┤ ├────────────────┤
36+
│ my-lang │ │ kitchenspeak │ │ 007 (private) │
37+
│ phronesis │ │ (DSL) │ │ typefix-zero │
38+
│ eclexia │ └────────────────┘ │ (private) │
39+
│ oblibeny │ └────────────────┘
40+
│ anvomidav │
41+
│ wokelang │ Each box is a standalone hyperpolymath/<lang> repo. This
42+
│ betlang │ coordinator holds a pointer + registry entry for each one;
43+
│ jtv │ the implementation, specs, grammars, and proofs live there,
44+
│ affinescript │ never here.
45+
│ ephapax │
46+
│ haec │
47+
│ error-lang │
48+
│ tangle │
49+
└────────────────┘
5950
```
60-
COMPONENT STATUS NOTES
61-
───────────────────────────────── ────────────────── ─────────────────────────────────
62-
LANGUAGE PORTFOLIO
63-
Solo / Duet / Ensemble ██████████ 100% Progressive family mapped
64-
Phronesis (Safety) ██████████ 100% Ethical framework stable
65-
Eclexia (Sustainable) ██████████ 100% Resource constraints active
66-
WokeLang (Human-centric) ██████████ 100% Consent model verified
6751

68-
SATELLITE PROGRESS
69-
Anvomidav (Formal) ██████████ 100% Real-time verification active
70-
Oblibeny (Secure) ██████████ 100% Turing-incomplete mode stable
71-
Ephapax (Linear) ██████████ 100% Dyadic type system active
72-
betlang (Foundational) ██████████ 100% Core experiments verified
73-
Groove Manifests ██████████ 100% Service discovery active (affinescript, jtv)
52+
## Adjacent estates (referenced, out of scope)
7453

75-
REPO INFRASTRUCTURE
76-
6SCM Documentation Hub ██████████ 100% Canonical specs active
77-
.machine_readable/ ██████████ 100% STATE tracking active
78-
Parent Coordination ██████████ 100% Portfolio Architected
54+
Tracked elsewhere and listed only for discoverability — **not** part of the language-family
55+
registry: the KRL resolution stack (`krl → TangleIR → VeriSimCore → Skein.jl / quandledb`)
56+
and the database / type-theory languages (VCL-total, Quandledb, TypeLL, PanLL,
57+
VQL/GQL/FBQL-DT). See `docs/language-portfolio.md` and the "Adjacent estates" section of
58+
`TOOLING-STATUS.adoc`.
7959

80-
─────────────────────────────────────────────────────────────────────────────
81-
OVERALL: ██████████ 100% Language Ecosystem Indexed
82-
```
60+
## Where status actually lives
8361

84-
## Key Dependencies
85-
86-
```
87-
Philosophy ──────► Design Spectrum ──────► Satellite Repo ──────► Artifact
88-
│ │ │ │
89-
▼ ▼ ▼ ▼
90-
CCCP Policy ─────► Verification ────────► Implementation ─────► Binary
91-
```
62+
This coordinator does **not** assert per-language completion — maturity is tracked in each
63+
language's own repo and mirrored in the canonical trackers:
9264

93-
## Update Protocol
65+
- `.machine_readable/LANGUAGES.a2ml` — machine-readable registry (id, repo, invariant, status)
66+
- `TOOLING-STATUS.adoc` — per-language grade matrix (CRG/TRG/ARG/FRG/RSR)
67+
- `PROOF-NEEDS.md` / `TEST-NEEDS.md` — cross-language proof/test gaps
68+
- `language-status-tracker.jl` — script that reports cross-language repo status
9469

95-
This file is maintained by both humans and AI agents. When updating:
70+
The coordinator's own scaffolding status lives in `.machine_readable/6a2/STATE.a2ml`
71+
(`completion-percentage`), which reflects coordinator maturity — not a family-wide 100%.
9672

97-
1. **After completing a component**: Change its bar and percentage
98-
2. **After adding a component**: Add a new row in the appropriate section
99-
3. **After architectural changes**: Update the ASCII diagram
100-
4. **Date**: Update the `Last updated` comment at the top of this file
73+
## Update protocol
10174

102-
Progress bars use: `` (filled) and `` (empty), 10 characters wide.
103-
Percentages: 0%, 10%, 20%, ... 100% (in 10% increments).
75+
When the family changes (a language added, extracted, renamed, or retired), update the
76+
registries listed above **together** — they must agree — then refresh this map. Do not add
77+
per-language implementation detail here; it belongs in that language's own repo.

opsm.toml

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,24 @@
11
# SPDX-License-Identifier: MPL-2.0
22
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
33
#
4-
# nextgen-languages workspace manifest.
5-
# OPSM is the native package manager for all nextgen languages.
4+
# nextgen-languages OPSM manifest.
5+
# OPSM is the native package manager for the nextgen languages family.
6+
#
7+
# nextgen-languages is a PURE COORDINATOR: the language packages live in their
8+
# own standalone hyperpolymath/<lang> repos, so there is no in-tree workspace to
9+
# install or publish here. This manifest pins the coordinator's tooling
10+
# ([runtime], which also serves as the family-wide toolchain version reference)
11+
# and declares the shared services its CI/tooling talks to.
612
#
713
# Usage:
8-
# opsm install # install workspace deps
9-
# opsm publish --registry hf # publish all member packages
1014
# opsm runtime install # install pinned tool versions below
1115

1216
[workspace]
13-
# All language sub-projects in this monorepo
14-
members = [
15-
"affinescript",
16-
"betlang",
17-
"eclexia",
18-
"ephapax",
19-
"error-lang",
20-
"jtv",
21-
"my-lang",
22-
"oblibeny",
23-
"phronesis",
24-
"tangle",
25-
"wokelang",
26-
]
17+
# Pure coordinator: the language packages are NOT in-tree members — each lives in
18+
# its own standalone hyperpolymath/<lang> repo (see
19+
# .machine_readable/LANGUAGES.a2ml). This list held the pre-pivot monorepo
20+
# membership and is intentionally empty now.
21+
members = []
2722

2823
# Workspace-level default registry — all members publish here unless overridden
2924
default_registry = "hf"

0 commit comments

Comments
 (0)