Found during #9630 while re-reading the runtime-services chapter. Not fixed there — #9630's diff is the accessor/slot naming defect, and this is the enumeration-drift class #9604/#9634 own.
What was measured
content/docs/kernel/runtime-services/versioning.mdx carries a "Current Matrix" table of stability labels. It has seven rows for the chapter's eight pages:
| listed | missing |
|---|
services.data, services.sharing, services.audit, services.queue, services.email, services.settings, services.storage | services.sms |
sms-service.mdx exists, declares - **Stability:** \stable`, is in meta.json's pages, is in the chapter list, and is in the kernel/index.mdx` table. Only this matrix omits it.
Why nothing caught it
This is the same defect as #9604 (services.sms missing from index lists) in a fourth location. scripts/check-runtime-services-index.mjs holds three enumerations plus the files on disk — meta.jsonpages, the index.mdx chapter list, and the kernel/index.mdx table. The versioning.mdx matrix is not among them, so the gate is green over this.
It is a near-perfect candidate for that gate: the matrix rows are already in the machine-readable form the existing readChapterList / readKernelTable parsers handle (| \services.` | `` |), and each page already declares its own - Stability: ``` bullet — so the check could verify both membership and that each row's label matches the page it describes, with no new convention to introduce.
Worth noting the second half is not hypothetical: a matrix that lists a page but contradicts its stability label is the same "trustworthy map" failure, and nothing checks it today either.
Suggested resolution
Two parts, and the second is the one with lasting value:
- Add the
| \services.sms` | `stable` |row (matchingsms-service.mdx`'s own declared stability). - Extend
check-runtime-services-index.mjs to hold the versioning.mdx matrix to the pages on disk and each row's label to the page's Stability bullet.
Refs: #9604, #9630
Found during #9630 while re-reading the runtime-services chapter. Not fixed there — #9630's diff is the accessor/slot naming defect, and this is the enumeration-drift class #9604/#9634 own.
What was measured
content/docs/kernel/runtime-services/versioning.mdxcarries a "Current Matrix" table of stability labels. It has seven rows for the chapter's eight pages:services.data,services.sharing,services.audit,services.queue,services.email,services.settings,services.storageservices.smssms-service.mdxexists, declares- **Stability:** \stable`, is inmeta.json'spages, is in the chapter list, and is in thekernel/index.mdx` table. Only this matrix omits it.Why nothing caught it
This is the same defect as #9604 (
services.smsmissing from index lists) in a fourth location.scripts/check-runtime-services-index.mjsholds three enumerations plus the files on disk —meta.jsonpages, theindex.mdxchapter list, and thekernel/index.mdxtable. Theversioning.mdxmatrix is not among them, so the gate is green over this.It is a near-perfect candidate for that gate: the matrix rows are already in the machine-readable form the existing
readChapterList/readKernelTableparsers handle (| \services.` | `` |), and each page already declares its own- Stability: ``` bullet — so the check could verify both membership and that each row's label matches the page it describes, with no new convention to introduce.Worth noting the second half is not hypothetical: a matrix that lists a page but contradicts its stability label is the same "trustworthy map" failure, and nothing checks it today either.
Suggested resolution
Two parts, and the second is the one with lasting value:
| \services.sms` | `stable` |row (matchingsms-service.mdx`'s own declared stability).check-runtime-services-index.mjsto hold theversioning.mdxmatrix to the pages on disk and each row's label to the page'sStabilitybullet.Refs: #9604, #9630