A downstream publication seals only its own modules

Every satellite bakes its NodeTypes against modules it does not own — AI, Essentials, Maps, Stripe come from the Plugins publication sealed for the same framework identity. Until now the bake also re-sealed copies of those four into the satellite's own publication, so an identity held five publications each carrying its own copy of MeshWeaver.AI. When the upstream resealed the identity with a newer build, the copies diverged, and a portal reading the identity found two builds of one assembly — the state Modules:VersionStrictness readers answer "sealed set inconsistent — nothing rolls" for, and the reason a page rendered empty on one replica and fine on the next (MeshWeaver#3732, measured on memex.systemorph.com on 2026-09-08 and again on 2026-09-11).

A publication now seals only the modules its repository owns. Upstream modules are still composed into the bake's compile surface and still checked for one-build-per-name; they are just not re-published. A satellite that owns no module seals an empty module index — which a reader tells apart from a publication that predates module sealing — and every consumer composes each package from the first upstream whose seal lists it, exactly as before.

What this does not change: a portal replica that has not loaded a module it already holds (pending_module_activation, content-types on /health) is a portal-side reading and is not addressed here.

Reconnecting…
The connection to the server was interrupted. Trying to restore it…
Trying again…
The connection could not be restored. Reloading the page…
The server was updated. Reloading the page to pick up the latest version.