Repository navigation
Description
CapLedger::new sets allowed to catalog_names(), so every catalog capability is allowed until a ceiling narrows the set (pkgs/id/src/world_caps.rs:494-504). A checkpoint also omits a ceiling that equals the full catalog. Once F12.4 makes the catalog data, a newly registered provider silently joins the ceiling of every world that has no explicit ceiling. It also joins the server ceiling when --world-allowed-caps is unset. That widens authority by binary upgrade, against the Phase 12 rule that authority comes only through named, ceilinged providers.
F12.4's manifest needs a per-provider default ceiling with an "excluded" value before any sensitive provider is registered, host or client (F12.5 http.fetch, F13.7 client providers). This relates to the "*-free default ceiling" follow-up in doc/2026-10-16T11-00-00Z_feature_world_capability_ceilings/.
Found while writing the F13.7 design (#789). Refs #534 (F12.4).
Acceptance criteria
- A newly registered catalog provider does NOT join the default ceiling of existing worlds or of a server started without
--world-allowed-caps, unless its manifest default explicitly allows it - The F12.4 manifest supports a per-provider default ceiling including an "excluded" value
- A test registers a new provider and asserts existing worlds' ceilings are unchanged
Activity
docs(id): design client-side capability providers under the ceiling m…
dezren39 commentedon Oct 26, 2026
Intake review
Still live: verified on current main (a2eef6f) —
CapLedger::newinpkgs/id/src/world_caps.rsstill setsallowedtocatalog_names()(the whole catalog), and a checkpoint still omits a full-catalog ceiling.Related: #534 (F12.4 registry — the change that would make the catalog data and trigger this), #789 (F13.7 client providers are the other registration path).
Notes / risks: authority-widening by binary upgrade is exactly what the Phase 12 ceiling rule forbids; this must land BEFORE any sensitive provider (F12.5
http.fetch, F13.7 client providers) is registered, not after.Suggested approach: add the per-provider default (including
excluded) to the F12.4 manifest design first, default new providers to excluded, and pin it with the registration test in the acceptance criteria.🤖 Fleet monitor intake enrichment — acceptance criteria appended to the body, labels normalized and
meta/enrichedapplied this pass.53 remaining items
dezren39 commentedon Nov 3, 2026
🤖 Agent note · state: parked
fix(id): per-provider default ceiling — newly registered providers st…
test(id): prefix new ceiling tests with test_ per pkgs/id AGENTS.md (#…
Merge pull request #4656 from developing-today/queue/6510-838-default…
dezren39 commentedon Nov 3, 2026
🤖 Agent note · done