Enforce Oxford spelling with typos - #174
Conversation
Match the repository panic style explicitly when the compatibility property fails, preserving the topology and error context without using unwrap-style control flow.
Apply the reviewed en-GB-oxendict corrections and generated Typos policy across code and documentation. Pin the shared config-builder CLI while retaining the small consumer phrase gate for punctuation-separated corrections that Typos cannot enforce.
There was a problem hiding this comment.
Sorry @leynos, your pull request is larger than the review limit of 150000 diff characters
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 19 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 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 configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (62)
Note Reviews pausedIt 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 Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughThe PR introduces a generated Typos spelling gate, exact phrase validation, Makefile and CI integration, helper tests, spelling-policy documentation, and spelling corrections across source code and documentation. ChangesSpelling gate rollout
Sequence Diagram(s)sequenceDiagram
participant Makefile
participant TyposConfigBuilder
participant TyposRolloutCheck
participant Repository
Makefile->>TyposConfigBuilder: Generate or verify typos.toml
Makefile->>TyposRolloutCheck: Run phrase correction check
TyposRolloutCheck->>Repository: Read tracked files
Repository-->>TyposRolloutCheck: Return file contents
TyposRolloutCheck-->>Makefile: Return findings and exit status
Possibly related PRs
Suggested reviewers: Poem
Caution Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional.
❌ Failed checks (1 error, 2 warnings)
✅ Passed checks (17 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Extract per-file phrase finding generation so the consumer scanner keeps a straightforward tracked-file loop. Fragment negative fixtures so the phrase gate does not report its own policy examples.
There was a problem hiding this comment.
Sorry @leynos, your pull request is larger than the review limit of 150000 diff characters
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 6
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/chutoro-design.md`:
- Line 3543: Update the bibliography entry in docs/chutoro-design.md to preserve
the cited repository title and wording verbatim, changing “nearest neighbours”
to the American “nearest neighbors” spelling; leave the rest of the citation
unchanged.
In `@docs/execplans/phase-1-nightly-slow-ci-job.md`:
- Line 222: Use sentence case for the “Artefacts and Notes” headings: change
“Notes” to lowercase in docs/execplans/phase-1-nightly-slow-ci-job.md at lines
222-222 and docs/execplans/phase-1-property-test-ci-integration.md at lines
299-299.
In `@Makefile`:
- Around line 76-78: Update the exception handler in typos_rollout_check.py to
use Python 3 tuple syntax for catching both OSError and UnicodeDecodeError, so
spelling-phrase-check parses and runs under Python 3.14.
In `@scripts/tests/test_typos_rollout_check.py`:
- Around line 15-19: Convert the checker helper into a pytest fixture by adding
the pytest fixture decorator while preserving its import setup. Update each test
using checker to accept checker as its parameter, remove monkeypatch from those
test signatures, and delete the manual checker(monkeypatch) assignments.
In `@scripts/typos_rollout_check.py`:
- Around line 102-104: Update _excluded to evaluate policy.excluded_files with
pathspec.GitIgnoreSpec, matching Typos’s gitignore-style extend-exclude
semantics instead of combining path.parts and Path.match. Construct the spec
from the configured patterns and match the tracked path using the
repository-relative representation expected by GitIgnoreSpec, preserving the
boolean return contract.
- Around line 77-88: Update load_policy to check for the shared
.typos-oxendict-base.toml file before passing it to _document; raise a clear
error that directs users to the regeneration command in
docs/developers-guide.md. Preserve the existing phrase-loading and local-overlay
behavior when the cache exists.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 4a218eea-a7db-4caa-ab0d-6a7aac99e244
📒 Files selected for processing (62)
.github/workflows/ci.yml.gitignoreAGENTS.mdMakefilechutoro-bench-datasets/src/info.rschutoro-benches/benches/hnsw_ef_sweep.rschutoro-benches/src/profiling/mod.rschutoro-cli/src/cli/commands.rschutoro-cli/src/logging.rschutoro-core/src/hnsw/cpu/mod.rschutoro-core/src/hnsw/error.rschutoro-core/src/hnsw/graph/core.rschutoro-core/src/hnsw/insert/reciprocity.rschutoro-core/src/hnsw/invariants/mod.rschutoro-core/src/hnsw/node.rschutoro-core/src/hnsw/tests/build.rschutoro-core/src/hnsw/tests/property/graph_metrics.rschutoro-core/src/hnsw/tests/property/graph_topology_tests/tests.rschutoro-core/src/hnsw/tests/property/search_config.rschutoro-core/src/hnsw/tests/property/strategies.rschutoro-core/src/hnsw/tests/property/test_runner_support/budget_selection.rschutoro-core/src/hnsw/tests/property/test_runner_support/runner_wrappers.rschutoro-core/src/hnsw/tests/property/types.rschutoro-core/src/mst/mod.rschutoro-core/src/mst/property/tests.rschutoro-core/src/mst/union_find.rschutoro-core/src/session/tests/builder.rschutoro-providers/dense/src/simd/tests/parity/mod.rschutoro-providers/dense/src/simd/tests/parity/non_finite.rschutoro-providers/dense/src/tests/provider.rschutoro-providers/dense/src/tests/support.rsdocs/benchmark-dataset-retrieval.mddocs/chutoro-design.mddocs/complexity-antipatterns-and-refactoring-strategies.mddocs/developers-guide.mddocs/execplans/10-1-1-chutoro-bench-datasets-and-dataset-recipe-trait.mddocs/execplans/11-1-1-make-edge-harvesting-hnsw-insertion-path-public.mddocs/execplans/11-1-2-define-session-config-carrying-clustering-parameters.mddocs/execplans/11-1-4-incremental-core-distance-computation.mddocs/execplans/2-1-2-extend-synthetic-source-generators.mddocs/execplans/2-1-3-track-memory-footprint.mddocs/execplans/2-1-7-establish-a-ci-regression-detection-strategy.mddocs/execplans/2-2-1-cpu-distance-kernels-using-std-simd.mddocs/execplans/2-2-2-dense-point-view-for-aligned-structure-of-arrays.mddocs/execplans/2-2-4-optional-nightly-only-std-simd-backend.mddocs/execplans/2-2-5-portable-simd-gating-mechanics.mddocs/execplans/2-2-6-property-based-backend-parity-suite.mddocs/execplans/phase-1-nightly-slow-ci-job.mddocs/execplans/phase-1-property-test-ci-integration.mddocs/execplans/phase-1-validate-the-harvested-output.mddocs/execplans/phase-1-verus-proofs-for-edge-harvest-primitives.mddocs/execplans/replace-3-node-bidirectionality-harness-with-commit-path-harness.mddocs/property-testing-design.mddocs/reliable-testing-in-rust-via-dependency-injection.mddocs/rust-testing-with-rstest-fixtures.mddocs/users-guide.mdscripts/_vault_commands.pyscripts/run-verus.shscripts/tests/test_typos_rollout_check.pyscripts/typos_rollout_check.pytypos.local.tomltypos.toml
Preserve the upstream hnswlib title, align the ExecPlan headings, and make the consumer phrase scanner match Typos gitignore exclusions. Improve its direct-use error and fixture setup while keeping Python 3.14 syntax and the focused config-builder boundary intact.
There was a problem hiding this comment.
Gates Passed
6 Quality Gates Passed
See analysis details in CodeScene
Absence of Expected Change Pattern
- chutoro/chutoro-core/src/hnsw/tests/property/strategies.rs is usually changed with: chutoro/chutoro-core/src/hnsw/tests/property/mod.rs
Quality Gate Profile: Pay Down Tech Debt
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.
|
@coderabbitai review |
✅ Action performedReview finished.
|
Superseded by commit 6aaaa0b: all six threads were answered and resolved, directly affected local gates and replacement hosted checks are green, and the explicit incremental CodeRabbit review completed with no new findings.
Summary
documentation while preserving external API spellings;
typos-config-builderatd6da92f02240a79a945c835f69bdd08a888da1d0for deterministic shared-policyrefresh, local-overlay merge, generation, and drift checks;
hand-writtentohandwritten,which Typos cannot express as a whole-phrase correction; and
Design boundaries
The repository no longer carries copied cache, HTTP, policy, rendering, or
generator modules. The shared builder remains focused on configuration
assembly. Chutoro owns only
typos.local.toml, generatedtypos.toml, and thestandalone phrase scanner needed for punctuation-separated corrections.
External API and identifier spellings remain protected through narrow local
exceptions. The generated cache is untracked and accepted only when its source
and digest match the pinned builder policy.
Validation
make spelling: 3 phrase-policy tests passed at 94.87% coverage; generatedconfig drift and Typos 1.48.0 passed;
make check-fmt,make lint, andmake typecheckpassed;make test: 993 tests passed, 1 skipped;make releaseand the dense-provider release build passed;make kani: all 4 practical harnesses passed;make verus: 25 checks passed;make markdownlint: 50 files, 0 errors;make nixie: all diagrams passed;git diff --checkpassed.make kani-fullis not part of this bounded PR gate: the existing seventhbidirectional-reconciliation proof previously exceeded the 120-minute command
and nightly-workflow limit after six distance harnesses passed. The four named
practical harnesses above are green.
No linked issue or roadmap item was found for this estate-maintenance rollout.