Skip to content

Enforce Oxford spelling with Typos#65

Merged
leynos merged 4 commits into
mainfrom
typos-en-gb-oxendict
Jul 16, 2026
Merged

Enforce Oxford spelling with Typos#65
leynos merged 4 commits into
mainfrom
typos-en-gb-oxendict

Conversation

@leynos

@leynos leynos commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Summary

This branch enforces en-GB-oxendict spelling across the repository using the
shared generated Typos dictionary. It corrects the existing corpus, prohibits
hand-written in favour of handwritten, adds deterministic policy checks and
wires pinned Nixie 1.1.0 and Merman 0.7.0 validation into the semantic workflow.

It also ensures that Python compilation artefacts are ignored through the
canonical __pycache__/, *.py[cod] and *$py.class rules, with no tracked
bytecode.

No matching implementation issue, roadmap task or execplan was found.

Review walkthrough

Validation

  • Post-rebase integration: the exact 88-path rollout is composed with repaired current main bd06cde; the narrow policy overlay protects exact CSS property keys background-color and border-top-color without masking ordinary prose.
  • Dependency and core gates: frozen installation, formatting, lint and type-check passed.
  • Review repair: all 19 substantive CodeRabbit threads and the subsequent CodeScene argument-count thread were addressed; the correct three-column synthesis table has zero new Markdown signatures.
  • Tests and builds: 202 unit tests and 5 accessibility tests passed; Fluent-variable checks, semantic lint, token generation and the production build passed.
  • Spelling helper: 15 tests passed with 98.91% coverage; Ruff passed.
  • Generated policy: stable builder b604f198, base authority 1f5d06a4 and deterministic configuration checks passed.
  • typos, prohibited-phrase enforcement and handwritten policy passed. The existing Markdownlint baseline improves to 2,177 findings from 2,226 on exact main, with no rollout-added findings.
  • Nixie 1.1.0 with Merman 0.7.0, duplicate-key YAML validation, Actionlint, Mbake and workflow contracts passed.
  • Python compilation artefacts: all canonical ignore probes passed; zero tracked artefacts and no new .coverage or bytecode residue.
  • End-to-end execution is not configured in this local environment because the repository-local Chromium executable is absent; all 17 cases stopped before application execution.

Notes

The pull request is ready for review. Merge remains gated on replacement hosted
checks and a fresh exact-head CodeRabbit review with no outstanding actionable
comments.

@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, your pull request is larger than the review limit of 150000 diff characters

@coderabbitai

coderabbitai Bot commented Jul 16, 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: 46 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: 0bbcc77a-2173-4643-8ed9-35a62353f5bf

📥 Commits

Reviewing files that changed from the base of the PR and between bd06cde and 35e844f.

