Context
The registry published manifests but did not say how a module is installed for one tenant, which versions are kept, or how a consumer keeps a copy current. The owner’s registry answers (mem L664–669, 2026-10-20) fix the flow, the install lifecycle and version retention.Decision
- Flow. Declare, collect, publish, merge, consume. A host declares slots. Modules contribute by key, and each contribution is filtered by permission, entitlement and settings.
- Consumers. Each consumer keeps a local copy, updated by the
registry.updated.v1event. - Install lifecycle (RG1). A module is available, installed, disabled or uninstalled, per tenant. Dependencies are resolved on install.
- Versions (RG2). Every manifest version is kept. A consumer accepts both the old and the new version during a rollout. The diff that CI runs is in ADR 0157.
Consequences
- A tenant can switch a module off without a code change, and the dependency check says what else must go with it.
- A rollout never breaks a consumer that is one version behind.
Enforcement
planned — the install resolver rejects an install with an unresolved dependency; the rollout test checks both versions are accepted.Open questions
- Bootstrapping a new consumer, the ordering of updates, and what happens when the registry is down (register D-03). The owner decides.
Supersedes and sources
Supersedes: none. Amends: 0109, 0111. Sources: owner registry answers (stackra-decisions-2026-10-19.md L664–669, 2026-10-20). Closes gap C10 in part.