Skip to content

docs: state mode behaviour on every rule page (Phase D-13) - #543

Merged
oekazuma merged 2 commits into
mainfrom
docs/rule-page-mode-pass
Aug 20, 2026
Merged

oekazuma merged 2 commits into
mainfrom
docs/rule-page-mode-pass

Conversation

@oekazuma

Copy link
Copy Markdown
Owner

Summary

Phase D-13 of the v1 roadmap — every rule page says how it behaves per analysis input.

  • Every rule page (en + ja, all 94) now carries a ## Mode differences / ## モードによる違い section: source analysis (the CLI, the dashboard's static baseline) vs rendered analysis (the Vite plugin's build pass, a visited dashboard route). One fixed paragraph per rule family, derived from the provider truth table in docs/superpowers/specs/2026-08-19-rule-page-mode-pass.md; tailored paragraphs where a rule diverges (charset/viewport, the length and uniqueness pairs, html-lang, sitemap-in-robots, lcp-image, json-ld, the source-inventory Architecture rules); the seven pages that already had the section are relabelled to the same vocabulary.
  • Inline mode claims move into the section and wrong ones are corrected: "Static (CLI) analysis" on pages the plugin build also runs (heavy-import, namespace-import, five Correctness pages), a11y/doctype's "CLI only" (the dashboard baseline reports it), json-ld-validity's unqualified "not checked".
  • guides/(setup)/cli.md ### --route (en + ja) states which rule families the flag skips, that the uniqueness pair compares only the matched routes, and that project rules still run.
  • Stale comments in packages/core/src/rule.ts / head.ts.
  • Guard: packages/cli/test/docs-links.test.ts fails the build on a rule page without the section (## heading, en + ja).
  • Guides carry no rule counts and the embedded CLI docs make no mode claims (grepped) — nothing to change there.

Merge after #542 — the dashboard-live-layer statements ("leaves this rule to the static baseline") describe the behaviour that PR introduces.

Verify

pnpm build && pnpm typecheck && pnpm lint && pnpm -r test && pnpm --filter docs run translate:check — all green; 115 en pages stamped.

🤖 Generated with Claude Code

oekazuma and others added 2 commits August 19, 2026 21:17
Every rule page (en + ja) now carries a `## Mode differences` section —
source analysis (the CLI, the dashboard's static baseline) vs rendered
analysis (the Vite plugin's build pass, a visited dashboard route) — written
once per rule family from the provider truth table in
docs/superpowers/specs/2026-08-19-rule-page-mode-pass.md. Inline mode claims
move into the section; "Static (CLI) analysis" on pages the plugin build also
runs is corrected; a11y/doctype names the surfaces that do report it; the
--route section of the CLI guide says which rule families it skips.
packages/cli/test/docs-links.test.ts fails the build on a page without the
section.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…cp-image, json-ld, inventory rules)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 19, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 195 files, which is 95 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 2e84ccea-c7e7-43af-a3ae-66f34a9e36d0

📥 Commits

Reviewing files that changed from the base of the PR and between 1271aa6 and a3246b3.

📒 Files selected for processing (195)
  • docs/blume.translations.json
  • docs/src/content/docs/guides/(setup)/cli.md
  • docs/src/content/docs/ja/guides/(setup)/cli.md
  • docs/src/content/docs/ja/rules/a11y/accessible-name.md
  • docs/src/content/docs/ja/rules/a11y/deprecated-aria.md
  • docs/src/content/docs/ja/rules/a11y/deprecated-attr.md
  • docs/src/content/docs/ja/rules/a11y/deprecated-element.md
  • docs/src/content/docs/ja/rules/a11y/disallowed-aria-props.md
  • docs/src/content/docs/ja/rules/a11y/disallowed-element.md
  • docs/src/content/docs/ja/rules/a11y/doctype.md
  • docs/src/content/docs/ja/rules/a11y/duplicate-landmark.md
  • docs/src/content/docs/ja/rules/a11y/id-duplication.md
  • docs/src/content/docs/ja/rules/a11y/interactive-nesting.md
  • docs/src/content/docs/ja/rules/a11y/invalid-aria-value.md
  • docs/src/content/docs/ja/rules/a11y/invalid-role.md
  • docs/src/content/docs/ja/rules/a11y/label-has-control.md
  • docs/src/content/docs/ja/rules/a11y/no-missing-id-ref.md
  • docs/src/content/docs/ja/rules/a11y/placeholder-label-option.md
  • docs/src/content/docs/ja/rules/a11y/require-datetime.md
  • docs/src/content/docs/ja/rules/a11y/required-aria-props.md
  • docs/src/content/docs/ja/rules/a11y/required-element.md
  • docs/src/content/docs/ja/rules/a11y/top-level-landmark.md
  • docs/src/content/docs/ja/rules/a11y/unknown-aria-attribute.md
  • docs/src/content/docs/ja/rules/a11y/use-list.md
  • docs/src/content/docs/ja/rules/architecture/component-size.md
  • docs/src/content/docs/ja/rules/architecture/directory-naming.md
  • docs/src/content/docs/ja/rules/architecture/doc-link-target.md
  • docs/src/content/docs/ja/rules/architecture/private-scope-import.md
  • docs/src/content/docs/ja/rules/architecture/prop-count.md
  • docs/src/content/docs/ja/rules/architecture/reserved-directory-names.md
  • docs/src/content/docs/ja/rules/architecture/reserved-name-placement.md
  • docs/src/content/docs/ja/rules/architecture/route-component-import.md
  • docs/src/content/docs/ja/rules/architecture/unit-entry-file.md
  • docs/src/content/docs/ja/rules/correctness/base-path-navigation.md
  • docs/src/content/docs/ja/rules/correctness/checkable-bind-value.md
  • docs/src/content/docs/ja/rules/correctness/each-index-key.md
  • docs/src/content/docs/ja/rules/correctness/each-key.md
  • docs/src/content/docs/ja/rules/correctness/effect-as-derived.md
  • docs/src/content/docs/ja/rules/correctness/effect-as-onmount.md
  • docs/src/content/docs/ja/rules/correctness/instance-browser-global.md
  • docs/src/content/docs/ja/rules/correctness/nonreactive-builtin-state.md
  • docs/src/content/docs/ja/rules/correctness/orphan-effect.md
  • docs/src/content/docs/ja/rules/correctness/orphan-lifecycle.md
  • docs/src/content/docs/ja/rules/correctness/prop-mutation.md
  • docs/src/content/docs/ja/rules/correctness/server-browser-global.md
  • docs/src/content/docs/ja/rules/correctness/stale-prop-derivation.md
  • docs/src/content/docs/ja/rules/correctness/unmutated-state.md
  • docs/src/content/docs/ja/rules/performance/font-preload-crossorigin.md
  • docs/src/content/docs/ja/rules/performance/heavy-import.md
  • docs/src/content/docs/ja/rules/performance/image-dimensions.md
  • docs/src/content/docs/ja/rules/performance/image-loading-hint.md
  • docs/src/content/docs/ja/rules/performance/lcp-image.md
  • docs/src/content/docs/ja/rules/performance/load-waterfall.md
  • docs/src/content/docs/ja/rules/performance/minify-disabled.md
  • docs/src/content/docs/ja/rules/performance/namespace-import.md
  • docs/src/content/docs/ja/rules/performance/preconnect.md
  • docs/src/content/docs/ja/rules/performance/preload-missing-as.md
  • docs/src/content/docs/ja/rules/performance/render-blocking-script.md
  • docs/src/content/docs/ja/rules/performance/responsive-image.md
  • docs/src/content/docs/ja/rules/performance/sequential-awaits.md
  • docs/src/content/docs/ja/rules/performance/state-raw.md
  • docs/src/content/docs/ja/rules/security/handler-state-write.md
  • docs/src/content/docs/ja/rules/security/javascript-url.md
  • docs/src/content/docs/ja/rules/security/raw-html.md
  • docs/src/content/docs/ja/rules/security/server-module-state.md
  • docs/src/content/docs/ja/rules/security/shared-state-import.md
  • docs/src/content/docs/ja/rules/seo/canonical-url.md
  • docs/src/content/docs/ja/rules/seo/charset.md
  • docs/src/content/docs/ja/rules/seo/description-length.md
  • docs/src/content/docs/ja/rules/seo/description-presence.md
  • docs/src/content/docs/ja/rules/seo/duplicate-description.md
  • docs/src/content/docs/ja/rules/seo/duplicate-title.md
  • docs/src/content/docs/ja/rules/seo/heading-level-skip.md
  • docs/src/content/docs/ja/rules/seo/hreflang.md
  • docs/src/content/docs/ja/rules/seo/html-lang.md
  • docs/src/content/docs/ja/rules/seo/image-alt.md
  • docs/src/content/docs/ja/rules/seo/indexability.md
  • docs/src/content/docs/ja/rules/seo/json-ld-date-format.md
  • docs/src/content/docs/ja/rules/seo/json-ld-deprecated-type.md
  • docs/src/content/docs/ja/rules/seo/json-ld-placeholder.md
  • docs/src/content/docs/ja/rules/seo/json-ld-relative-url.md
  • docs/src/content/docs/ja/rules/seo/json-ld-required-props.md
  • docs/src/content/docs/ja/rules/seo/json-ld-validity.md
  • docs/src/content/docs/ja/rules/seo/json-ld.md
  • docs/src/content/docs/ja/rules/seo/og-description.md
  • docs/src/content/docs/ja/rules/seo/og-image.md
  • docs/src/content/docs/ja/rules/seo/og-title.md
  • docs/src/content/docs/ja/rules/seo/og-url.md
  • docs/src/content/docs/ja/rules/seo/robots-txt.md
  • docs/src/content/docs/ja/rules/seo/single-h1.md
  • docs/src/content/docs/ja/rules/seo/sitemap-in-robots.md
  • docs/src/content/docs/ja/rules/seo/sitemap-xml.md
  • docs/src/content/docs/ja/rules/seo/ssr-disabled.md
  • docs/src/content/docs/ja/rules/seo/title-length.md
  • docs/src/content/docs/ja/rules/seo/title-presence.md
  • docs/src/content/docs/ja/rules/seo/twitter-card.md
  • docs/src/content/docs/ja/rules/seo/viewport.md
  • docs/src/content/docs/rules/a11y/accessible-name.md
  • docs/src/content/docs/rules/a11y/deprecated-aria.md
  • docs/src/content/docs/rules/a11y/deprecated-attr.md
  • docs/src/content/docs/rules/a11y/deprecated-element.md
  • docs/src/content/docs/rules/a11y/disallowed-aria-props.md
  • docs/src/content/docs/rules/a11y/disallowed-element.md
  • docs/src/content/docs/rules/a11y/doctype.md
  • docs/src/content/docs/rules/a11y/duplicate-landmark.md
  • docs/src/content/docs/rules/a11y/id-duplication.md
  • docs/src/content/docs/rules/a11y/interactive-nesting.md
  • docs/src/content/docs/rules/a11y/invalid-aria-value.md
  • docs/src/content/docs/rules/a11y/invalid-role.md
  • docs/src/content/docs/rules/a11y/label-has-control.md
  • docs/src/content/docs/rules/a11y/no-missing-id-ref.md
  • docs/src/content/docs/rules/a11y/placeholder-label-option.md
  • docs/src/content/docs/rules/a11y/require-datetime.md
  • docs/src/content/docs/rules/a11y/required-aria-props.md
  • docs/src/content/docs/rules/a11y/required-element.md
  • docs/src/content/docs/rules/a11y/top-level-landmark.md
  • docs/src/content/docs/rules/a11y/unknown-aria-attribute.md
  • docs/src/content/docs/rules/a11y/use-list.md
  • docs/src/content/docs/rules/architecture/component-size.md
  • docs/src/content/docs/rules/architecture/directory-naming.md
  • docs/src/content/docs/rules/architecture/doc-link-target.md
  • docs/src/content/docs/rules/architecture/private-scope-import.md
  • docs/src/content/docs/rules/architecture/prop-count.md
  • docs/src/content/docs/rules/architecture/reserved-directory-names.md
  • docs/src/content/docs/rules/architecture/reserved-name-placement.md
  • docs/src/content/docs/rules/architecture/route-component-import.md
  • docs/src/content/docs/rules/architecture/unit-entry-file.md
  • docs/src/content/docs/rules/correctness/base-path-navigation.md
  • docs/src/content/docs/rules/correctness/checkable-bind-value.md
  • docs/src/content/docs/rules/correctness/each-index-key.md
  • docs/src/content/docs/rules/correctness/each-key.md
  • docs/src/content/docs/rules/correctness/effect-as-derived.md
  • docs/src/content/docs/rules/correctness/effect-as-onmount.md
  • docs/src/content/docs/rules/correctness/instance-browser-global.md
  • docs/src/content/docs/rules/correctness/nonreactive-builtin-state.md
  • docs/src/content/docs/rules/correctness/orphan-effect.md
  • docs/src/content/docs/rules/correctness/orphan-lifecycle.md
  • docs/src/content/docs/rules/correctness/prop-mutation.md
  • docs/src/content/docs/rules/correctness/server-browser-global.md
  • docs/src/content/docs/rules/correctness/stale-prop-derivation.md
  • docs/src/content/docs/rules/correctness/unmutated-state.md
  • docs/src/content/docs/rules/performance/font-preload-crossorigin.md
  • docs/src/content/docs/rules/performance/heavy-import.md
  • docs/src/content/docs/rules/performance/image-dimensions.md
  • docs/src/content/docs/rules/performance/image-loading-hint.md
  • docs/src/content/docs/rules/performance/lcp-image.md
  • docs/src/content/docs/rules/performance/load-waterfall.md
  • docs/src/content/docs/rules/performance/minify-disabled.md
  • docs/src/content/docs/rules/performance/namespace-import.md
  • docs/src/content/docs/rules/performance/preconnect.md
  • docs/src/content/docs/rules/performance/preload-missing-as.md
  • docs/src/content/docs/rules/performance/render-blocking-script.md
  • docs/src/content/docs/rules/performance/responsive-image.md
  • docs/src/content/docs/rules/performance/sequential-awaits.md
  • docs/src/content/docs/rules/performance/state-raw.md
  • docs/src/content/docs/rules/security/handler-state-write.md
  • docs/src/content/docs/rules/security/javascript-url.md
  • docs/src/content/docs/rules/security/raw-html.md
  • docs/src/content/docs/rules/security/server-module-state.md
  • docs/src/content/docs/rules/security/shared-state-import.md
  • docs/src/content/docs/rules/seo/canonical-url.md
  • docs/src/content/docs/rules/seo/charset.md
  • docs/src/content/docs/rules/seo/description-length.md
  • docs/src/content/docs/rules/seo/description-presence.md
  • docs/src/content/docs/rules/seo/duplicate-description.md
  • docs/src/content/docs/rules/seo/duplicate-title.md
  • docs/src/content/docs/rules/seo/heading-level-skip.md
  • docs/src/content/docs/rules/seo/hreflang.md
  • docs/src/content/docs/rules/seo/html-lang.md
  • docs/src/content/docs/rules/seo/image-alt.md
  • docs/src/content/docs/rules/seo/indexability.md
  • docs/src/content/docs/rules/seo/json-ld-date-format.md
  • docs/src/content/docs/rules/seo/json-ld-deprecated-type.md
  • docs/src/content/docs/rules/seo/json-ld-placeholder.md
  • docs/src/content/docs/rules/seo/json-ld-relative-url.md
  • docs/src/content/docs/rules/seo/json-ld-required-props.md
  • docs/src/content/docs/rules/seo/json-ld-validity.md
  • docs/src/content/docs/rules/seo/json-ld.md
  • docs/src/content/docs/rules/seo/og-description.md
  • docs/src/content/docs/rules/seo/og-image.md
  • docs/src/content/docs/rules/seo/og-title.md
  • docs/src/content/docs/rules/seo/og-url.md
  • docs/src/content/docs/rules/seo/robots-txt.md
  • docs/src/content/docs/rules/seo/single-h1.md
  • docs/src/content/docs/rules/seo/sitemap-in-robots.md
  • docs/src/content/docs/rules/seo/sitemap-xml.md
  • docs/src/content/docs/rules/seo/ssr-disabled.md
  • docs/src/content/docs/rules/seo/title-length.md
  • docs/src/content/docs/rules/seo/title-presence.md
  • docs/src/content/docs/rules/seo/twitter-card.md
  • docs/src/content/docs/rules/seo/viewport.md
  • docs/superpowers/specs/2026-08-19-rule-page-mode-pass.md
  • packages/cli/test/docs-links.test.ts
  • packages/core/src/head.ts
  • packages/core/src/rule.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@oekazuma
oekazuma merged commit 0e341db into main Aug 20, 2026
7 checks passed
@oekazuma
oekazuma deleted the docs/rule-page-mode-pass branch August 20, 2026 03:30
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