fix(modules): a site runs one module; the installer refuses a second #204
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/one-module-per-site"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The org lead's rule, settled 2026-09-23 during Rust phase 9: a site runs one module. Docs:
MODULE_SYSTEM.md§2.5 and decision 35 (docs PR alongside).Why now
Core allows one Team provider per deployment, and a second registration fails that module's whole load. The loader scans modules alphabetically. Rust phase 9 gives module-rust a Team provider, so installing it beside module-uo would take uo down, not rust.
What changed
install()refuses any install whose id differs from a module already on the volume. It answers 409, before the artifact is downloaded.MODULESdeclaration share this path. A declaration naming two modules installs the first and reports the second as refused, and the boot does not fail.module.json. Scratch and aside directories don't count.POST /admin/modules.Verified
moduleInstall.test.js:moduleInstall,moduleDeclaredandadminModules: 66/66 pass.routeManifest, and they fail identically on a cleanmainin my checkout, becausewebsite/modules/there holds locally installed modules that change the live route stack. CI has none.AI disclosure
Written with Claude Code (Opus 5.5).
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY