Skip to content

Commit bbd2d8d

Browse files
hotlongclaude
andauthored
docs(getting-started): quick-reference 的 Kernel 计数按证据补回两行,并加一道计数校验门 (#6319) (#6357)
三处计数只有一处是真的。#6319 报的 Kernel 17/15 属实;Cloud 5/6 与 Shared 5/12 是测量假象 —— 立单人的扫描器只认复数 `(N schemas)`,于是 `## Integration Protocol (1 schema)` 与 `## QA Protocol (1 schema)` 两个 单数标题不被识别、其行数被记到上一小节;而且小节只在下一个"被识别的" 标题处结束,Shared 因此一路吃到文末,把 `### Declarative Endpoints` 规则表的 6 行也算了进去(5+1+6=12)。三个数字已用同样的错法逐一复现。 真实的那一处不是标题过时,而是两行漂到了别的小节: plugin-registry.zod.ts 与 plugin-security.zod.ts 都在 packages/spec/src/kernel/ (cloud/ 下没有同名文件),参考页也生成在 content/docs/references/kernel/, 它们却列在 Cloud Protocol 小节里。15 + 2 = 17,正是 Kernel 标题声明的数。 故判定标题一侧为真:两行移回 Kernel(标题 17 不动),Cloud 随之 5 → 3。 移回后 Kernel 会出现两个同名 "Plugin Security",按源文件名与参考页标题 把指向 plugin-security-advanced 的那行改名为 "Plugin Security Advanced" (与邻近的 "Plugin Lifecycle Advanced" 同一约定)。 该页是手写的 —— build-docs.ts 只写 content/docs/references/,AGENTS.md 的文档护栏表也把 content/docs/getting-started/ 列为手写 —— 所以按 declared = enforced 加一道计数门:每个 `(N schemas)` 标题与其表格行数 比对,不符即红并点名小节与两个数字。门对结构变化刻意响亮报错而不是静默 放行(零小节、无计数的 Protocol 标题、小节无表/多表/空表都是 error), 因为一个悄悄不再认识自己页面的计数器会永远报绿 —— 那正是这道门要防的 失败模式,只是高了一层。 Claude-Session: https://claude.ai/code/session_01BDmDsu2575gDxeMCxXhDE3 Co-authored-by: Claude <noreply@anthropic.com>
1 parent ce2145e commit bbd2d8d

4 files changed

Lines changed: 422 additions & 4 deletions

File tree

.github/workflows/lint.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,21 @@ jobs:
139139
- name: Reserved-word ("role") docs ratchet
140140
run: pnpm check:role-word
141141

142+
# #6319: content/docs/getting-started/quick-reference.mdx is the protocol
143+
# index, and each "## <Name> Protocol (N schemas)" heading is a DECLARATION
144+
# about the table under it. The page is hand-written (build-docs.ts writes
145+
# only content/docs/references/), so the two drift one edit at a time —
146+
# #6319 found Kernel claiming 17 over a 15-row table because two kernel
147+
# rows had migrated into the Cloud section and only Cloud's heading was
148+
# updated. Nothing breaks at runtime; the cost is that content/docs/ is the
149+
# corpus humans and AIs copy from, so a miscounted index is read as a fact
150+
# about the schema catalog. Declared = enforced.
151+
# It lives in this job with the other docs guards: the change that breaks
152+
# the count is a docs edit, so a packages/** paths filter would blind it to
153+
# its own failure mode.
154+
- name: Quick-reference section counts match their tables
155+
run: pnpm check:quick-reference-counts
156+
142157
# #3723 ADR anchors: code an accepted ADR governs must keep naming it.
143158
# That incident reversed three accepted ADRs with a patch-level changeset,
144159
# and the mechanism was simply that the edited file never mentioned them —

content/docs/getting-started/quick-reference.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ Plugin architecture, manifests, and kernel runtime.
6666
| **[Plugin Capability](/docs/references/kernel/plugin-capability)** | `plugin-capability.zod.ts` | PluginCapability | Plugin capability declarations |
6767
| **[Plugin Lifecycle Advanced](/docs/references/kernel/plugin-lifecycle-advanced)** | `plugin-lifecycle-advanced.zod.ts` | AdvancedPluginLifecycleConfig, PluginHealthCheck | Advanced lifecycle hooks |
6868
| **[Plugin Loading](/docs/references/kernel/plugin-loading)** | `plugin-loading.zod.ts` | PluginLoadingConfig | Plugin loading and init |
69-
| **[Plugin Security](/docs/references/kernel/plugin-security-advanced)** | `plugin-security-advanced.zod.ts` | KernelSecurityPolicy, PluginPermission | Plugin sandboxing |
69+
| **[Plugin Registry](/docs/references/kernel/plugin-registry)** | `plugin-registry.zod.ts` | PluginRegistryEntry, PluginVendor | Plugin registry entries and quality metrics |
70+
| **[Plugin Security](/docs/references/kernel/plugin-security)** | `plugin-security.zod.ts` | PluginSecurityProtocol, SBOM | Plugin security policies |
71+
| **[Plugin Security Advanced](/docs/references/kernel/plugin-security-advanced)** | `plugin-security-advanced.zod.ts` | KernelSecurityPolicy, PluginPermission | Plugin sandboxing |
7072
| **[Plugin Structure](/docs/references/kernel/plugin-structure)** | `plugin-structure.zod.ts` | OpsPluginStructure | Plugin file conventions |
7173
| **[Plugin Validator](/docs/references/kernel/plugin-validator)** | `plugin-validator.zod.ts` | ValidationResult, PluginMetadata | Plugin validation |
7274
| **[Plugin Versioning](/docs/references/kernel/plugin-versioning)** | `plugin-versioning.zod.ts` | PluginCompatibilityMatrix, DeprecationNotice | Version compatibility |
@@ -176,16 +178,14 @@ User identity, organizations, and position management.
176178
| **[Position](/docs/references/identity/position)** | `position.zod.ts` | Position | Permission-set distribution (岗位, ADR-0090) |
177179
| **[SCIM](/docs/references/identity/scim)** | `scim.zod.ts` | SCIMUser, SCIMGroup | SCIM 2.0 provisioning |
178180

179-
## Cloud Protocol (5 schemas)
181+
## Cloud Protocol (3 schemas)
180182

181183
Environments, marketplace, licensing, and multi-tenancy.
182184

183185
| Protocol | Source File | Key Schemas | Purpose |
184186
|:---------|:-----------|:------------|:--------|
185187
| **[Environment](/docs/references/cloud/environment)** | `environment.zod.ts` | Environment, EnvironmentType | Deployment environments |
186188
| **[Marketplace](/docs/references/cloud/marketplace)** | `marketplace.zod.ts` | MarketplaceListing, PackageSubmission | Plugin marketplace |
187-
| **[Plugin Registry](/docs/references/kernel/plugin-registry)** | `plugin-registry.zod.ts` | PluginRegistryEntry, PluginVendor | Plugin registry entries and quality metrics |
188-
| **[Plugin Security](/docs/references/kernel/plugin-security)** | `plugin-security.zod.ts` | PluginSecurityProtocol, SBOM | Plugin security policies |
189189
| **[Tenant](/docs/references/cloud/tenant)** | `tenant.zod.ts` | Tenant | Multi-tenancy isolation |
190190

191191
## Integration Protocol (1 schema)

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
"check:doc-authoring": "node scripts/check-doc-authoring.mjs --self-test && node scripts/check-doc-authoring.mjs",
3737
"check:docs-audit-scope": "node scripts/docs-audit/affected-docs.mjs --self-test && node scripts/docs-audit/check-audit-scope.mjs --self-test && node scripts/docs-audit/check-audit-scope.mjs",
3838
"check:role-word": "node scripts/check-role-word.mjs",
39+
"check:quick-reference-counts": "node scripts/check-quick-reference-counts.mjs --self-test && node scripts/check-quick-reference-counts.mjs",
3940
"check:skill-frame-sync": "node scripts/check-skill-frame-sync.mjs --self-test && node scripts/check-skill-frame-sync.mjs",
4041
"check:skill-frame-freshness": "node scripts/check-skill-frame-freshness.mjs --self-test && node scripts/check-skill-frame-freshness.mjs",
4142
"check:skill-compatibility": "node scripts/check-skill-compatibility-version.mjs --self-test && node scripts/check-skill-compatibility-version.mjs",

0 commit comments

Comments
 (0)