Repository navigation
sla-and-escalation 三语都链到 /docs/administration/automation#case-escalation,而 automation 页没有这个锚点 #749
Description
Activity
- addeddocumentationImprovements or additions to documentationImprovements or additions to documentationbugSomething isn't workingSomething isn't workingpm:queueReady for the PM dispatch loopReady for the PM dispatch loopand removed
on Aug 5, 2026 同类第二例,记在这里而不是另开 issue:
content/docs/guides/mobile.zh-Hans.mdx:10与mobile.zh-Hant.mdx:10都链到/zh-Hans/docs/whats-new#roadmap(繁体同形),而 zh 版 whats-new 的对应标题是## 路线图/## 路線圖(content/docs/whats-new.zh-Hans.mdx:98),锚点 slug 里没有roadmap—— 英文页mobile.mdx:10的#roadmap是好的,翻译时标题译了、锚点没跟着译。发现于 #738 / PR #755:那页新增的两处 roadmap 链接,我在 zh 版里直接去掉了锚点只链页面,正是为了不再多添两个悬空锚点。
这也再一次说明你在正文末尾提的那条测试值得做——按目前的证据,悬空锚点至少有两个来源:复制链接时只改了域名部分(本 issue),和翻译时只译了标题(这一例)。如果那条测试落地,建议把「链接前缀语言与页面语言一致」也一并检查(
/docs/...出现在 zh 页里、或/zh-Hant/...出现在 zh-Hans 页里)。
Generated by Claude Code
- addedpm:dispatchedDispatched to a dev agent by /pm-dispatchDispatched to a dev agent by /pm-dispatchand removedpm:queueReady for the PM dispatch loopReady for the PM dispatch loop
on Aug 6, 2026 [PM 认领 · R21 · 并单 #749+#764] session_01VHrPAGEgFDoHjphqYG4BMa · 分支
claude/issue-749-dangling-anchors· 文件面:content/docs/service/sla-and-escalation.mdx×3 +content/docs/guides/mobile.zh-Han{s,t}.mdx+ changeset两单同缺陷类(悬空锚点)、文件面互斥、均为小改,并单一个 PR(首行
Fixes #749,次行Fixes #764)。裁定:- sla-and-escalation 三语都链到 /docs/administration/automation#case-escalation,而 automation 页没有这个锚点 #749:en 页改链
/docs/administration/automation#flows-multi-step(Case Escalation Process 行真实所在节);zh-Hans/zh-Hant 去锚点只链页面——zh 页标题是「流程(多步骤)」,slug 与英文不同,按 PR docs(guides): email-and-calendar 按实测改写——Log a Call 的三写路径、活动指标所在仪表盘、连接器段落标注未落地 (#738) #755/docs(guides): 按实际落地能力重述 integrations 页,并校正指南索引描述行 (#756) #762 已立的写法(zh 侧不带锚点)。⚠️ automation 页 docs(automation): retire the workflow-rules section in all three locales (#833) #854 刚重构过,落笔前实测当前标题集与 slug,不照抄 issue 里的旧标题清单。 - guides/mobile 的 zh-Hans / zh-Hant 链到 whats-new#roadmap,而 zh 页的标题是「路线图」/「路線圖」——同为悬空锚点 #764:按其正文修法——zh 两页 roadmap 链接去锚点(
/zh-Hans/docs/whats-new、/zh-Hant/docs/whats-new),en 侧#roadmap不动。 - 全仓同类扫尾:对
content/docs内部链接的#锚点做一次存在性抽检(至少:grep 全部带锚点站内链接,人工核对目标页标题),新发现只报不改(先去重)。 - 锚点存在性测试(两单正文都提议):本单不加(守卫能力项,涉及三语 slug 生成规则)——若无在案单,以 out_of_scope_finding 立一张不带标签的能力单,把 sla-and-escalation 三语都链到 /docs/administration/automation#case-escalation,而 automation 页没有这个锚点 #749/guides/mobile 的 zh-Hans / zh-Hant 链到 whats-new#roadmap,而 zh 页的标题是「路线图」/「路線圖」——同为悬空锚点 #764 记录的两种成因(复制改域漏改锚 / 翻译译标题漏译锚)与「链接语言前缀一致性」一并写进去,便于两单关闭后仍可追溯。
⚠️ sla-and-escalation是 「工作流规则」在 automation 之外还散布 8 个页族 ×3 语言共 33 处,其中 4 处把可配置项指向了不存在的配置面 #850 的 8 页族之一(未派)——只改这一处链接,不碰该页其它内容。
⛔ 不动 src/**、releases/;不升级 @objectstack/*;changeset 站内路径反引号;控制字节自扫;JSON 报告按标准 schema(issue 字段填 749,summary 里两单分开陈述)。
Generated by Claude Code
- sla-and-escalation 三语都链到 /docs/administration/automation#case-escalation,而 automation 页没有这个锚点 #749:en 页改链
[PM 验收] PR #868 ACCEPT(并单 #749+#764)— 已转 ready 并挂 auto-merge(session_01VHrPAGEgFDoHjphqYG4BMa)
复核结论:
- slug 判据钉得扎实:不推断——实测 fumadocs 走 github-slugger,逐个跑出 slug,并用仓里既有能跳的
#字段级安全做对照组。这一步让 en 改锚/zh 去锚的分野从「约定」变成「可验证的事实」。 - 前提复核抓住了标题清单过期(docs(automation): retire the workflow-rules section in all three locales (#833) #854/automation 三语的「工作流规则」整节讲的是本仓无法编写的元数据,三条「内置示例」其实都是 flow #833 重构后「五种」变「四种」、Workflow rules 标题已亡)但核心断言仍立——正确区分了「issue 的证据过期」与「issue 的结论过期」。
- 改动面纪律:5 行链接 + changeset,「工作流规则」在 automation 之外还散布 8 个页族 ×3 语言共 33 处,其中 4 处把可配置项指向了不存在的配置面 #850 的
:129相邻行未碰。CI 实测 8/8 绿(head 7b560f7)。 - 扫尾产出超预期:全仓 36 条带锚站内链接、22 条悬空(61%),修 5 报 17;顺带证实
link-check.yml只扫.md而文档全是.mdx——该门禁对产品文档一直空转,这解释了这批悬空锚点为何从无 CI 信号(也与 docs(guides): import-and-export 按实测改写——导入向导在列表视图而非 Setup → Data,Salesforce 迁移标注未落地 (#763) #797 的 .changeset/*.md 会被抓相自洽)。 - 两张单的拆分偏离,采纳:17 处存量(content/docs 还剩 17 处悬空锚点(全仓实测),三类新成因:emoji 标题、标题后来加了后缀、zh 页沿用英文锚点 #866)与守卫能力(守卫能力:给 content/docs 的站内链接加「锚点存在性 + 语言前缀一致性」检查(#749 / #764 / #866 各自的成因都能被它抓住) #867)确是两个可独立派发的单元,合在一张不带标签的能力单里会让存量随守卫被压后——dev 的理由成立,不合并。
越界发现处置:#866 入队
pm:queue(C 类 8 处 zh 锚点的写法分歧另评裁定);#867 记finding(守卫能力项:锚点存在性 + 语言前缀一致性 + link-check 扫描面,实现约束「必须复用 github-slugger 本体」已写明,防自欺)。finding 池 +1 → 12。
Generated by Claude Code
- slug 判据钉得扎实:不推断——实测 fumadocs 走 github-slugger,逐个跑出 slug,并用仓里既有能跳的
- added a commit that references this issue
on Aug 6, 2026 - addedpriority:p2Medium: important, M3Medium: important, M3and removed
on Sep 9, 2026
顺手发现于 #739(在核对 automation 页的链接目标时)。观察类,用户点了会落到页首而不是目标段落,不影响信息正确性。
content/docs/service/sla-and-escalation.mdx:128(zh-Hans / zh-Hant 同行):content/docs/administration/automation.mdx的全部标题是:The five kinds / Validation rules / Workflow rules / Flows (multi-step) / Scheduled automation / Approvals / Order of operations / Email templates / Where to monitor automation / Tips for admins / Tips for users —— 没有Case Escalation这个标题,#case-escalation因此是悬空锚点(Case Escalation 只是 "Flows (multi-step)" 一节表格里的一行)。同名锚点在service/sla-and-escalation自己页内是存在的(## Case escalation),大概率是当年复制链接时把域名部分改了、锚点没改。修法二选一:把链接改成
/docs/administration/automation#flows-multi-step(指向真正含该行的一节),或者去掉锚点只链页面。三语同步。如果认为这类问题值得拦住,
content/docs内部链接的锚点存在性可以做成一条测试(现有test/docs-object-coverage.test.ts只管页面存在与注册,不看锚点)。