Skip to content

docs: doc-review 2026-10-02 (diff) — AI SRE nav, context file tree, borrowed-integration vendor cards - #939

Merged
ysyneu merged 4 commits into
mainfrom
doc-review/2026-10-02-020320
Oct 6, 2026
Merged

ysyneu merged 4 commits into
mainfrom
doc-review/2026-10-02-020320

Conversation

@flashduty

@flashduty flashduty Bot commented Oct 2, 2026

Copy link
Copy Markdown

Doc Review — 2026-10-02

Mode: diff (since 2026-09-30T16:35:38Z, the last successful run)
Findings: 6 total — 0 high, 1 medium, 5 low · applied 3, skipped 2, cross-repo 1

Window and method

Window 2026-09-30T16:35:38Z → 2026-10-02T02:03Z. All 17 mapped repos were cloned/fetched and diffed
against origin/<default-branch> (never the local checkout); the fc-foundation-app submodules
(saas, monit, rum, ai-sre, plus ai-assistant, meow-ui) were initialised with their SSH URLs
rewritten to HTTPS and diffed from inside the submodule, with .gitmodules restored afterwards.

Only four areas had in-window changes: fc-datasource (structs/plugin.go), fc-foundation-app
(saas and ai-sre submodules), fc-safari (cmd/api/knowledge/knowledge.go). The other 14 repos had
none. Test/spec files and image assets were filtered out of the diff set before analysis.

The bulk of the AI SRE diff (~60 of 62 files) turned out to be a mechanical antd →
@flashcatcloud/meow-ui migration (Spin→Spinner, size='small'→'sm', onChange→onValueChange
/onCheckedChange, raw segment buttons → Tabs.Root): no user-visible field, option, limit or default
changed, so it produced no findings.

The fc-datasource diff registers 75 new PlugAlert* values and 12 new PlugChange* values. Every one
of the 87 already has zh + en doc pages
and is registered in docs.json, and all 75 alert slugs are
present in the website catalog — so there were no missing-integration pages to write.

Changes

Finding Type Module Doc Action
f001 feature_drift ai-sre zh/en/ai-sre/environments.mdx:62, zh/en/ai-sre/quickstart.mdx:105 The self-hosted/cloud view switch moved from tabs at the top of the page to a left menu card. Replaced "切换到顶部的云端标签页" with "在菜单里选择 云端", and "在 自托管 标签页点击 创建" with "在左侧菜单选择 自托管,点击 创建" (en mirrors: "pick Cloud from its menu", "pick Self-hosted from the menu").
f002 missing_coverage ai-sre zh/en/ai-sre/knowledge.mdx:76 The Context page's file panel is no longer a flat list: when a pack has subdirectories it renders a collapsible directory tree — folders expand/collapse, DUTY.md is pinned to the top (still labelled 使用说明), folders sort before files and same-level entries sort by name. Added one sentence describing this, both locales.
f003 missing_coverage on-call/integration zh/en/on-call/channel/integrate-data.mdx Added the 借用其它集成接入的厂商 / Vendors that ride on another integration section: the 28 vendor doc-cards that have no integration type of their own, each with the integration type it borrows (a table generated from docCards.ts), the alias search (VSPC/PDU/WUG/UPS/OCP/Azure Sentinel/Bro…), and the fact that opening a card lands on the borrowed type's creation page while what gets saved is the borrowed type. Both "select alert type" steps now point at it.
f004 feature_drift on-call/integration zh/en/.../alert-sources/cubeapm.mdx:14, .../red-hat-openshift.mdx:14 Both pages carried a disambiguation clause copy-pasted from chronosphere.mdx — "集成类型都选择 Prometheus,不是 Chronosphere" / "not Chronosphere". Corrected to 不是 CubeAPM / 不是 Red Hat OpenShift (en: "not CubeAPM" / "not Red Hat OpenShift"). The prescriptive half was already right; only the vendor name was wrong.

All 28 doc-card pages were also checked against docCards.ts: every page exists, is in docs.json, and
its stated borrowed type matches the via field. No other page has a mismatched disambiguation clause.

mint broken-links → no broken links (run after all edits).

Review checklist

  • Verify config field names and defaults match current code
  • Check that feature descriptions accurately reflect user-facing behavior
  • Ensure tone and style match the rest of the docs
  • Confirm the 28 vendor cards and their borrowed types in the new table match docCards.ts

