* [AI] Replace archived check-spelling action with typos for docs spell-check The check-spelling/check-spelling action was archived upstream and shipped a self-disabling "secpoll" kill-switch after a maintainer-account compromise (2026-06-16), causing the Check Spelling (Docs) workflow to fail fatally with a security-advisory error. There is no patched release to bump to. Replace it with crate-ci/typos, which is actively maintained and runs entirely from the checked-out tree (no PR-comment or bot-apply machinery, so the workflow only needs contents: read): - Rewrite .github/workflows/docs-spelling.yml to run crate-ci/typos, dropping the check-spelling comment/apply jobs and the pull_request_target trigger. - Replace the check-spelling config files with typos.toml: scope to packages/docs, exclude auto-generated release notes and binary assets, and allowlist words typos otherwise mis-flags (HSA, Lage/lage, BA). - Fix genuine typos surfaced in current docs (schedules.md, paying-in-full.md). - Update the contributing guide and docs-writing skill to describe the new allowlist location. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DstzjPjGYdWMCG4jsrH6a1 * [AI] Add docs-spelling release note and format README Fix the remaining CI checks on the spell-check migration: - Add upcoming-release-notes/8249.md (Maintenance) so the "Release notes" check passes. - Reformat .github/actions/docs-spelling/README.md with oxfmt so the lint ("Test") and autofix.ci checks pass (autofix.ci is not permitted to modify files under .github, so the formatting has to be committed directly). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DstzjPjGYdWMCG4jsrH6a1 * [AI] Disable credential persistence in docs-spelling checkout Address the code-scanning (zizmor) and CodeRabbit review finding: the read-only spell-check job performs no authenticated git operations, so set persist-credentials: false on actions/checkout as a hardening measure. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DstzjPjGYdWMCG4jsrH6a1 --------- Co-authored-by: Claude <noreply@anthropic.com>
Docs spell-checking configuration
The documentation under packages/docs is spell-checked by the
crate-ci/typos action, wired up in
.github/workflows/docs-spelling.yml.
| File | Purpose |
|---|---|
| typos.toml | typos configuration: the allowlist of accepted words and the list of excluded files |
How it works
typos only reports high-confidence misspellings from its built-in correction dictionary, so — unlike the previous check-spelling setup — proper nouns, bank codes, and abbreviations usually do not need to be added to an allowlist. Add an entry only when typos flags something that is actually correct.
Allowing a word
Add it to [default.extend-words] in typos.toml, mapped to
itself:
[default.extend-words]
HSA = "HSA"
Excluding a file
Add a glob to extend-exclude under [files] in typos.toml.
See the typos documentation for the full configuration reference.
Why not check-spelling?
The repository previously used check-spelling/check-spelling. That project's
upstream repository was archived and shipped a self-disabling "secpoll"
kill-switch following a maintainer-account compromise on 2026-06-16, which made
every workflow pinned to it fail fatally. typos is actively maintained and runs
entirely from the checked-out tree without any PR-comment or bot machinery.