diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml
index 29b0791..c44673e 100644
--- a/.github/workflows/quality.yml
+++ b/.github/workflows/quality.yml
@@ -7,6 +7,9 @@ on:
required: true
type: string
+permissions:
+ contents: read
+
env:
CARGO_TERM_COLOR: always
@@ -18,6 +21,13 @@ jobs:
steps:
- uses: actions/checkout@v5
+ - uses: taiki-e/install-action@v2
+ with:
+ tool: typos@1.49.0
+
+ - name: Typos
+ run: typos
+
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
diff --git a/_typos.toml b/_typos.toml
new file mode 100644
index 0000000..8e58be3
--- /dev/null
+++ b/_typos.toml
@@ -0,0 +1,2 @@
+[files]
+extend-exclude = ["**/*.excalidraw"]
diff --git a/docs/CI.md b/docs/CI.md
index 489ce9c..eafd7fd 100644
--- a/docs/CI.md
+++ b/docs/CI.md
@@ -35,6 +35,11 @@ formatting, linting, and compile validation must pass before the test fan-out be
The quality workflow performs static validation and build verification before tests run.
+### [Typos][typos]
+
+- `typos` checks source code and documentation for spelling mistakes.
+- Version `1.49.0` is pinned so dictionary updates do not unexpectedly break the pipeline.
+
### [rustfmt][rustfmt]
- `cargo +nightly fmt --all` checks formatting consistency by reformatting the workspace.
@@ -67,3 +72,4 @@ The integration workflow exercises feature-backed behavior and the broader end-t
[clippy]: https://doc.rust-lang.org/clippy/
[docs-rs]: https://docs.rs/
[rustfmt]: https://github.com/rust-lang/rustfmt
+[typos]: https://github.com/crate-ci/typos
diff --git a/docs/architecture/CAS.md b/docs/architecture/CAS.md
index 89c6c57..f9fe54a 100644
--- a/docs/architecture/CAS.md
+++ b/docs/architecture/CAS.md
@@ -11,7 +11,7 @@ stores only four unique chunks. This can save substantial space for a supervised
fine-tuned model whose tensors mostly remain unchanged or for a full database backup
in which only a few records changed.
-
+
## Insertion