Skip to content

Commit 8fc8132

Browse files
committed
docs(kernel): list services.sms in the runtime-services stability matrix, and gate the matrix and its labels (#9684)
`versioning.mdx`'s "Current Matrix" carried seven rows for the chapter's eight pages: `services.sms` was missing from a FIFTH enumeration of the same chapter, after #9604 fixed it in two index lists and #9630 fixed the accessor/slot mismatch. Every enumeration of this chapter that the gate does not hold has drifted, and each one was found by a human noticing. So the row is the small half. `check-runtime-services-index.mjs` gains two additive limbs, leaving the five existing checks untouched: - check 6 holds the "Current Matrix" to the pages on disk — membership and order, exactly as check 3 holds the chapter list, because the matrix follows meta.json's nav order and that convention is the only thing that tells the next author where a new row goes; - check 7 holds every published stability LABEL to the page's own `- **Stability:** <label>` bullet, on BOTH tables that publish one — the matrix and the `services.*` table in `kernel/index.mdx`. This is the half with lasting value: membership checking catches a MISSING row, this catches a WRONG one, which is a live lie a reader plans an upgrade against. The page is the source of truth for its own label, so a disagreement is always reported against the table, and a page that declares no label at all is a finding. The `services.sms` label is derived, not invented: `sms-service.mdx` declares `- **Stability:** `stable``, which is what the row now says. #9629 is untouched: the stability row parser is anchored to `^|` table rows, so the Source-of-Truth list's prose `Security:` row — the one #9634 deliberately kept out of the gate — cannot enter any set here. The self-test pins that on the parser and again on a failing tree. Self-test 17 -> 27 assertions. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XqDQYVU5smx29ts9pAErja
1 parent 6cb88d9 commit 8fc8132

3 files changed

Lines changed: 210 additions & 17 deletions

File tree

‎.github/workflows/lint.yml‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,14 @@ jobs:
530530
# order) to them. It lives in this job with the other docs guards: the edit
531531
# that breaks it is a docs edit, so a packages/** paths filter would blind
532532
# it to its own failure mode.
533+
#
534+
# #9630 added a fourth claim: each page names the registry slot
535+
# ctx.getService() really resolves it by. #9684 added a FIFTH enumeration
536+
# of the same chapter -- versioning.mdx's "Current Matrix" shipped seven
537+
# rows for eight pages -- so the gate now holds that matrix to the pages
538+
# too, and holds every stability LABEL it and the kernel/index.mdx table
539+
# publish to the page's own Stability bullet. That second half catches a
540+
# WRONG row, which membership checking passes silently.
533541
- name: Runtime-services indexes enumerate the chapter's real pages
534542
run: pnpm check:runtime-services-index
535543

‎content/docs/kernel/runtime-services/versioning.mdx‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,6 @@ When a runtime service API changes in a breaking way:
2727
| `services.audit` | `experimental` |
2828
| `services.queue` | `stable` |
2929
| `services.email` | `stable` |
30+
| `services.sms` | `stable` |
3031
| `services.settings` | `stable` |
3132
| `services.storage` | `stable` |

0 commit comments

Comments
 (0)