Finish the stale-fact sweep + add a language-registry consistency guard#120
Merged
Conversation
Sweep the stale in-tree / count residue the reconciliation PRs did not reach: - PROOF-NEEDS.md: drop the ~456,000-LOC count and reframe the in-tree paths as living in each language's own repo (this coordinator holds no proof code). - README.adoc: disambiguate the Tangle language from the out-of-scope KRL resolution stack (heading, database-relationship line, entry-point note). - EXPLAINME.adoc: reconcile the language count (was 'ten / eight core + two') to the current 14 languages + KitchenSpeak DSL, pointing at LANGUAGES.a2ml as canonical and noting the representative table is a subset. - language-status-tracker.jl: make the repos dir overridable via HYPERPOLYMATH_REPOS_DIR so it is not pinned to ~/Documents. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016t5KLJDtqdeDi1EMNqNx6K
hyperpolymath
force-pushed
the
claude/explore-repo-languages-xkrc46
branch
from
July 17, 2026 04:55
ff75d6a to
46a6b05
Compare
Add hooks/validate-language-registry.sh + a dogfood-gate job that fails the build when the language family disagrees across surfaces. Source of truth is languages/*.md; the guard asserts LANGUAGES.a2ml (excluding forward-looking proposed/exploratory entries), the boundary-hook LANGS list, and ECOSYSTEM.a2ml [language-repos] match it exactly, and that language-status-tracker.jl is a superset. Prevents the drift the reconciliation just fixed from recurring. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016t5KLJDtqdeDi1EMNqNx6K
hyperpolymath
force-pushed
the
claude/explore-repo-languages-xkrc46
branch
from
July 17, 2026 04:57
46a6b05 to
efe7234
Compare
hyperpolymath
marked this pull request as ready for review
July 17, 2026 04:58
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



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 LOCcount (it counted code no longer in thisrepo) and reframed the in-tree paths (
ephapax/formal/Semantics.v,oblibenyABI) as livingin 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 KRLresolution stack in the three places that conflated them (the
KRL — … (Tangle)heading, thedatabase-relationship line, and the entry-point note), consistent with the split established in
Reconcile the language-registry surfaces to one canonical 15-entry family #106/Registry follow-ups: de-peer Me in prose; mark typefix-zero private/under-review #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.a2mlas canonical, and notes thetable is a representative subset (listing the six not shown).
language-status-tracker.jl— the repos dir is now overridable viaHYPERPOLYMATH_REPOS_DIRinstead of being hardcoded to~/Documents/hyperpolymath-repos, so itcan run somewhere other than one machine.
(
TEST-NEEDS.mdwas already reconciled in #106 — no change needed.)2. Language-registry consistency guard (the durable win)
New
hooks/validate-language-registry.sh+ alanguage-registryjob indogfood-gate.yml(mirrors the existingcoordinator-boundaryjob). It fails the build when thefamily disagrees across surfaces:
languages/<id>.mdpointers (15).LANGUAGES.a2ml[[language]]stanzas (excludingforward-looking
proposed/exploratoryentries like typefix-zero), the boundary-hookLANGSlist, and
ECOSYSTEM.a2ml[language-repos]keys.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).surface + id named (verified locally against the hook
LANGSlist).bash hooks/validate-coordinator-boundary.sh→ OK.dogfood-gate.ymlparses; 7 jobs includinglanguage-registry, wired into the summary'sneeds.Notes / earlier open items (unchanged)
CLADE.a2mltype = "coordinator"value from Cleanup: stop describing the coordinator as a monorepo #119 still wants confirmation against theexternal
gv-clade-indexvocabulary.proposed/exploratorya2ml statuses as pointer-exempt (that's howtypefix-zerostays registered privately without alanguages/pointer).🤖 Generated with Claude Code
https://claude.ai/code/session_016t5KLJDtqdeDi1EMNqNx6K
Generated by Claude Code