Found during the docs-drift pass of the #11982 / #12587 retirement PR (PR #12689), while classifying which configSchema each flagged page means. Filed unassigned as a finding — pre-existing, NOT falsified by that diff, and outside its ruled scope.
content/docs/protocol/kernel/plugin-spec.mdx line ~101, inside the objectstack.config.ts manifest example's file-map block:
configSchema: 'src/config.schema.ts', under the comment "Configuration schema"
Measured on origin/main: packages/spec/src/kernel/manifest.zod.ts declares a configuration block (keys-to-definitions map, itself recorded at zero container reads by #11332) and no configSchema key at all — git grep configSchema packages/spec/src returns only the ADR-0018 automation-node surface. So the example documents a manifest key no schema declares and nothing loads — the same declared-not-real shape this page itself already annotates for the removed lifecycle file-map (#4212 note a few lines below it).
The page's own "Configuration Schema" section and best-practice 4 (configSchema.parse(this.options) in init) describe the plugin-owned self-parse pattern, which is real and survives — only the manifest file-map row is phantom.
Decision for triage: drop the row, or annotate it as proposed-shape like the neighbouring permissions block already is.
Related: #11332 (manifest configuration zero reads), #11982 (kernel configSchema retirement, ruled), #4212 (the page's own lifecycle file-map precedent).
Generated by Claude Code
Found during the docs-drift pass of the #11982 / #12587 retirement PR (PR #12689), while classifying which
configSchemaeach flagged page means. Filed unassigned as a finding — pre-existing, NOT falsified by that diff, and outside its ruled scope.content/docs/protocol/kernel/plugin-spec.mdxline ~101, inside theobjectstack.config.tsmanifest example's file-map block:configSchema: 'src/config.schema.ts',under the comment "Configuration schema"Measured on
origin/main:packages/spec/src/kernel/manifest.zod.tsdeclares aconfigurationblock (keys-to-definitions map, itself recorded at zero container reads by #11332) and noconfigSchemakey at all —git grep configSchema packages/spec/srcreturns only the ADR-0018 automation-node surface. So the example documents a manifest key no schema declares and nothing loads — the same declared-not-real shape this page itself already annotates for the removedlifecyclefile-map (#4212 note a few lines below it).The page's own "Configuration Schema" section and best-practice 4 (
configSchema.parse(this.options)ininit) describe the plugin-owned self-parse pattern, which is real and survives — only the manifest file-map row is phantom.Decision for triage: drop the row, or annotate it as proposed-shape like the neighbouring
permissionsblock already is.Related: #11332 (manifest
configurationzero reads), #11982 (kernelconfigSchemaretirement, ruled), #4212 (the page's own lifecycle file-map precedent).Generated by Claude Code