Found while executing #10724 (the contributes dead-member retirement; family PR carries the tombstones). Filed unassigned — out of that card's scope.
What
CLICommandContributionSchema / CLICommandContribution (and the co-located docblock) in packages/spec/src/kernel/cli-extension.zod.ts:66-101 describe a "CLI Command Contribution declaration in the manifest", stating the schema "is retained for backward compatibility and for describing command metadata in plugin manifests".
After #10724, manifest.contributes.commands is a retiredKey() tombstone — there is no manifest surface these entries can legally appear in, so the exported schema now advertises a shape whose only declared carrier rejects it.
Evidence
- Zero code consumers outside spec:
git grep -l CLICommandContribution returns only spec's own test, spec's generated artifacts (api-surface/kernel.json, export-origins/kernel.json) and the two generated docs pages (content/docs/references/index.mdx, references/kernel/cli-extension.mdx). - It was never referenced by
manifest.zod.ts either — the manifest's inline commands item schema was an independent duplicate (now tombstoned). - The exported-schema-with-no-consumer shape is the recorded orphan-value-schema class (the
PerformanceConfigSchema precedent): an exported schema with no consumer reads as a capability.
Decision needed
Retire the two exports (api-surface removal, RETIRED_DEFS_BY_MAJOR entry, changeset) or re-document them as the historical record of the oclif migration (the module docblock's migration prose at cli-extension.zod.ts:58-63 is load-bearing — it is cited by the commands tombstone — so a full-file deletion is NOT the obvious move). OclifPluginConfigSchema in the same file describes the live package.jsonoclif section and is not part of this finding.
Generated by Claude Code
Generated by Claude Code
Found while executing #10724 (the
contributesdead-member retirement; family PR carries the tombstones). Filed unassigned — out of that card's scope.What
CLICommandContributionSchema/CLICommandContribution(and the co-located docblock) inpackages/spec/src/kernel/cli-extension.zod.ts:66-101describe a "CLI Command Contribution declaration in the manifest", stating the schema "is retained for backward compatibility and for describing command metadata in plugin manifests".After #10724,
manifest.contributes.commandsis aretiredKey()tombstone — there is no manifest surface these entries can legally appear in, so the exported schema now advertises a shape whose only declared carrier rejects it.Evidence
git grep -l CLICommandContributionreturns only spec's own test, spec's generated artifacts (api-surface/kernel.json,export-origins/kernel.json) and the two generated docs pages (content/docs/references/index.mdx,references/kernel/cli-extension.mdx).manifest.zod.tseither — the manifest's inlinecommandsitem schema was an independent duplicate (now tombstoned).PerformanceConfigSchemaprecedent): an exported schema with no consumer reads as a capability.Decision needed
Retire the two exports (api-surface removal,
RETIRED_DEFS_BY_MAJORentry, changeset) or re-document them as the historical record of the oclif migration (the module docblock's migration prose atcli-extension.zod.ts:58-63is load-bearing — it is cited by thecommandstombstone — so a full-file deletion is NOT the obvious move).OclifPluginConfigSchemain the same file describes the livepackage.jsonoclifsection and is not part of this finding.Generated by Claude Code
Generated by Claude Code