Skip to content

Protect the rust-analyzer tool name - #53

Merged
leynos merged 1 commit into
mainfrom
typos-base-rust-analyzer
Jul 13, 2026
Merged

Protect the rust-analyzer tool name#53
leynos merged 1 commit into
mainfrom
typos-base-rust-analyzer

Conversation

@leynos

@leynos leynos commented Jul 13, 2026

Copy link
Copy Markdown
Owner

Summary

  • protect the exact formal tool name rust-analyzer in shared spelling policy
  • keep ordinary analyzer, analyser, and unhyphenated prose governed normally
  • remove the now-redundant foundation-local copy of the pattern
  • add focused generated-policy and matching-scope regression coverage

Context

The estate harvest in wildside-engine found that the spelling tool proposed
rust-analyser for the official Rust tool component. This exact formal name
belongs in the shared authority rather than repeated consumer-local policy.

No separate roadmap item or implementation issue was found for this harvested
dictionary correction.

Validation

  • focused exact-name regression: 1 passed
  • full foundation suite: 145 passed, 3 snapshots
  • make check-fmt
  • make lint
  • make typecheck
  • make spelling
  • mbake validate Makefile
  • generated-config no-drift contract
  • git diff --check

Promote the exact hyphenated rust-analyzer pattern into shared policy while
leaving ordinary analyzer and analyser prose governed by British spelling.
Add focused regression coverage for both generated policy and match scope.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @leynos, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 53 minutes

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 0958c19e-0e8d-42c7-8f9f-80362ee321fb

📥 Commits

Reviewing files that changed from the base of the PR and between 393b682 and 75bb40b.

📒 Files selected for processing (3)
  • data/typos-oxendict-base.toml
  • tests/test_typos_rollout.py
  • typos.local.toml

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Add an exact-word-boundary rust-analyzer ignore pattern to the shared typo dictionary, remove its duplicate local override, and validate the rendered configuration against hyphenated and unhyphenated forms.

Changes

Rust-analyzer typo protection

Layer / File(s) Summary
Shared ignore and rendered-config validation
data/typos-oxendict-base.toml, typos.local.toml, tests/test_typos_rollout.py
Add the shared rust-analyzer ignore regex, remove the duplicate local pattern, and test that only the exact hyphenated identifier is accepted.

Possibly related PRs

Poem

Rust-analyzer, hyphen bright,
Now passes through the spelling gate’s light.
Plain “analyzer” stays in view,
While prose forms fail as they should do.
One exact name, neatly secured.

🚥 Pre-merge checks | ✅ 20
✅ Passed checks (20 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly matches the PR’s main change: protecting the rust-analyzer tool name.
Description check ✅ Passed The description is directly related to the spelling-policy and regression-test changes in the PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Testing (Overall) ✅ Passed The added regression checks shared-load, rendered ignore regexes, and positive/negative matches, so it would fail on plausible bad implementations.
User-Facing Documentation ✅ Passed The shared spelling workflow is already documented in docs/users-guide.md, and this PR only adjusts dictionary contents within that model.
Developer Documentation ✅ Passed No new API, boundary, build or design change appears; the shared spelling policy is already documented in docs/developers-guide.md and ADR 003.
Module-Level Documentation ✅ Passed tests/test_typos_rollout.py begins with a clear module docstring; the other touched files are TOML data, not modules.
Testing (Unit And Behavioural) ✅ Passed The new test hits the public load/render boundary, asserts generated config and absence/presence cases, and avoids mocks or private seams.
Testing (Property / Proof) ✅ Passed PASS: The change adds one exact regex pattern and regression checks; it does not introduce a broad input-space invariant or proof assumption that warrants property/proof tooling.
Testing (Compile-Time / Ui) ✅ Passed No Rust/TS compile-time surface exists; the new Python test uses focused semantic assertions on deterministic TOML, so no trybuild/snapshot equivalent is needed.
Unit Architecture ✅ Passed Only the spelling policy and regression tests changed; the new test uses explicit file-loading and pure rendering seams, with no new hidden side-effects or ambient dependencies.
Domain Architecture ✅ Passed Accept it: the PR only changes spelling-policy TOML and tests; no domain model or infrastructure concerns leak in.
Observability ✅ Passed PASS: keep the change in static typo dictionaries and tests; do not add observability hooks because no operational behaviour changed.
Security And Privacy ✅ Passed Only a public tool-name spelling rule and matching regression tests changed; no secrets, credentials, permissions, or unsafe sinks were introduced.
Performance And Resource Use ✅ Passed PASS: only added one bounded regex ignore and a small regression test; no new loops, I/O, allocations, or unbounded hot-path work.
Concurrency And State ✅ Passed PASS: Keep the change in the config/test layer; it adds only regex policy and deterministic assertions, with no shared mutable state, async work, or locking.
Architectural Complexity And Maintainability ✅ Passed No new abstraction or layer was added; the PR consolidates a duplicated ignore regex into shared policy and adds a focused regression test using existing helpers.
Rust Compiler Lint Integrity ✅ Passed No Rust sources or lint suppressions changed; the patch only edits TOML policy and Python tests.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch typos-base-rust-analyzer

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

@leynos
leynos marked this pull request as ready for review July 13, 2026 21:14
@leynos

leynos commented Jul 13, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 13, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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