📒 Files selected for processing (88)
  • .github/workflows/semantic-lint.yml
  • .gitignore
  • AGENTS.md
  • Makefile
  • docs/building-accessible-and-responsive-progressive-web-applications.md
  • docs/daisyui-v5-guide.md
  • docs/data-model-driven-card-architecture.md
  • docs/developers-guide.md
  • docs/enforcing-semantic-tailwind-best-practice.md
  • docs/high-velocity-accessibility-first-component-testing.md
  • docs/pure-accessible-and-localizable-react-components.md
  • docs/semantic-tailwind-with-daisyui-best-practice.md
  • docs/tailwind-v3-v4-migration-guide.md
  • docs/tailwind-v4-guide.md
  • docs/wildside-mockup-design.md
  • public/locales/en-GB/common.ftl
  • scripts/find-near-duplicate-classes.ts
  • scripts/tests/test_typos_rollout_check.py
  • scripts/typos_rollout_check.py
  • src/app/components/section-heading.tsx
  • src/app/components/slider-control.tsx
  • src/app/components/wildside-map.tsx
  • src/app/data/customize.ts
  • src/app/data/registries/difficulties.ts
  • src/app/data/registries/interests.ts
  • src/app/data/registries/tags.ts
  • src/app/data/safety-fixtures.ts
  • src/app/data/stage-four-offline.ts
  • src/app/data/walk-complete-moment-localizations.ts
  • src/app/data/wizard-localizations.ts
  • src/app/data/wizard-route-localizations.ts
  • src/app/data/wizard-stop-localizations.ts
  • src/app/data/wizard-weather-localizations.ts
  • src/app/data/wizard.ts
  • src/app/domain/entities/localization.ts
  • src/app/features/customize/customize-screen.tsx
  • src/app/features/customize/customize-sections.tsx
  • src/app/features/customize/index.ts
  • src/app/features/customize/segment-toggle-card.tsx
  • src/app/features/customize/use-customize-data.ts
  • src/app/features/explore/explore-community.tsx
  • src/app/features/explore/explore-trending.tsx
  • src/app/features/map/itinerary/hooks/use-itinerary-data.ts
  • src/app/features/map/saved/hooks/use-route-formatters.ts
  • src/app/features/map/saved/hooks/use-route-metrics.ts
  • src/app/features/map/saved/use-saved-route-data.ts
  • src/app/features/offline/hooks/use-offline-localizations.ts
  • src/app/features/safety/use-safety-data.ts
  • src/app/features/walk-complete/components/walk-complete-hero.tsx
  • src/app/features/walk-complete/components/walk-complete-moments.tsx
  • src/app/features/walk-complete/hooks/use-walk-complete-translations.ts
  • src/app/i18n/descriptors.ts
  • src/app/lib/localization-runtime.ts
  • src/app/lib/relative-time.ts
  • src/app/lib/time.ts
  • src/app/observability/logger.ts
  • src/app/routes/customize/route.tsx
  • src/app/units/unit-system.ts
  • src/app/units/use-unit-formatters.ts
  • src/i18n.ts
  • tests/customize-localization.behaviour.test.tsx
  • tests/descriptor-lookups.test.ts
  • tests/e2e/accessibility-snapshots.pw.ts-snapshots/customize-aria-tree-chromium-linux.json
  • tests/e2e/stage4.pw.ts
  • tests/explore-components.test.tsx
  • tests/explore-data.test.ts
  • tests/explore-models.test.ts
  • tests/fluent-quick-walk-duration.test.ts
  • tests/format-slider-value.test.ts
  • tests/helpers/resolveLocalization.ts
  • tests/i18n-load-path.test.ts
  • tests/interest-components.test.tsx
  • tests/interest-registry.test.ts
  • tests/interest-toggle-group.test.tsx
  • tests/localization-runtime.test.ts
  • tests/map-state-provider.test.ts
  • tests/pick-localization.test.ts
  • tests/routes.stage1.test.tsx
  • tests/safety-hooks.test.tsx
  • tests/support/i18n-test-runtime.ts
  • tests/walk-complete.energy.test.tsx
  • tests/walk-completion-data.test.ts
  • tests/wizard-route-stats.copy.test.ts
  • tests/wizard-step-one.markers.test.tsx
  • tests/wizard-step-three-localization.test.tsx
  • typos.local.toml
  • typos.toml
  • vite.config.ts

Walkthrough

The pull request adds Oxford/en-GB spelling enforcement, exact phrase checking, Mermaid validation, pinned CI tooling, generated Typos policies, and terminology updates across source code, documentation, localisation strings, tests, and snapshots.

Changes

Spelling policy and validation

Layer / File(s) Summary
Spelling policy tooling
Makefile, scripts/typos_rollout_check.py, scripts/tests/*, typos*.toml, .gitignore
Add chained spelling targets, generated Typos configuration, phrase-policy scanning, helper tests, and cache exclusions.
CI validation pipeline
.github/workflows/semantic-lint.yml, docs/developers-guide.md
Pin Mermaid tooling, install Python and Rust tooling, and run spelling and Mermaid checks before semantic linting.

Terminology and content consistency

Layer / File(s) Summary
Source terminology and helper renames
src/app/**/*, scripts/find-near-duplicate-classes.ts, src/i18n.ts, vite.config.ts
Align American-English identifiers, comments, warnings, fallback strings, and internal helper names.
Localisation and documentation wording
docs/*.md, AGENTS.md, public/locales/en-GB/common.ftl
Apply repository spelling conventions across guidance, UI strings, and localisation content.
Test and snapshot alignment
tests/**/*
Update test descriptions, helper names, fallback text, and the accessibility snapshot to match revised terminology.

