Skip to content

Cleanup: stop describing the coordinator as a monorepo#119

Merged
hyperpolymath merged 4 commits into
mainfrom
claude/explore-repo-languages-xkrc46
Jul 16, 2026
Merged

Cleanup: stop describing the coordinator as a monorepo#119
hyperpolymath merged 4 commits into
mainfrom
claude/explore-repo-languages-xkrc46

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

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 monorepocoordinator; 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.shOK.
  • 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.ai/code/session_016t5KLJDtqdeDi1EMNqNx6K


Generated by Claude Code

claude added 3 commits July 10, 2026 00:09
stapeln.toml built 14 languages from in-tree dirs that no longer exist
under the pure-coordinator model (incl. retired me-dialect, non-language
7-tentacles, and banned ReScript), and no Justfile recipe referenced it.
Delete it and drop the dangling 'Container (Stapeln)' quickstart options
and the stapeln.toml mention in EXPLAINME. A coordinator builds nothing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016t5KLJDtqdeDi1EMNqNx6K
Reconcile the remaining manifests/docs with the pure-coordinator model:
- opsm.toml: drop the in-tree language 'workspace members'; keep the live
  [runtime] tool pins and reframe as a coordinator manifest.
- CLADE.a2ml: lineage type monorepo -> coordinator (references, not vendors).
- TOPOLOGY.md: replace the hub/satellite + 100%-complete fiction with an
  accurate reference map and a pointer to the canonical status trackers.
- PANIC-ATTACK-TRIAGE.adoc: keep as a dated audit trail but banner it as a
  pre-pivot historical record (its in-tree submodule paths no longer exist).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016t5KLJDtqdeDi1EMNqNx6K
Follow-on to the stapeln.toml deletion: remove the now-broken
'Container (Stapeln)' quickstart options and the stapeln.toml mention in
EXPLAINME (these pointed at the deleted build manifest / non-existent
just recipes).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016t5KLJDtqdeDi1EMNqNx6K
@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath marked this pull request as ready for review July 16, 2026 22:42
@hyperpolymath
hyperpolymath merged commit e8c68ac into main Jul 16, 2026
@hyperpolymath
hyperpolymath deleted the claude/explore-repo-languages-xkrc46 branch July 16, 2026 22:42
hyperpolymath added a commit that referenced this pull request Jul 17, 2026
…rd (#120)

## Context

Final follow-up to the registry reconciliation (#106, #113, #119). Two
parts: **(1)** sweep the
last stale in-tree / count residue those PRs didn't reach, and **(2)**
add a CI guard so the
15-entry family can't silently drift back out of sync.

## 1. Stale-fact sweep

- **`PROOF-NEEDS.md`** — dropped the `~456,000 LOC` count (it counted
code no longer in this
repo) and reframed the in-tree paths (`ephapax/formal/Semantics.v`,
`oblibeny` ABI) as living
in each language's own repo. Kept as a genuine cross-language proof-gap
tracker.
- **`README.adoc`** — disambiguated the **Tangle** language from the
out-of-scope **KRL
resolution stack** in the three places that conflated them (the `KRL — …
(Tangle)` heading, the
database-relationship line, and the entry-point note), consistent with
the split established in
  #106/#113.
- **`EXPLAINME.adoc`** — reconciled the language count. It quoted a
defunct README claim of
"ten programming languages" and carried an 8-row "eight core + two
specialised" table; now says
**14 languages + the KitchenSpeak DSL**, points at `LANGUAGES.a2ml` as
canonical, and notes the
  table is a representative subset (listing the six not shown).
- **`language-status-tracker.jl`** — the repos dir is now overridable
via
`HYPERPOLYMATH_REPOS_DIR` instead of being hardcoded to
`~/Documents/hyperpolymath-repos`, so it
  can run somewhere other than one machine.

(`TEST-NEEDS.md` was already reconciled in #106 — no change needed.)

## 2. Language-registry consistency guard (the durable win)

New **`hooks/validate-language-registry.sh`** + a
**`language-registry`** job in
`dogfood-gate.yml` (mirrors the existing `coordinator-boundary` job). It
fails the build when the
family disagrees across surfaces:

- **Source of truth:** `languages/<id>.md` pointers (15).
- Asserts **exact** match against: `LANGUAGES.a2ml` `[[language]]`
stanzas (excluding
forward-looking `proposed`/`exploratory` entries like typefix-zero), the
boundary-hook `LANGS`
  list, and `ECOSYSTEM.a2ml` `[language-repos]` keys.
- Asserts **superset** for `language-status-tracker.jl` (it also tracks
playgrounds/ecosystem/umbrella).

Adding a language now fails CI until every surface is updated together —
which is exactly the
~10-edits-with-nothing-catching-a-miss problem the original audit found.

## Verification

- `bash hooks/validate-language-registry.sh` → **OK (all surfaces agree
on the 15-language family)**.
- Negative test: dropping a language from any surface makes it exit 1
with the offending
  surface + id named (verified locally against the hook `LANGS` list).
- `bash hooks/validate-coordinator-boundary.sh` → **OK**.
- `dogfood-gate.yml` parses; 7 jobs including `language-registry`, wired
into the summary's `needs`.

## Notes / earlier open items (unchanged)

- The `CLADE.a2ml` `type = "coordinator"` value from #119 still wants
confirmation against the
  external `gv-clade-index` vocabulary.
- The guard treats `proposed`/`exploratory` a2ml statuses as
pointer-exempt (that's how
`typefix-zero` stays registered privately without a `languages/`
pointer).

🤖 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>
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.

2 participants