Tracking card for the retirement half of the #9683 ruling (maintainer, 2026-08-18: 「9683 file-storage 可以叫 storage」). The rename PR makes storage canonical and deliberately keeps file-storage accepted within v17; the ruling routes alias removal through the standard retirement flow at the next major — explicitly ⛔ not in the rename PR.
What retirement removes
- the
file-storage member of CoreServiceName (plus its CORE_SERVICE_PROVIDER / ServiceRequirementDef rows and the CoreServiceContracts['file-storage'] entry) - the alias registration in
@objectstack/service-storage (storage-service-plugin.ts registers the same instance under both names) - the verbatim discovery mirror row (
services['file-storage']) both producers emit (http-dispatcher.tsgetDiscoveryInfo, metadata-protocol/src/protocol.tsgetDiscovery) - the dev-plugin toggle alias (
enabled('storage') && enabled('file-storage'))
Known alias readers to migrate BEFORE removal
Not before the next major
Removal inside v17 would be the silent break the ruling forbids. This card exists so the alias's whole footprint is enumerated when the retirement window opens.
Refs: #9683
Generated by Claude Code
Tracking card for the retirement half of the #9683 ruling (maintainer, 2026-08-18: 「9683 file-storage 可以叫 storage」). The rename PR makes
storagecanonical and deliberately keepsfile-storageaccepted within v17; the ruling routes alias removal through the standard retirement flow at the next major — explicitly ⛔ not in the rename PR.What retirement removes
file-storagemember ofCoreServiceName(plus itsCORE_SERVICE_PROVIDER/ServiceRequirementDefrows and theCoreServiceContracts['file-storage']entry)@objectstack/service-storage(storage-service-plugin.tsregisters the same instance under both names)services['file-storage']) both producers emit (http-dispatcher.tsgetDiscoveryInfo,metadata-protocol/src/protocol.tsgetDiscovery)enabled('storage') && enabled('file-storage'))Known alias readers to migrate BEFORE removal
file-storageslot — move to the canonicalstoragekey (framework #9683) objectui#5286objectstack-ai/cloud:service-cloud's artifact API resolvesgetService('file-storage')perpackages/metadata/ROADMAP.md(not verifiable from this repository — re-measure in the cloud repo)getService('file-storage')callers (published enum member — the reason the alias exists at all)Not before the next major
Removal inside v17 would be the silent break the ruling forbids. This card exists so the alias's whole footprint is enumerated when the retirement window opens.
Refs: #9683
Generated by Claude Code