Possibly related PRs

Poem

Typos march beneath the gate,
Mermaid lines now validate.
Words align from code to prose,
British rules and US rows compose.
A pinned toolchain checks the way—
Clean phrases greet the semantic day.


Caution

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

  • Ignore

❌ Failed checks (3 errors, 6 warnings)

Check name Status Explanation Resolution
Testing (Overall) ❌ Error The new CLI and locale changes lack key regressions: main() has no clean-repo zero-output test, and coerceLocaleCode has no mixed-case locale assertion. Add a zero-finding main() test that expects exit 0 with no output, and add a mixed-case coercion regression such as EN-gb -> en-GB.
Module-Level Documentation ❌ Error Eight touched modules begin with imports instead of docstrings, so the module-doc policy is not met. Add top-of-file docstrings/comments to every touched module, especially scripts/find-near-duplicate-classes.ts and the listed tests, then re-run the check.
Unit Architecture ❌ Error load_policy silently coerces malformed TOML to empty values, and check_phrase_corrections swallows read/decode errors, hiding fallibility behind a query API. Validate policy shapes and surface parse/file errors from explicit seams; stop collapsing bad tables/lists or unreadable files to empty and add regression tests.
Docstring Coverage ⚠️ Warning Docstring coverage is 47.62% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
User-Facing Documentation ⚠️ Warning The branch changes user-facing copy in the wizard/customize/safety locales, but there is no docs/users-guide.md end-user guide. Add docs/users-guide.md (or equivalent) for the changed route/customize/safety behaviour and keep any locale-specific user docs in sync.
Developer Documentation ⚠️ Warning docs/developers-guide.md still pins typos-config-builder to d6da92..., but Makefile now uses b604f198, so the new build requirement is documented stale. Update the developer guide (or add an ADR) to match the current Makefile pins, then recheck any mirrored locale/docs for sync.
Testing (Unit And Behavioural) ⚠️ Warning The suite covers happy-path loading, masking/exclusions, and one failing CLI run, but misses zero-findings, malformed-policy, and case-insensitive regressions; broken implementations could pass. Add regression tests for zero-findings CLI runs, malformed shared/local policy tables, and coerceLocaleCode('EN-gb') so edge cases and the CLI boundary are covered.
Testing (Property / Proof) ⚠️ Warning The change adds range-based invariants in locale coercion and phrase scanning, but only example tests were added; no property/proof testing framework is present. Add property-based coverage for coerceLocaleCode, _masked/_phrase_findings, and policy merging, or justify why exhaustive/proof-level checking is unnecessary.
Performance And Resource Use ⚠️ Warning The workflow installs Nixie with uv tool install, then make nixie provisions/runs Nixie again in .uv-tools, duplicating downloads and setup on every CI run. Drop the standalone Nixie install and let make nixie provision it, or share the same UV_TOOL_DIR so the install is reused.
✅ Passed checks (11 passed)
Check name Status Explanation
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 (Compile-Time / Ui) ✅ Passed Focused Playwright accessibility snapshots cover the UI changes, and no new TypeScript/Rust compile-time behaviour is introduced that would need a trybuild-equivalent test.
Domain Architecture ✅ Passed PASS: The patch only adjusts docs, spelling policy, and pure localization helpers; no domain code now depends on HTTP, storage, or other infrastructure concerns.
Observability ✅ Passed PASS: the only behavioural change adds a DEV fallback warning with stable locale/fallback/error context; the new CLI prints path:line:column diagnostics.
Security And Privacy ✅ Passed Only spelling-policy and pinned-tooling changes landed; no secrets, auth paths, unsafe sinks, or widened permissions were introduced.
Concurrency And State ✅ Passed The diff adds only sequential tooling, config, and pure helpers; no shared mutable state, async tasks, locks, or ordering-sensitive parallel paths were introduced.
Architectural Complexity And Maintainability ✅ Passed PASS: Keep abstractions small and explicit; the new checker is a single-purpose CLI with direct Makefile/workflow wiring and focused tests, not a speculative layer.
Rust Compiler Lint Integrity ✅ Passed No Rust files changed in the PR diff, so no lint suppressions or suspicious clone churn were introduced.
Title check ✅ Passed Align it with the repo-wide spelling-policy changes.
Description check ✅ Passed Tie it to the repository-wide spelling-policy changes.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch typos-en-gb-oxendict

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

codescene-access[bot]

This comment was marked as outdated.

leynos added a commit that referenced this pull request Jul 16, 2026
* Repair TypeScript dependency baseline

Align the Playwright type dependency and accessibility snapshot helper with
the installed 1.61 API. Update MapLibre typing and lifecycle narrowing, then
regenerate the four focused ARIA snapshots.

Use the explicit roles exposed by Happy DOM 20 in routed-flow tests and add
the canonical Python compilation artefact ignore rules.

* Fix accessibility review findings

Remove redundant icon labels so bottom-navigation controls expose one
accessible name, and refresh only the affected ARIA snapshots.

Document the raw Playwright snapshot boundary and align the related test
module and design documentation with the implemented accessibility flow.

---------

Co-authored-by: leynos <leynos@rohga>
leynos added 2 commits July 16, 2026 18:29
Adopt the shared generated Oxford dictionary, correct the repository corpus,
and wire pinned spelling, Markdown and diagram checks into local and hosted
validation.

Keep generated policy deterministic, reject `hand-written` prose and ignore
Python compilation artefacts without tracking bytecode.
Protect exact CSS snapshot property keys through narrow generated Typos
rules, without masking ordinary prose.

Reflow the affected Oxford documentation so the rollout introduces no new
Markdown findings after rebasing onto the repaired accessibility baseline.
@leynos
leynos force-pushed the typos-en-gb-oxendict branch from 3486c8b to d7f3721 Compare July 16, 2026 16:48
codescene-access[bot]

This comment was marked as outdated.

@leynos
leynos marked this pull request as ready for review July 16, 2026 16:56

@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, your pull request is larger than the review limit of 150000 diff characters

@leynos

leynos commented Jul 16, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
✅ Action performed

Full review finished.

@coderabbitai coderabbitai 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.

Actionable comments posted: 20

🤖 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 @.github/workflows/semantic-lint.yml:
- Around line 38-39: Remove the separate “Install Nixie” step from the workflow
and rely on the existing make nixie target to provision Nixie under
UV_TOOL_DIR=.uv-tools. Do not add another installation command or alternate tool
directory.

In `@docs/building-accessible-and-responsive-progressive-web-applications.md`:
- Line 671: Complete the Perceivable continuation row in the accessibility
checklist table by adding an empty first category cell, ensuring it has four
cells matching the table header and preserves the existing content in the
remaining columns.

In `@docs/daisyui-v5-guide.md`:
- Line 37: Update the usage-rule example in the daisyUI customization guidance
by adding a comma after “For example,” rewriting the clause to say it
“forcefully sets a custom background colour on a `btn`,” and ending the sentence
with a full stop.
- Line 891: Replace the ambiguous “- suggestion -” separators in the guidance
text at both documented occurrences with clear prose using either “Suggestion:
use...” or “Suggestion — use...”, preserving the existing recommendation.
- Around line 123-132: Update the colour-rules prose in the numbered list:
change line 123 to say “based on the theme,” add a comma before “so” on line
126, use proper dash punctuation and “the dark theme” on line 129, and revise
line 132 to say “the majority” with a full stop.
- Around line 107-109: Update the base-100, base-200, and base-300 entries in
the guide to remove the duplicated numeric suffixes after each label. Correct
base-300 to use “an even darker shade” and preserve the intended descriptions
with clear grammar.
- Around line 99-118: Update the colour-name list entries in the daisyUI v5
guide to use consistent sentence punctuation and capitalization: replace
comma-separated fragments with a colon or full stop, and lowercase the
continuation text. Apply this consistently to the entries from primary through
error-content, including correcting the malformed base-100, base-200, and
base-300 descriptions.
- Around line 96-98: Add blank lines immediately before and after each affected
heading in the daisyUI colour documentation, including the headings near lines
96, 98, 120, and 134. Preserve all existing heading text and levels while
satisfying MD022.

In `@docs/developers-guide.md`:
- Around line 71-76: Update the documented typos-config-builder revision in the
generator description to b604f198797fdd36a567dd0f8f07b13f9539b241, replacing the
outdated pinned commit while preserving the surrounding generation and cache
documentation.

In `@docs/high-velocity-accessibility-first-component-testing.md`:
- Line 623: Restore the synthesis table around the changed comparison row as
valid Markdown, including its header and four consistently delimited columns
using | separators. Preserve the intended wording change while ensuring each row
is properly separated and renders as a scannable table.
- Line 722: Update the axe-core documentation note in the referenced
accessibility testing document to use the valid rule name “color-contrast” or
rewrite the term as “colour contrast” in prose; do not retain the invalid
hyphenated “colour-contrast” wording.
- Line 35: Update the documentation paragraph describing the Node-based
accessibility test workflow: restrict tsgo to transpilation or type-checking,
and explicitly identify the separate Node runner or loader responsible for
executing the *.a11y.test.tsx tests. Preserve the existing JSDOM, component
rendering, axe-core, and reporting flow.

In `@docs/tailwind-v4-guide.md`:
- Line 98: Update the changed headings in docs/tailwind-v4-guide.md, including
“Default Behaviour Changes” and the listed affected headings, to have blank
lines before and after each heading. Also add blank lines immediately before and
after the ring-offset-* fenced code block so the document satisfies MD022 and
MD031.
- Line 98: Update the changed Markdown headings in docs/tailwind-v4-guide.md to
sentence case, including headings such as “Default behaviour changes” and
“Modern colour system.” Apply the same casing consistently to all headings
identified by the review comment, preserving their wording otherwise.
- Line 281: Update the nearby example prose under “Leverage the New Colour
System” from “Vivid colors on modern displays” to “Vivid colours on modern
displays.” Preserve API identifiers such as color-mix() and --color-* unchanged.

In `@Makefile`:
- Around line 66-69: Update the Makefile’s nixie target to invoke $(NIXIE) with
configurable NIXIE_ARGS and no hardcoded --no-sandbox flag, so local runs retain
sandboxing; then set NIXIE_ARGS=--no-sandbox in the CI workflow’s nixie
invocation.

In `@scripts/tests/test_typos_rollout_check.py`:
- Around line 104-121: Extend test_main_reports_location_and_exit_two’s test
coverage with an allowed-text fixture containing no prohibited phrase, then
invoke checker.main with that repository and assert it returns zero and produces
no stdout. Keep the existing prohibited-text diagnostic assertions unchanged.

In `@scripts/typos_rollout_check.py`:
- Around line 87-108: Update _phrases and its callers to reject malformed
phrase-policy data: require [phrases] and [phrases.corrections] to be tables and
every correction value to be a string, raising the existing validation error
rather than returning an empty mapping. Apply the same validation to both shared
and local policy parsing paths, and add regression tests covering malformed
shared and local policies.

In `@src/app/lib/localization-runtime.ts`:
- Around line 64-68: Add a regression test for coerceLocaleCode covering the
mixed-case input "EN-gb" and assert that it returns the canonical locale code
"en-GB". Place it with the existing localization runtime unit tests and follow
their established test structure.

In `@tests/explore-data.test.ts`:
- Around line 19-23: Update the failure message inside expectHasLocalizations to
use “missing localization for ${code}” instead of the stale “localisation”
spelling, aligning the diagnostic with the repository’s spelling policy.
🪄 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: cc90f2f7-af64-42d3-a256-3447f93caf23

📥 Commits

Reviewing files that changed from the base of the PR and between bd06cde and d7f3721.

📒 Files selected for processing (88)
  • .github/workflows/semantic-lint.yml
  • .gitignore
  • AGENTS.md
  • Makefile
  • docs/building-accessible-and-responsive-progressive-web-applications.md
  • docs/daisyui-v5-guide.md
  • docs/data-model-driven-card-architecture.md
  • docs/developers-guide.md
  • docs/enforcing-semantic-tailwind-best-practice.md
  • docs/high-velocity-accessibility-first-component-testing.md
  • docs/pure-accessible-and-localizable-react-components.md
  • docs/semantic-tailwind-with-daisyui-best-practice.md
  • docs/tailwind-v3-v4-migration-guide.md
  • docs/tailwind-v4-guide.md
  • docs/wildside-mockup-design.md
  • public/locales/en-GB/common.ftl
  • scripts/find-near-duplicate-classes.ts
  • scripts/tests/test_typos_rollout_check.py
  • scripts/typos_rollout_check.py
  • src/app/components/section-heading.tsx
  • src/app/components/slider-control.tsx
  • src/app/components/wildside-map.tsx
  • src/app/data/customize.ts
  • src/app/data/registries/difficulties.ts
  • src/app/data/registries/interests.ts
  • src/app/data/registries/tags.ts
  • src/app/data/safety-fixtures.ts
  • src/app/data/stage-four-offline.ts
  • src/app/data/walk-complete-moment-localizations.ts
  • src/app/data/wizard-localizations.ts
  • src/app/data/wizard-route-localizations.ts
  • src/app/data/wizard-stop-localizations.ts
  • src/app/data/wizard-weather-localizations.ts
  • src/app/data/wizard.ts
  • src/app/domain/entities/localization.ts
  • src/app/features/customize/customize-screen.tsx
  • src/app/features/customize/customize-sections.tsx
  • src/app/features/customize/index.ts
  • src/app/features/customize/segment-toggle-card.tsx
  • src/app/features/customize/use-customize-data.ts
  • src/app/features/explore/explore-community.tsx
  • src/app/features/explore/explore-trending.tsx
  • src/app/features/map/itinerary/hooks/use-itinerary-data.ts
  • src/app/features/map/saved/hooks/use-route-formatters.ts
  • src/app/features/map/saved/hooks/use-route-metrics.ts
  • src/app/features/map/saved/use-saved-route-data.ts
  • src/app/features/offline/hooks/use-offline-localizations.ts
  • src/app/features/safety/use-safety-data.ts
  • src/app/features/walk-complete/components/walk-complete-hero.tsx
  • src/app/features/walk-complete/components/walk-complete-moments.tsx
  • src/app/features/walk-complete/hooks/use-walk-complete-translations.ts
  • src/app/i18n/descriptors.ts
  • src/app/lib/localization-runtime.ts
  • src/app/lib/relative-time.ts
  • src/app/lib/time.ts
  • src/app/observability/logger.ts
  • src/app/routes/customize/route.tsx
  • src/app/units/unit-system.ts
  • src/app/units/use-unit-formatters.ts
  • src/i18n.ts
  • tests/customize-localization.behaviour.test.tsx
  • tests/descriptor-lookups.test.ts
  • tests/e2e/accessibility-snapshots.pw.ts-snapshots/customize-aria-tree-chromium-linux.json
  • tests/e2e/stage4.pw.ts
  • tests/explore-components.test.tsx
  • tests/explore-data.test.ts
  • tests/explore-models.test.ts
  • tests/fluent-quick-walk-duration.test.ts
  • tests/format-slider-value.test.ts
  • tests/helpers/resolveLocalization.ts
  • tests/i18n-load-path.test.ts
  • tests/interest-components.test.tsx
  • tests/interest-registry.test.ts
  • tests/interest-toggle-group.test.tsx
  • tests/localization-runtime.test.ts
  • tests/map-state-provider.test.ts
  • tests/pick-localization.test.ts
  • tests/routes.stage1.test.tsx
  • tests/safety-hooks.test.tsx
  • tests/support/i18n-test-runtime.ts
  • tests/walk-complete.energy.test.tsx
  • tests/walk-completion-data.test.ts
  • tests/wizard-route-stats.copy.test.ts
  • tests/wizard-step-one.markers.test.tsx
  • tests/wizard-step-three-localization.test.tsx
  • typos.local.toml
  • typos.toml
  • vite.config.ts

Comment thread .github/workflows/semantic-lint.yml Outdated
Comment thread docs/building-accessible-and-responsive-progressive-web-applications.md Outdated
Comment thread docs/daisyui-v5-guide.md Outdated
Comment thread docs/daisyui-v5-guide.md
Comment thread docs/daisyui-v5-guide.md Outdated
Comment thread Makefile Outdated
Comment thread scripts/tests/test_typos_rollout_check.py
Comment thread scripts/typos_rollout_check.py Outdated
Comment thread src/app/lib/localization-runtime.ts
Comment thread tests/explore-data.test.ts
Harden phrase-policy validation and error reporting, add focused regression
coverage, and keep Nixie provisioning under a single configurable authority.

Repair the reviewed documentation, tables, module headers, terminology, and
Oxford-versus-API spelling boundaries without expanding shared tooling scope.
codescene-access[bot]

This comment was marked as outdated.

@leynos

leynos commented Jul 16, 2026

Copy link
Copy Markdown
Owner Author

Review follow-up for exact repair head 4b662dccdcf2f911d5f9ce7b27d8c792d83b592c:

  • The substantive review body reported 20 actionable comments, while complete GraphQL pagination exposed 19 real threads. All 19 were answered individually with the corresponding repair and validation evidence, then resolved.
  • CLI and locale regressions are covered: clean CLI exit/output, exact EN-gb coercion, and every configured locale in upper- and lower-case forms.
  • Policy parsing now fails closed for malformed shared, local and generated shapes; unreadable and invalid-UTF-8 tracked files propagate their errors.
  • All nine actual touched TypeScript/TSX modules that lacked headers now have top-level file documentation. Every changed Python function and nested helper is documented.
  • The reported 80% docstring threshold is not configured in this repository. The applicable changed-Python gate passed 15/15 tests with 98.91% coverage; the repository module-header policy is also satisfied.
  • docs/wildside-mockup-design.md, the existing user-facing design-guide equivalent, now records that en-GB customize, wizard and safety copy follows Oxford spelling without changing keys, route identifiers or APIs.
  • The developers’ guide now matches builder revision b604f198797fdd36a567dd0f8f07b13f9539b241.
  • Range invariants are exercised without adding a new framework: exhaustive configured-locale case matrices plus parametrized masking, malformed-policy and decode/read-error matrices.
  • Duplicate Nixie provisioning is removed; the Makefile owns Nixie locally and CI alone supplies NIXIE_ARGS=--no-sandbox.
  • The synthesis comparison is correctly three columns—Dimension, Component layer and E2E layer. Wrapped adjacent detail preserves every distinction. Targeted Markdownlint has 181 findings versus 186 on the previously gated branch and 187 on exact main, with zero new signature instances.

Sequential Scrutineer validation is Green: lint, type-check, 202 unit tests, 5 accessibility tests, Fluent and semantic checks, token and production builds, spelling/config generation, Nixie 1.1.0 with Merman 0.7.0, YAML, Actionlint, Mbake, workflow authority and Python-artefact audits. Local E2E remains the established nonconfigured baseline because Chromium is absent; all 17 cases stop before application execution.

No replacement review or merge is being requested while replacement hosted checks are still running.

Group the policy path and malformed TOML as one typed case value so the
parameterized test stays within the repository argument-count limit without
weakening its five regression cases.
Comment thread scripts/tests/test_typos_rollout_check.py
@leynos

leynos commented Jul 16, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai resume

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
✅ Action performed

Reviews resumed.

@leynos
leynos merged commit 9329a40 into main Jul 16, 2026
6 checks passed
@leynos
leynos deleted the typos-en-gb-oxendict branch July 16, 2026 19:15
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