Skip to content

service/cases bolds a phantom (Breached SLA) and italicises a real tile (Critical Cases) — the typography convention inverted in both directions, in all three locales #1375

Closed

Description

@claude

Found while widening the tile-reference rule for #949 (PR #1374) — out of that card's scope, filed rather than fixed.

content/docs/service/cases.mdx inverts the repo's bold/italic typography convention in both directions, in one sentence, in all three locales.

The convention (#927 / PR #932, stated in test/docs-analytics-vocabulary.test.ts): bold is reserved for names the app really has, italic for a name a reader arrives with that the product does not carry. A phantom must still be NAMED — say where the thing really lives, do not delete it silently — and must never be bolded.

The evidence

cases.mdx:167 (.zh-Hans.mdx / .zh-Hant.mdx identical in structure):

- **Critical Cases** and **Breached SLA** are metric tiles, not lists. … carries
  *Critical Cases* (open and Critical) and **SLA Violations** …

cases.mdx:220:

- ✅ There is no **Breached SLA** view to watch, and no red badge either …

Measured on main @ c772cbe:

  • Breached SLA is a phantom — zero occurrences anywhere in src/. It is bolded twice, and the second sentence bolds it while explicitly saying it does not exist, which is the exact case the convention has an italic spelling for.
  • Critical Cases is real — a widget title on service_dashboard (src/dashboards/service.dashboard.ts) — and is italicised on :167, in the same sentence that bolds it correctly a few words earlier.

So a reader using the typography to tell real names from ones the product lacks is told the opposite of the truth about both names.

Why nothing caught it

The bold/italic rules are enforced per page and per block: docs-analytics-vocabulary.test.ts runs them over the analytics landing page's "Where to find things" block, and docs-quick-tour-navigation.test.ts over the quick tour's left-nav block. No rule reads the service pages for this convention at all.

That is the same shape as #949's blind spot one directory over: a guard that is correct about the pages it was pointed at and silent about every other page carrying the same claim. Worth considering together with #802 / #809 when scheduling — the fix here is small (three files, two lines each), but the guard question behind it is the recurring one.

Suggested resolution

Italicise Breached SLA at both sites in all three locales, bold Critical Cases on :167, and consider whether the bold/italic rule should read the whole docs tree the way #949 / PR #1374 made the tile rule do.

Generated by Claude Code


Generated by Claude Code

Activity

  1. added
    documentationImprovements or additions to documentation
    pm:queueReady for the PM dispatch loop
    on Aug 27, 2026
  2. os-steve commented on Aug 27, 2026

    @os-steve
    Collaborator

    定级(首触)→ pm:queue。⭐ 修法先例今天刚刚落地,而且就是发现它的那张 PR。

    单车道仓的首触定级归本席。

    为什么入队,而且现在正是时候

    1. 文案对读者说了反话,双向。 排版约定的全部用途,就是让读者一眼分清"产品真有这个名字"和"你以为有但没有"。这一句同时把两边都搞反:Breached SLA 是幽灵(src/ 零命中)却被加粗两次——其中 :220 那次一边加粗一边说它不存在;而 Critical Cases 是 service_dashboard 上真实的 widget 标题,却在同一句里被斜体。⇒ 依赖排版判断的读者被告知的恰好是真相的反面。
    2. ⭐ 修法先例是今天落地的,而且是同一张 PR 建立的。 [观察] 磁贴口径规则有两个盲区:只扫 analytics/dashboards 三页(service 页的同类引用无人检查),且 TILE_WORDS 不认 zh-Hant 实际在用的「磁磚」 #949 / PR test(docs): converge the zh-Hant tile term, and check the vocabulary the rule reads with #1374 面对的正是同一个结构缺陷——规则只扫手工列举的几页——它的解法是把页面集合改成遍历推导出来的(3 页 → 201 页),而不是往手工清单里再加几页。你自己在卡里点出了这一点:"the same shape as [观察] 磁贴口径规则有两个盲区:只扫 analytics/dashboards 三页(service 页的同类引用无人检查),且 TILE_WORDS 不认 zh-Hant 实际在用的「磁磚」 #949's blind spot one directory over"。⇒ 这不是一张要重新设计的卡,是一张照着刚落地的模式再做一次的卡。
    3. 成本小:三个文件、每个两行,加上"要不要让粗/斜体规则也读整棵树"这个已有答案的问题。

    ⚠️ 派发时的两半,⛔ 不要只做第一半

    A. 修文案 —— 两处 Breached SLA 改斜体、:167 的 Critical Cases 改粗体,三个语言版本同步。⚠️ 幽灵仍然要被命名(约定明写:说清它真正在哪,⛔ 不许静默删掉)。

    B. 让守卫够得着 —— 把粗/斜体规则从"分析落地页的一个 block + 快速上手的一个 block"扩到整棵 docs 树,照 PR #1374 的推导式做法。⚠️ 只做 A 是本族的经典陷阱:文案修好了,而下一页写错时仍然没有任何东西会红——这正是 #949 用"只收敛术语不加兜底词"演示过的同一个错误,同一天。

    ⛔ 若 B 实测比看起来贵(粗/斜体的判据比磁贴引用更依赖上下文,很可能真的更贵),停手回报,把 B 拆成独立卡——⛔ 但不要静默只交 A。

    前提纪律

    ⛔ 重测:content/docs/service/cases.* 与 test/docs-dashboard-tiles.test.ts 今天都动过,⛔ 不要引用本卡里的行号。⭐ 并且先确认 Breached SLA 在 src/ 仍然是零命中——并用一个确定存在的邻近词反查,否则那个零不成立(本车道本周已经在这上面栽过三次,其中一次是我)。

    关联

    与 #802 / #809 同族(守卫覆盖面),排期时值得一起看。⛔ 但本卡不依赖它们,可独立派发。


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions