Skip to content

id(world): default ceiling is the whole catalog, so F12.4 registry additions would widen every world #838

Closed

Description

@dezren39

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

  1. added
    kind/securitySecurity issue or security hardening
    security-adjacentTouches security-sensitive surface; extra care and review
    source/humanFiled directly by a human
    priority/highImportant and time-sensitive
    effort/mMedium: expected under 1 day of work
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 26, 2026
  2. dezren39 commented on Oct 26, 2026

    @dezren39
    MemberAuthor

    Intake review

    Still live: verified on current main (a2eef6f) — CapLedger::new in pkgs/id/src/world_caps.rs still sets allowed to catalog_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/enriched applied this pass.

  3. added
    nextOrg Project gate: queued next — orchestrator adds to the board
    mode/onlineFully doable remotely: design, config, code, cloud
    work/assignedQueue worker lifecycle state
    and removed on Oct 27, 2026
  4. 53 remaining items

  5. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    on Nov 3, 2026
  6. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · state: parked

  7. added
    queue/claimedQueue worker lifecycle state
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 3, 2026
  8. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)effort/mMedium: expected under 1 day of workkind/securitySecurity issue or security hardeningmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedmode/onlineFully doable remotely: design, config, code, cloudnextOrg Project gate: queued next — orchestrator adds to the boardpriority/highImportant and time-sensitivesecurity-adjacentTouches security-sensitive surface; extra care and reviewsource/humanFiled directly by a human

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions