Skip to content

docs(on-call): fix 37 documentation drift findings from audit#49

Merged
ysyneu merged 2 commits into
mainfrom
doc-review/2026-04-21-172448
Apr 21, 2026
Merged

docs(on-call): fix 37 documentation drift findings from audit#49
ysyneu merged 2 commits into
mainfrom
doc-review/2026-04-21-172448

Conversation

@ysyneu
Copy link
Copy Markdown
Contributor

@ysyneu ysyneu commented Apr 21, 2026

Doc Review — 2026-04-21

Mode: audit
Scope: on-call
Findings: 37 total — 6 high, 21 medium, 10 low

Findings file: .doc-review/findings-2026-04-21-172448.yaml (gitignored).

Changes by doc page

Finding Type Doc
incident-f001 missing_coverage (high) zh/en on-call/incident/search-view-incident.mdx — document all 7 detail tabs with conditional visibility
incident-f002 missing_coverage (high) zh/en on-call/incident/search-view-incident.mdx — timeline Markdown comments
incident-f003 missing_coverage (medium) zh/en on-call/incident/handle-update-incident.mdx — postmortem shortcut after close
incident-f004 missing_coverage (medium) zh/en on-call/incident/handle-update-incident.mdx — More menu (quick silence, unacknowledge)
incident-f005 config_drift (medium) zh/en on-call/incident/what-is-incident.mdx — annotate Triggered/Processing/Closed API enum values
incident-f006 missing_coverage (medium) zh/en on-call/incident/search-view-incident.mdx — right panel: incident links, key timestamps
incident-f007 config_drift (low) zh/en on-call/incident/outlier-incidents.mdx — configurable i_score_threshold, frequent classification
incident-f008 missing_coverage (medium) zh/en on-call/incident/search-view-incident.mdx — war room add member / dissolve
incident-f009 missing_coverage (medium) zh/en on-call/incident/search-view-incident.mdx — aggregation rule select/edit UI
channel-f001 missing_coverage (high) zh/en on-call/channel/escalation-rule.mdx — aggr_window and template_id
channel-f002 missing_coverage (high) zh/en on-call/channel/create-edit.mdx — 3-step channel creation wizard
channel-f003 stale_content (medium) zh/en on-call/channel/noise-reduction.mdx — active alert (not active incident)
channel-f004 config_drift (medium) zh/en on-call/channel/noise-reduction.mdx — quick silence default 1h, 6 presets
channel-f005 missing_coverage (medium) zh/en on-call/channel/noise-reduction.mdx — aggregation limits (equals ≤5, cases ≤100, i_keys ≤10, threshold)
channel-f006 missing_coverage (medium) zh/en on-call/channel/create-edit.mdx — channel overview cards (MTTA/MTTR/etc.)
channel-f007 config_drift (medium) zh/en on-call/channel/noise-reduction.mdx — mute_mins 30-1440
channel-f008 missing_coverage (medium) zh/en on-call/channel/noise-reduction.mdx — window duration 24h default / 30d extended
channel-f009 missing_coverage (low) zh/en on-call/channel/create-edit.mdx — advanced settings plan availability
channel-f010 missing_coverage (low) zh/en on-call/channel/escalation-rule.mdx — level defaults and management
channel-f011 missing_coverage (low) zh/en on-call/channel/create-edit.mdx — 5 sort keys, free plan 1-channel limit
schedule-f001 missing_coverage (high) zh/en on-call/configuration/schedule.mdx — override as first-class rule type
schedule-f002 missing_coverage (medium) zh/en on-call/configuration/schedule.mdx — layer enable_time / expire_time
schedule-f003 missing_coverage (medium) zh/en on-call/configuration/schedule.mdx — follow-personal-preference prerequisites
schedule-f004 missing_coverage (medium) zh/en on-call/configuration/schedule.mdx — on-call role model beyond primary/backup
schedule-f005 missing_coverage (low) zh/en on-call/configuration/schedule.mdx — description 500 char limit
schedule-f006 missing_coverage (low) zh/en on-call/configuration/schedule.mdx — day mask default Mon-Fri, restrict_mode reset
schedule-f007 stale_content (low) zh/en on-call/configuration/schedule.mdx — handoff time triggers at total 7 days
alert-f001 stale_content (high) zh/en on-call/incident/alert-management.mdx — remove commented-out timeline tab and close button
alert-f002 missing_coverage (medium) zh/en on-call/incident/alert-management.mdx — lifecycle record types
alert-f003 missing_coverage (medium) zh/en on-call/incident/alert-management.mdx — severity vs status vs progress
alert-f004 missing_coverage (medium) zh/en on-call/incident/alert-management.mdx — filter items and view settings
alert-f005 missing_coverage (medium) zh/en on-call/advanced/reference-variables.mdx — full AlertEvent template attributes
alert-f006 stale_content (low) zh/en on-call/incident/alert-management.mdx — alert overview tab composition
advanced-f001 missing_coverage (medium) zh/en on-call/configuration/filter-conditions.mdx — operators (IN/NOTIN) + built-in keys + severity migration
advanced-f002 missing_coverage (medium) zh/en on-call/configuration/custom-fields.mdx — field_name / display_name / description constraints
advanced-f003 missing_coverage (low) zh/en on-call/configuration/notifications.mdx — generic webhook channel
advanced-f004 missing_coverage (low) zh/en on-call/configuration/personal-settings.mdx — Slack app, instance selection, disablePhone

Review checklist

  • Verify field names, defaults, and enum values still match current code
  • Confirm UI terminology (tab labels, button text, menu entries) matches production
  • Check that the refactored schedule override, channel creation wizard, and alert management sections read naturally
  • Validate internal link paths resolve on live preview
  • Confirm sentence case and tone in en/ match the rest of the docs

Notes

  • Pre-existing broken link in README_zh.mdREADME.md is unrelated to this branch.
  • No new pages added — all findings patched existing pages.
  • docs.json not modified.

🤖 Generated with Claude Code

ysyneu and others added 2 commits April 21, 2026 17:46
Applies 37 findings from the on-call module audit (6 high, 21 medium, 10 low)
against current source code in fc-event / fc-oncall / fc-foundation-app /
flashduty-app. Both zh/ and en/ pages updated in lockstep.

Key fixes:
- Incident detail now documents all 7 tabs (previously listed 5)
- Escalation rule: delay window (aggr_window) and notification template fields
- Channel creation wizard: 3-step flow (was 1-step)
- On-call schedule: override rules as first-class type, layer effective window,
  role model, day-mask defaults, personal-preference prerequisites
- Alert management: stale timeline tab / close button removed; lifecycle
  record types, field dimensions, filter/view settings documented
- Noise reduction: inhibit source corrected (active alert, not incident);
  quick silence default 1h; aggregation limits
- Reference variables: full AlertEvent template attribute list
- Filter conditions: operators and built-in attribute keys enumerated
- Custom fields: field_name regex and length constraints
- Personal settings: private-deployment channel gating note

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Addresses review feedback on PR #49:
- Trim alert lifecycle record table to only actively-emitted feed types
  (a_new, a_update, a_comm, a_merge, a_m_silence, a_m_inhibit); drop
  deprecated or never-emitted types (a_ack/a_unack, a_snooze/a_wake,
  a_trans, a_close, a_m_flapping)
- Remove intelligent grouping similarity threshold (i_score_threshold)
  from noise-reduction and outlier-incidents; not exposed in the web UI
- Remove internal `frequent` outlier classification (not surfaced in UI)
- Drop browser localStorage storage-key mentions from alert-management;
  implementation detail that users cannot act on

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ysyneu ysyneu merged commit 39dd756 into main Apr 21, 2026
1 check passed
@ysyneu ysyneu deleted the doc-review/2026-04-21-172448 branch April 21, 2026 10: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