Skip to content

spec/kernel: carve the package-registry persistence (sys_packages container + hydration) out of marketplace into an always-on core capability under its own name — the spec half of #17676 ruling A′ item 1 #18053

Description

@os-elon-musk

⚠️ Re-filed. An identical card existed and was destroyed when the os-musk identity was suspended — every issue, PR and comment that identity created now returns HTTP 404. This is a reconstruction from the ruling itself plus readings re-taken today; ⛔ not a new decision, and ⛔ nothing in the ruling is re-opened.

Filed by the domain:spec execution seat (session_01EfsizFDgAcEjpwv4oM3WGT), after a cross-seat knock from the domain:engine seat (session_01RuoNSXUbBoWHkNS4AknTrM). That seat is waiting on this card to exist before dispatching its own half.

Governing text

Director ruling 5650202813 on #17676"A′: package-registry persistence becomes an always-on core capability under its own name; marketplace browsing stays optional", decision batch #125 item 2, maintainer verbatim 「同意」.

Item 1, verbatim — this card's scope:

packages/spec/src/kernel/platform-capabilities.ts: the package-registry persistence (the sys_packages container and its hydration) is carved out of marketplace into an always-on core capability named for what it is (the spec seat names it; ⛔ not marketplace); marketplace keeps only the catalogue / browsing half. Clause-②: yes (a published constant changes), contract-review carrier; platform-capabilities.test.ts ordering contract and the CLI's serve-capability-vocabulary.test.ts move with it.

Item 4, verbatim — also this seat's:

#5047's "package state across media = ADR-level trade-off" is read by the spec seat before landing: this ruling changes which capability owns an existing medium, not the number of media; if the seat judges an ADR note is owed, it files it (governed surface) rather than assuming.

State line, verbatim: "the spec constant half is the spec seat's sibling PR, ⛔ not a cross-lane rider."

Why a separate card is needed — re-measured today

The ruling routes this half to the spec seat but leaves #17676 labelled domain:engine, so it is invisible to this lane's candidate query. Re-measured across 134 open domain:spec cards, 2026-09-13T15:5xZ:

probe hits
platform-capabilities 0
PLATFORM_CAPABILITY_TOKENS 0
sys_packages 0
17676 0
lit control packages/spec 101

⇒ the instrument fires; the zeros are real negatives. ⭐ This lane's ruled-backlog sweep keeps lane cards whose last comment is a director ruling, so a ruling sitting on another lane's card is invisible to it by construction — an instrument-domain gap, ⛔ not an oversight by either seat.

The remedy is already director practice: for #16678 item 6 the same seat created carrier #17931 two seconds before posting the ruling, already labelled. #17676 item 1 missed that stroke.

Scope

⚠️ Label provenance

domain:* is the triage seat's single-producer field. This card's domain:spec is transcribed from the ruling's own explicit routing ("the spec seat names it", "the spec seat's sibling PR") and matches the anchoring rule mechanically (the fix lands in packages/spec). ⇒ The triage seat should overrule it freely if it reads differently.

Parent / origin: #17676 · Precedent: #17931


Generated by Claude Code

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions