Skip to content

Finalize pure-coordinator pivot: stop language-content leakage + resite what leaked#88

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/determined-hypatia-i3slaw
Jun 19, 2026
Merged

Finalize pure-coordinator pivot: stop language-content leakage + resite what leaked#88
hyperpolymath merged 1 commit into
mainfrom
claude/determined-hypatia-i3slaw

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Why

This repo pivoted from a monorepo (12 languages vendored as submodules) to a pure coordinator (each language a standalone hyperpolymath/<lang> repo) in mid-June 2026 — submodules were removed, .gitmodules is gone, and ECOSYSTEM.a2ml records it. But the AI-facing instruction layer was never rewritten, so it still told every LLM this was a monorepo whose implementations live in in-tree subdirectories. Agents obeyed those instructions and kept adding language-specific content back into the coordinator. The leakage was the stale manifest's fault, not the models'.

This PR finishes the pivot: rewrites the stale instructions, adds a mechanical guard so it can't silently recur, and resites/removes the content that already leaked.

What changed

1. Stop the bleeding — rewrite stale instruction files

  • 0-AI-MANIFEST.a2ml (the universal bot entry point): now leads with a COORDINATOR BOUNDARY section; dropped "this is a monorepo / languages as submodules / git submodule update" framing.
  • EXPLAINME.adoc: gutted the dead File Map that documented ~16 in-tree language dirs that no longer exist; fixed banned-ReScript references; added a "Where each language lives" pointer table.
  • README.adoc: collapsed the long in-tree KitchenSpeak section to an external pointer; removed the headingless "TypeFix Zero / TF0" spec dump (a classic agent paste); fixed in-tree nextgen-languages/<lang>/ paths; corrected the actively-backwards "this repo focuses on the language implementations themselves".
  • docs/language-portfolio.md, TOOLING-STATUS.adoc, wiki/Home.md, .claude/CLAUDE.md: rewritten to coordinator reality (no /var$REPOS_DIR in-tree paths, no submodule structure diagrams).

2. Enforce it — new boundary guard (so it can't recur)

  • hooks/validate-coordinator-boundary.sh fails the build on language-source signatures (*.agda/*.ebnf/*.ks/*.lean/*.idr…), compiler source trees, or a re-vendored language directory (ephapax/, …). Allowlists extraction-queue/.
  • Wired into the contractile Mustfile.a2ml ([checks.boundary]), the K9 must-check.k9.ncl (coordinator_boundary, error-severity), contractile.just (must-no-language-leak), the root Mustfile, and a hard-gating coordinator-boundary job in dogfood-gate.yml.
  • Verified: passes on the cleaned tree; a planted .agda file + ephapax/src/lib.rs + an ephapax/ dir all trip it (exit 1).

3. Resite what leaked

  • Deleted the superseded in-tree kitchenspeak/ snapshot (canonical v2.0 lives at hyperpolymath/kitchenspeak; its own MOVED.adoc pre-authorized removal) and purged every dangling reference — including the hard-break contractile [checks.kitchenspeak] and K9 checks that would otherwise fail CI. Removed the now-obsolete scripts/elevate-kitchenspeak.sh.
  • Staged per-language wiki/languages/* and docs/design/* docs under extraction-queue/<lang>/ (see ⚠️ below), and the TF0 spec under extraction-queue/typefix-zero/.
  • Normalized languages/*.md to thin pointer stubs.
  • Added EXTRACTION-MANIFEST.md mapping every removed/staged path → destination repo → disposition.

⚠️ Scope limitation (needs follow-up)

This session's GitHub access was scoped to hyperpolymath/nextgen-languages only — it could not push into the sibling language repos. So per-language docs that aren't already superseded upstream were staged in extraction-queue/ rather than deleted (no data loss; git history preserves everything). Landing them in each hyperpolymath/<lang> repo, then deleting the queue, is a follow-up for a session/maintainer with those repos in scope. EXTRACTION-MANIFEST.md is the actionable map.

Verification

  • hooks/validate-coordinator-boundary.sh → exits 0 on this tree; exits 1 on planted leaks.
  • No *.agda/*.ebnf/*.ks remain in-tree; no live kitchenspeak/ path references (only historical CHANGELOG lines + the manifest).
  • No stale "monorepo/submodule" instructions remain in 0-AI-MANIFEST.a2ml/EXPLAINME.adoc (only the new "this is NOT a monorepo" clarifications).
  • K9-critical [accepted-findings] header preserved in NEUROSYM.a2ml.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MWPX7iyvHf5AuwBAn1sJPy


Generated by Claude Code

…eakage, resite leaked content

nextgen-languages pivoted from monorepo to pure coordinator (submodules removed
2026-06-13), but the AI-facing instruction layer still described a monorepo whose
implementations live in-tree — so LLMs kept adding language content back into the hub.
This finalizes the pivot.

Stop the bleeding (rewrite stale instructions):
- 0-AI-MANIFEST.a2ml: lead with a COORDINATOR BOUNDARY section; drop the monorepo/
  "languages as submodules" framing and the submodule-update workflow
- EXPLAINME.adoc: gut the dead in-tree File Map; fix banned-ReScript refs; add a
  "where each language lives" pointer table
- README.adoc: collapse KitchenSpeak to an external pointer; remove the headingless
  TypeFix Zero spec dump; fix in-tree nextgen-languages/<lang>/ paths
- docs/language-portfolio.md, TOOLING-STATUS.adoc, wiki/Home.md, .claude/CLAUDE.md:
  rewrite to coordinator reality

Enforce it (new boundary guard so it cannot silently recur):
- hooks/validate-coordinator-boundary.sh fails on language-source signatures
  (.agda/.ebnf/.ks/.lean/.idr/…), compiler source trees, or a re-vendored language dir
- wired into the contractile Mustfile.a2ml, the K9 must-check.k9.ncl, contractile.just,
  the root Mustfile, and a hard-gating coordinator-boundary job in dogfood-gate.yml

Resite what already leaked:
- delete the superseded in-tree kitchenspeak/ snapshot (canonical v2.0 lives at
  hyperpolymath/kitchenspeak) and purge its dangling contractile/K9/metadata references
- stage per-language wiki/ and docs/design/ docs under extraction-queue/ (this session's
  GitHub scope can't push into the sibling repos) with EXTRACTION-MANIFEST.md mapping each
  staged path to its destination repo
- normalize languages/*.md to thin pointer stubs

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MWPX7iyvHf5AuwBAn1sJPy
@hyperpolymath hyperpolymath marked this pull request as ready for review June 19, 2026 22:38
@hyperpolymath hyperpolymath merged commit 85c8144 into main Jun 19, 2026
12 checks passed
@hyperpolymath hyperpolymath deleted the claude/determined-hypatia-i3slaw branch June 19, 2026 22:39
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