Child of #479. The RSR directory is 78% vendored product copies (964 of 1,234 tracked files) — .gitmodules declares submodules but the satellites are full in-tree file copies, so the repo's structural metadata is false.
satellites/ → their canonical repos, already named by .gitmodules: palimpsest-license, consent-aware-http, git-rsr-certified, repo-slm-augmentor, robot-repo-automaton, mustfile, cccp, well-known-ecosystem, META.scm, ECOSYSTEM.scm, state.scm. Note two of these are PMPL repos vendored inside an MPL-2.0 canon repo — flag-only, move verbatim, no SPDX edits.
templates/, contractiles/, examples/ → hyperpolymath/rsr-template-repo (merge + dedupe; doctrine names the template repo THE operationalisation — two template sources is why canon drifted behind its own template). examples/ai-ml-project carries a pyo3 dep Dependabot actively bumps inside the canon — that churn leaves with it.
rhodium-pipeline/ → hyperpolymath/rhodium-pipeline (self-describes as a code generator product; second competing instantiation path beside the template).
ux-test-harness/ + scripts/{ux-batch-rollout.jl, containerfile-to-stapeln.jl, sync-ffi-templates.sh} → gitbot-fleet or a tooling repo (estate-ops, not spec).
- Delete
.gitmodules (or restore true submodules if re-linking). Add the submodule-truth guard: trivial CI check that every .gitmodules entry corresponds to an actual gitlink.
- Archive: stale root
CLAUDE.md (2025 GitLab/ReScript worldview the .claude/ pointer was created to kill), TESTING-REPORT.* (records Silver 91.14% while the README wears a Gold 100% badge — overclaim), PROJECT-STATUS.md, audit showcase docs; CCCP-MANIFESTO.md → hyperpolymath/cccp.
After this lands, rhodium-standard-repositories/ should contain: spec/ (incl. the v2.0 SSOT), badges/, docs/ (normative only), CHANGELOG/GOVERNANCE/MAINTAINERS. Registry regen + --check per PR; mass-deletion marker as needed.
⚠️ CORRECTION 2026-08-25 — the .gitmodules is worse than "lying": 8 of 12 entries are dead, and 2 are aliased
Every entry checked with gh repo view. Full audit of rhodium-standard-repositories/.gitmodules:
| submodule path |
declared url |
status |
satellites/cccp |
cccp |
✅ exists |
satellites/palimpsest-license |
palimpsest-license |
✅ exists |
satellites/rsr-template-repo |
rsr-template-repo |
✅ exists |
satellites/rhodium-pipeline |
rhodium-pipeline |
❌ 404 |
satellites/mustfile |
mustfile |
❌ 404 |
satellites/well-known-ecosystem |
well-known-ecosystem |
❌ 404 |
satellites/robot-repo-automaton |
robot-repo-automaton |
❌ 404 |
satellites/rsr-certifier |
git-rsr-certified |
❌ 404 — and the path does not match the url |
satellites/rsr-deployer |
repo-slm-augmentor |
❌ 404 — and the path does not match the url |
satellites/META.scm |
META.scm |
❌ 404 — this is a file, not a repo |
satellites/ECOSYSTEM.scm |
ECOSYSTEM.scm |
❌ 404 — this is a file, not a repo |
satellites/state.scm |
state.scm |
❌ 404 — this is a file, not a repo |
Two distinct defect classes beyond simple absence:
- Aliased entries.
satellites/rsr-certifier and satellites/rsr-deployer declare URLs naming different repos (git-rsr-certified, repo-slm-augmentor). Anyone reading the path list gets one set of names; anyone running git submodule gets another. Both target repos are absent anyway.
- Three entries claim that
.scm files are submodule repositories. META.scm, ECOSYSTEM.scm and state.scm are files vendored under satellites/, not projects. These entries were never valid.
Owner ruling 2026-08-25 — this issue is retargeted
The satellites are not to be recreated one-for-one. Per owner direction, the RSR template family is to be rationalised into base forms, and this is now shaped by scaffoldia being in production. The relevant measurement:
The genuine delta between rsr-template-repo (the spine) and rsr-julia-library-template-repo is six files — Project.toml, test/, julia-test.yml, documentation.yml, VARIANT.a2ml, variant-drift-gate.yml. Every other difference is the variant drifting backwards: Markdown files after the spine converted to AsciiDoc, flake.nix after the spine moved to Guix, duplicate GOVERNANCE.adoc+.md pairs.
A whole repository is being maintained to carry six files of real difference. That is the argument for variant packs, not variant repos.
Base forms to define (owner's list, with the linked project each pre-wires):
- general — the spine as-is
- documentation / format — spec and format repos (a2ml, k9, palimpsest)
- language library — generalised from the Julia variant, linked to
nextgen-language-evangeliser
- audit-grade / narratable — linked to
grim-repo
- security ecosystem — linked to
refugia
Action for this issue, revised: delete the dead and aliased .gitmodules entries rather than recreating five absent repos; de-vendor satellites/ where a real repo exists (cccp, palimpsest-license, rsr-template-repo); and fold templates/ into the base-form work. Template-family rationalisation is tracked separately in the new umbrella filed 2026-08-25.
Child of #479. The RSR directory is 78% vendored product copies (964 of 1,234 tracked files) —
.gitmodulesdeclares submodules but the satellites are full in-tree file copies, so the repo's structural metadata is false.satellites/→ their canonical repos, already named by.gitmodules:palimpsest-license,consent-aware-http,git-rsr-certified,repo-slm-augmentor,robot-repo-automaton,mustfile,cccp,well-known-ecosystem,META.scm,ECOSYSTEM.scm,state.scm. Note two of these are PMPL repos vendored inside an MPL-2.0 canon repo — flag-only, move verbatim, no SPDX edits.templates/,contractiles/,examples/→hyperpolymath/rsr-template-repo(merge + dedupe; doctrine names the template repo THE operationalisation — two template sources is why canon drifted behind its own template).examples/ai-ml-projectcarries a pyo3 dep Dependabot actively bumps inside the canon — that churn leaves with it.rhodium-pipeline/→hyperpolymath/rhodium-pipeline(self-describes as a code generator product; second competing instantiation path beside the template).ux-test-harness/+scripts/{ux-batch-rollout.jl, containerfile-to-stapeln.jl, sync-ffi-templates.sh}→gitbot-fleetor a tooling repo (estate-ops, not spec)..gitmodules(or restore true submodules if re-linking). Add the submodule-truth guard: trivial CI check that every.gitmodulesentry corresponds to an actual gitlink.CLAUDE.md(2025 GitLab/ReScript worldview the.claude/pointer was created to kill),TESTING-REPORT.*(records Silver 91.14% while the README wears a Gold 100% badge — overclaim),PROJECT-STATUS.md, audit showcase docs;CCCP-MANIFESTO.md→hyperpolymath/cccp.After this lands,
rhodium-standard-repositories/should contain:spec/(incl. the v2.0 SSOT),badges/,docs/(normative only),CHANGELOG/GOVERNANCE/MAINTAINERS. Registry regen +--checkper PR; mass-deletion marker as needed..gitmodulesis worse than "lying": 8 of 12 entries are dead, and 2 are aliasedEvery entry checked with
gh repo view. Full audit ofrhodium-standard-repositories/.gitmodules:satellites/cccpcccpsatellites/palimpsest-licensepalimpsest-licensesatellites/rsr-template-reporsr-template-reposatellites/rhodium-pipelinerhodium-pipelinesatellites/mustfilemustfilesatellites/well-known-ecosystemwell-known-ecosystemsatellites/robot-repo-automatonrobot-repo-automatonsatellites/rsr-certifiergit-rsr-certifiedsatellites/rsr-deployerrepo-slm-augmentorsatellites/META.scmMETA.scmsatellites/ECOSYSTEM.scmECOSYSTEM.scmsatellites/state.scmstate.scmTwo distinct defect classes beyond simple absence:
satellites/rsr-certifierandsatellites/rsr-deployerdeclare URLs naming different repos (git-rsr-certified,repo-slm-augmentor). Anyone reading the path list gets one set of names; anyone runninggit submodulegets another. Both target repos are absent anyway..scmfiles are submodule repositories.META.scm,ECOSYSTEM.scmandstate.scmare files vendored undersatellites/, not projects. These entries were never valid.Owner ruling 2026-08-25 — this issue is retargeted
The satellites are not to be recreated one-for-one. Per owner direction, the RSR template family is to be rationalised into base forms, and this is now shaped by
scaffoldiabeing in production. The relevant measurement:A whole repository is being maintained to carry six files of real difference. That is the argument for variant packs, not variant repos.
Base forms to define (owner's list, with the linked project each pre-wires):
nextgen-language-evangelisergrim-reporefugiaAction for this issue, revised: delete the dead and aliased
.gitmodulesentries rather than recreating five absent repos; de-vendorsatellites/where a real repo exists (cccp,palimpsest-license,rsr-template-repo); and foldtemplates/into the base-form work. Template-family rationalisation is tracked separately in the new umbrella filed 2026-08-25.