Cross-repo follow-ups (flashduty-website)

  • f006 — messages/zh.json + messages/en.json, severity low. Both files state "60+" in ~11 places
    (including stats.integrations.value), while the same repo's lib/integrations/catalog.ts defines 274
    category: "alert-sources" entries (318+ total incl. instant-messaging / webhooks-sync / other) and
    app/[locale]/integrations/_components/integrations-catalog.tsx:165 renders categoryEntries.length
    dynamically. The static copy therefore contradicts the count the site itself renders. Suggested action:
    bump the number, or derive it from INTEGRATION_CATALOG so it cannot drift again. Not edited here — it
    is a flashduty-website change.

Mapping warnings

derivative_surfaces.comparison_page.paths in mapping.yaml points at files that do not exist:

missing_path suggestion
zh/on-call/quickstart/comparison.mdx The comparison pages live at zh/on-call/comparison/vs-pagerduty.mdx and zh/on-call/comparison/vs-opsgenie.mdx
en/on-call/quickstart/comparison.mdx Same, under en/on-call/comparison/

Worth fixing in the skill's mapping.yaml so the comparison surface is actually checked on future runs.

Skipped

f005 — integration-count claims, severity low, not edited (needs a product decision).
zh/home.mdx:84 says "丰富集成:50+ 告警源原生支持" / en/home.mdx:83 "Native support for 50+ alert
sources", while zh/en/on-call/comparison/vs-pagerduty.mdx:180 and vs-opsgenie.mdx:140 say
"60+ 集成源" / "60+ integration sources". Two different numbers for the integration inventory now coexist
in the repo, and both sit far below the 277 documented alert-source pages per locale.

Left for a human because the correct number depends on a definition — native plugin types vs. documented
pages vs. discoverable cards (the 28 borrowed-integration vendors above are not native types) — and because
zh/home.mdx's "50+" is not an accident: doc-review 2026-08-13 (f9745679) deliberately lowered it from
"100+" to "50+". Raising a marketing number unilaterally would risk introducing a wrong claim, so the
recommendation is to pick one canonical definition and apply it to all four locations at once.

Notes (checked, not filed)

  • zh/ai-sre/apps.mdx:34 calls the Plugins rail entries "标签页" even though they are a left menu of
    buttons. That wording predates this window — the rail was already a left menu before this diff — and the
    item set/order (概览 / Apps / Skill / MCP / Agents) is unchanged, so no edit was made.
  • The antd → meow-ui migration touched ~60 AI SRE files including pagination, scope bar, toolbars and
    spinners; all were checked for changed limits/options/defaults and none were found.
  • fc-safari cmd/api/knowledge/knowledge.go now returns an empty document (instead of 404) when a file
    is opened before it exists; no doc page states the 404 behaviour, so no drift.
  • No changelog entry was added: per the skill's derivative-surface trigger, the pass runs only for
    missing_coverage / feature_drift findings at high or medium severity, and the only documentable new
    feature here (the vendor cards) is low. The preceding run's open PR docs: doc-review 2026-09-30 (diff) — dashboards page, RUM repository linking, on-prem license reminders #790 already carries a 2026-09-30
    changelog entry covering the integration wave.

Flashduty AI-SRE and others added 4 commits October 2, 2026 02:06
… nav, context file tree, borrowed-integration vendor cards

Window: 2026-09-30T16:35:38Z -> 2026-10-02T02:03Z
Findings: 6 total (1 medium, 5 low) — 3 applied, 2 skipped, 1 cross-repo

- environments/quickstart: the self-hosted/cloud switch moved from top tabs to a
  left menu; the docs still pointed at a tab at the top of the page.
- knowledge: the Context page's file panel is now a collapsible directory tree
  (DUTY.md pinned, folders before files); the docs described a flat list.
- integrate-data (+ quickstart step two): the integration-type picker now also
  lists 28 vendor doc-cards that borrow another integration type; documented the
  list, alias search and what actually gets saved.
- cubeapm / red-hat-openshift: the disambiguation clause was copy-pasted from
  chronosphere.mdx ("not Chronosphere"); corrected in both locales.
# Conflicts:
#	en/ai-sre/environments.mdx
#	en/ai-sre/knowledge.mdx
#	en/ai-sre/quickstart.mdx
#	zh/ai-sre/environments.mdx
#	zh/ai-sre/knowledge.mdx
#	zh/ai-sre/quickstart.mdx
@ysyneu
ysyneu merged commit bf41723 into main Oct 6, 2026
1 check passed
@ysyneu
ysyneu deleted the doc-review/2026-10-02-020320 branch October 6, 2026 03:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant