Skip to content

Commit 85c8144

Browse files
claudehyperpolymath
authored andcommitted
chore(coordinator): finalize pure-coordinator pivot — stop language leakage, 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
1 parent 87b8cc4 commit 85c8144

76 files changed

Lines changed: 623 additions & 4436 deletions

Some content is hidden

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

.claude/CLAUDE.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
## CRITICAL: This Is a Pure Coordinator, Not a Monorepo
2+
3+
`nextgen-languages` coordinates a language family; it does **not** contain it. Each language
4+
is its own standalone `hyperpolymath/<lang>` repo, referenced — never vendored, never a
5+
submodule. **Do not add language implementations, specs, grammars, proofs, compilers, or
6+
per-language wiki/design docs here.** If you are about to create such content, it belongs in
7+
that language's own repo. This boundary is enforced by
8+
`hooks/validate-coordinator-boundary.sh` (CI job `coordinator-boundary`). See
9+
`0-AI-MANIFEST.a2ml` (COORDINATOR BOUNDARY) and `EXTRACTION-MANIFEST.md`.
10+
111
## CRITICAL: Pedagogy Lives Outside This Repo
212

313
Curriculum, syllabus, aspect-agents, kin framework, and the Me runtime projector all live

.github/workflows/dogfood-gate.yml

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,13 +236,35 @@ jobs:
236236
echo "| Has HTTP server code | ${{ steps.groove.outputs.has_server }} |" >> "$GITHUB_STEP_SUMMARY"
237237
238238
# ---------------------------------------------------------------------------
239-
# Job 5: Dogfooding summary
239+
# Job 5: Coordinator boundary — no language-implementation content in the hub
240+
# ---------------------------------------------------------------------------
241+
coordinator-boundary:
242+
name: Coordinator boundary (no language leakage)
243+
runs-on: ubuntu-latest
244+
timeout-minutes: 15
245+
246+
steps:
247+
- name: Checkout repository
248+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
249+
250+
- name: Enforce pure-coordinator boundary
251+
run: bash hooks/validate-coordinator-boundary.sh
252+
253+
- name: Write summary
254+
if: always()
255+
run: |
256+
echo "## Coordinator Boundary" >> "$GITHUB_STEP_SUMMARY"
257+
echo "" >> "$GITHUB_STEP_SUMMARY"
258+
echo "Verifies that no language-implementation content (proofs, grammars, compilers, specs, or a re-vendored language directory) has leaked into the coordinator. Language code lives in each \`hyperpolymath/<lang>\` repo, referenced here — not embedded." >> "$GITHUB_STEP_SUMMARY"
259+
260+
# ---------------------------------------------------------------------------
261+
# Job 6: Dogfooding summary
240262
# ---------------------------------------------------------------------------
241263
dogfood-summary:
242264
name: Dogfooding compliance summary
243265
runs-on: ubuntu-latest
244266
timeout-minutes: 15
245-
needs: [a2ml-validate, k9-validate, empty-lint, groove-check]
267+
needs: [a2ml-validate, k9-validate, empty-lint, groove-check, coordinator-boundary]
246268
if: always()
247269

248270
steps:

.machine_readable/6a2/ECOSYSTEM.a2ml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ type = "component"
1111

1212
[related-projects]
1313
# Projects this repo coordinates with directly.
14-
echo-types = "hyperpolymath/echo-types — Agda formal model of structured loss (Echo fiber); KitchenSpeak's Echo substrate"
14+
echo-types = "hyperpolymath/echo-types — Agda formal model of structured loss (Echo fiber); Echo substrate consumed by the KitchenSpeak external repo"
1515
echotypes-jl = "hyperpolymath/EchoTypes.jl — executable finite-domain companion to echo-types (runtime model, not a proof)"
1616
standards = "hyperpolymath/standards — governance + Hypatia reusable workflows (pinned)"
1717
typed-wasm = "hyperpolymath/typed-wasm — WasmGC compilation target for AffineScript/Ephapax"
@@ -35,4 +35,4 @@ oblibeny = "hyperpolymath/oblibeny"
3535
phronesis = "hyperpolymath/phronesis"
3636
tangle = "hyperpolymath/tangle"
3737
wokelang = "hyperpolymath/wokelang"
38-
kitchenspeak = "in-tree, standalone-repo-ready; elevate via scripts/elevate-kitchenspeak.sh"
38+
kitchenspeak = "hyperpolymath/kitchenspeak"

.machine_readable/6a2/META.a2ml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,12 @@ license = "MPL-2.0"
99
standard = "RSR 2026"
1010

1111
[architecture-decisions]
12-
# Repo-level and per-language ADRs (kitchenspeak ADRs under kitchenspeak/decisions/).
13-
ks-0001 = "Proof assistant for KitchenSpeak: Agda (Lean 4 reserved as successor)"
14-
ks-0002 = "Elevate KitchenSpeak to a standalone repository + submodule"
15-
ks-0003 = "Base KitchenSpeak's Echo type on the hyperpolymath/echo-types library"
16-
ks-0004 = "Echo attaches to Linear/Dyadic consumption (B-now / C-later / A-shim)"
12+
# Repo-level ADRs. Per-language ADRs (including the former in-tree KitchenSpeak
13+
# 0001-0004 echo/proof/elevation decisions) now live in their own language
14+
# repos — KitchenSpeak's are canonical in hyperpolymath/kitchenspeak.
15+
coordinator-boundary = "nextgen-languages is a pure coordinator: languages are referenced as standalone repos, never vendored in-tree (guarded by hooks/validate-coordinator-boundary.sh + dogfood-gate coordinator-boundary)"
1716

1817
[practices]
19-
proofs-first = "KitchenSpeak leads with Agda proofs (its Agda-Proven invariant) ahead of compiler work"
2018
ci-hygiene = "All real jobs carry timeout-minutes; actions SHA-pinned; reusable-caller jobs exempt from timeout"
2119
hypatia-waivers = "Recurring scan advisories are triaged once in NEUROSYM.a2ml [waivers], not re-fixed per PR"
2220
adr-granularity = "Architecture-decision PRs are kept separate from implementation PRs"

.machine_readable/6a2/NEUROSYM.a2ml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ report-format = "logtalk"
5151
# ---------------------------------------------------------------------------
5252

5353
[accepted-findings]
54+
# (kitchenspeak agda-postulate waivers removed — subtree extracted 2026-06-19)
5455
policy = "Findings listed below are triaged and accepted; do not auto-fix."
5556
ruleset-location = "hyperpolymath/standards (external to this repo)"
5657
scan-is-blocking = false
@@ -85,11 +86,3 @@ severity = "high"
8586
disposition = "addressed"
8687
justification = "The repository-dispatch step is gated on FARM_DISPATCH_TOKEN presence via a job-level env plus a step-level `if`. Detector may expect a job-level gate."
8788
action = "If suppression is required, confirm the detector's expected gate shape with standards."
88-
89-
[waivers.agda-postulate-trusted-base]
90-
rule = "agda_postulate"
91-
files = "kitchenspeak/proofs/agda/Dough.agda, kitchenspeak/proofs/agda/PoachedEgg.agda"
92-
severity = "critical"
93-
disposition = "by-design"
94-
justification = "These postulates are KitchenSpeak's deliberate trusted base: postulated echo-oracle sensor streams and the GENTLE controller spec. Each is annotated inline (AXIOM:) and enumerated in PROOF-NEEDS.md; they are documented trust boundaries, not undocumented soundness holes. The blocking Trusted-base reduction policy passes."
95-
action = "Replaced by verified HAL bindings in a production lowering; tracked in PROOF-NEEDS.md."

.machine_readable/6a2/STATE.a2ml

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
[metadata]
66
project = "nextgen-languages"
77
version = "0.1.0"
8-
last-updated = "2026-06-12"
8+
last-updated = "2026-06-19"
99
status = "active"
1010

1111
[project-context]
1212
name = "nextgen-languages"
1313
completion-percentage = 15
14-
phase = "CRG C achieved for ephapax workspace (2026-04-04); KitchenSpeak elevated + proofs commenced (2026-06)"
14+
phase = "CRG C achieved for ephapax workspace (2026-04-04); pure-coordinator pivot finalized — in-tree kitchenspeak/ snapshot removed (canonical at hyperpolymath/kitchenspeak), coordinator-boundary guard added (2026-06-19)"
1515

1616
[crg-status]
1717
overall = "CRG C achieved 2026-04-04"
@@ -32,17 +32,6 @@ p2p-property-tests = "Loop-based invariant checks (10-20 iterations each)"
3232
e2e-tests = "Full pipeline: lexer->tokens, module->discipline check"
3333
aspect-tests = "Robustness: empty inputs, stateless checkers, edge cases"
3434

35-
[kitchenspeak]
36-
# KitchenSpeak: experimental, formally-verified kitchen-orchestration DSL.
37-
status = "elevated to standalone-repo-ready; proofs-first development commenced"
38-
listed-as = "DSL in README.adoc and EXPLAINME.adoc"
39-
elevation = "scripts/elevate-kitchenspeak.sh creates hyperpolymath/kitchenspeak + submodule (needs repo-create rights)"
40-
proofs = "Dough.agda, PoachedEgg.agda (Linear+Tropical+Echo), EchoBridge.agda; harness: proofs/Makefile + kitchenspeak.agda-lib"
41-
proofs-status = "hand-verified, not yet machine-checked (Agda not in CI yet; ROADMAP Phase 1a)"
42-
decisions = "ADR 0001 (Agda), 0002 (elevation), 0003 (echo-types dependency), 0004 (Echo attaches to Linear/Dyadic: B-now/C-later/A-shim)"
43-
echo-types = "Echo type bound to hyperpolymath/echo-types fiber; canonical attachment is Linear/Dyadic per ADR 0004; Bool bridge is a temporary smoke-test"
44-
gated = "B-implementation gated on echo-types repo in scope (read EchoLinear/EchoTropical/EchoChoreo/EchoEpistemic/EchoResidueTaxonomy first)"
45-
4635
[ci-governance]
4736
# Outcome of the 2026-06 CI hygiene pass.
4837
timeouts = "timeout-minutes added to all real runs-on+steps jobs (reusable-caller jobs intentionally excluded)"
@@ -55,6 +44,7 @@ codeql-cron = "weekly -> monthly (standards#288, cherry-picked 2026-06-12)"
5544

5645
[recent-work]
5746
# Landed since the 2026-06-02 STATE refresh (witness: git log).
47+
coordinator-boundary = "2026-06-19: finalized pure-coordinator pivot — removed in-tree kitchenspeak/ snapshot (canonical at hyperpolymath/kitchenspeak), added hooks/validate-coordinator-boundary.sh guard + dogfood-gate coordinator-boundary CI job, rewrote stale monorepo instructions (0-AI-MANIFEST/EXPLAINME), staged per-language docs to extraction-queue/ with EXTRACTION-MANIFEST.md"
5848
pr-68 = "KitchenSpeak registered in LANGUAGES.a2ml, Intentfile, Mustfile"
5949
pr-69 = "ReScript banned estate-wide (Hyperpolymath Standard); CLAUDE.md + policy tables updated"
6050
scm-pointer-fix = "stale .scm state-location pointers fixed in ROADMAP and CHANGELOG (196e0ad)"
@@ -64,11 +54,8 @@ estate-standardization = "2026-06-12: origin/estate-standardization-20260607 mer
6454
governance-checkpoint = "2026-06-12: bot_directives trio (hypatia, gitbot-fleet, git-private-farm), flat Dustfile/Bustfile added, STATE bumped, wiki status note"
6555

6656
[blockers]
67-
kitchenspeak-ci = "Agda proofs hand-verified but not yet machine-checked in CI (ROADMAP Phase 1a)"
68-
kitchenspeak-elevation = "standalone-repo elevation needs repo-create rights (scripts/elevate-kitchenspeak.sh)"
6957
governance-pin = "governance-reusable.yml referenced at @main; SHA pin pending authenticated lookup (NEUROSYM [waivers.governance-reusable-pin])"
7058

7159
[next-actions]
72-
machine-check-proofs = "wire Agda check of kitchenspeak/proofs into CI (Phase 1a)"
7360
claude-md-paths = "maintainer edit needed: .claude/CLAUDE.md references my-lang/frontier-practices/ and my-lang/_exploratory/me-scaffolding/, which are not visible in-tree (paths live inside the my-lang submodule); proposed as issue at the 2026-06-12 checkpoint"
7461
verisim-naming = "integrations/verisim.a2ml vs siblings' verisimdb.a2ml — naming alignment proposed as issue, not renamed unilaterally"

.machine_readable/LANGUAGES.a2ml

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -393,16 +393,6 @@ migrated-from = "LANGUAGES.scm"
393393
[languages.kitchenspeak]
394394
name = "KitchenSpeak"
395395
kind = "Orchestration DSL"
396-
status = "proofs-first"
397-
phase = "Phase 1 (Dough + PoachedEgg proofs; EchoBridge smoke-test)"
398-
location = "kitchenspeak/"
399-
standalone-repo = "hyperpolymath/kitchenspeak"
400-
standalone-repo-status = "pending — run scripts/elevate-kitchenspeak.sh"
401-
proof-assistant = "Agda 2.6.4+"
402-
stdlib-min = "standard-library 2.3+"
403-
extra-deps = ["echo-types", "absolute-zero"]
404-
types = ["Tropical", "Linear", "Choreographic", "Echo", "Dyadic", "Ceremonial", "Primitive"]
405-
invariant = "Agda-Proven — proofs lead implementation"
406-
adrs = ["0001-proof-assistant", "0002-elevation", "0003-echo-types-dep", "0004-echo-attaches-to-linear-dyadic"]
407-
echo-attachment = "B-now (Linear/Dyadic consumption); C-later (full Echo fiber); A-shim (Bool bridge, non-canonical)"
408-
added = "2026-06-02"
396+
status = "external"
397+
canonical-repo = "hyperpolymath/kitchenspeak"
398+
note = "extracted from this coordinator; in-tree snapshot removed"

.machine_readable/bot_directives/gitbot-fleet.a2ml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ ci-green-before-merge = true
2525
# non-blocking and MUST NOT gate the merge.
2626
never-touch = [
2727
".claude/CLAUDE.md",
28-
"kitchenspeak/proofs/",
28+
"hooks/validate-coordinator-boundary.sh",
2929
"LICENSE",
3030
".github/workflows/ (without explicit maintainer approval)",
3131
]
@@ -39,7 +39,7 @@ deny = ["force-push", "push to main", "delete main or open branches"]
3939

4040
[per-bot.echidnabot]
4141
allow = ["lint", "format", "report"]
42-
deny = ["weaken or delete tests", "edit kitchenspeak/proofs/ (proofs lead implementation, ADR 0001)"]
42+
deny = ["weaken or delete tests", "vendor language source in-tree (pure coordinator; see hooks/validate-coordinator-boundary.sh)"]
4343

4444
[per-bot.sustainabot]
4545
allow = ["dependency bump PRs (SHA-pinned actions only)"]

.machine_readable/bot_directives/hypatia.a2ml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ reusable-caller-timeout = "missing_timeout_minutes on governance/hypatia-scan/mi
2323
governance-reusable-pin = "unpinned_action on governance.yml — tracked: standards governance-reusable.yml referenced at @main pending SHA pin via authenticated lookup"
2424
scorecard-publish-split = "scorecard_publish_with_run_step on scorecard-enforcer.yml — addressed: privileged publish job split from unprivileged score-gate job; detector pattern mismatch"
2525
instant-sync-secret-gate = "secret_action_without_presence_gate on instant-sync.yml — addressed: dispatch step IS gated on FARM_DISPATCH_TOKEN presence (job-level env + step-level if)"
26-
agda-postulate-trusted-base = "agda_postulate on kitchenspeak/proofs/agda/{Dough,PoachedEgg}.agda — by-design: KitchenSpeak's documented trusted base, annotated inline (AXIOM:) and enumerated in PROOF-NEEDS.md"
2726

2827
[prohibited-actions]
2928
auto-delete-branches = false

.machine_readable/contractiles/Bustfile.a2ml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ description = "Rollback procedures when something breaks in the language-family
1818
bad-governance-or-estate-merge = "git revert -m 1 <merge-commit> on the parent repo; submodule repos themselves untouched"
1919
submodule-pointer-points-at-missing-sha = "git submodule update --init --checkout <path> resets the child to the parent-recorded SHA; or revert the stale pointer-bump commit"
2020
submodule-orphan-after-local-only-commit = "git reset to before the stranded commit locally; fix the child repo's remote state before re-attempting the bump"
21-
kitchenspeak-proof-regression = "Agda check fails after an edit: revert the offending commit. NEVER weaken or delete proofs to make CI pass (MUST: proofs lead implementation, ADR 0001)"
2221
broken-workflow-change = "CI red after a workflow edit: revert the workflow commit; re-pin actions to known-good SHAs (MUST: SHA-pinned actions)"
2322
accidental-secret-committed = "hard-rotate the leaked secret immediately; scrub history with git-filter-repo or BFG; force-push only with explicit maintainer confirmation; re-publication only after rotation completes"
2423
bad-metadata-refresh = "6a2/ or contractile refresh introduced false claims: revert the docs commit; restore from origin/main history (governance files carry no build risk)"

0 commit comments

Comments
 (0)