refs #173. This is the minimum step from the issue: the site is now built in CI, not published. Publishing still needs an ADR (Gitea has no built-in Pages) or a CLAUDE.md §12 correction, so the issue stays open.
make docs: creates a throwaway .venv-docs, installs pinned mkdocs==1.6.1 and mkdocs-material==9.7.7, then runs mkdocs build --strict. The target is also added to make ci.
New docs job in ci.yaml (setup-python@v5, then make docs).
Red, then green: the first commit fails on a link from runbooks/ci.md to a file outside docs/; the second turns that link into plain code.
Dependency (§13): mkdocs and mkdocs-material were already the site's declared toolchain (mkdocs.yml) but were never installed anywhere. They give a strict link/nav/theme check. Replacing them means writing our own Markdown link checker, and check-docs-nav.py already covers only the nav half. Risk: Material warns that MkDocs 2.0 drops its plugin/theme system, so both are pinned exactly. No ADR, since this adds no new decision beyond what mkdocs.yml already assumes.
Verified locally: make docs → Documentation built in 0.87 seconds.
refs #173. This is the minimum step from the issue: the site is now **built** in CI, not **published**. Publishing still needs an ADR (Gitea has no built-in Pages) or a CLAUDE.md §12 correction, so the issue stays open.
- `make docs`: creates a throwaway `.venv-docs`, installs pinned `mkdocs==1.6.1` and `mkdocs-material==9.7.7`, then runs `mkdocs build --strict`. The target is also added to `make ci`.
- New `docs` job in `ci.yaml` (`setup-python@v5`, then `make docs`).
- Red, then green: the first commit fails on a link from `runbooks/ci.md` to a file outside `docs/`; the second turns that link into plain code.
**Dependency (§13):** mkdocs and mkdocs-material were already the site's declared toolchain (`mkdocs.yml`) but were never installed anywhere. They give a strict link/nav/theme check. Replacing them means writing our own Markdown link checker, and `check-docs-nav.py` already covers only the nav half. Risk: Material warns that MkDocs 2.0 drops its plugin/theme system, so both are pinned exactly. No ADR, since this adds no new decision beyond what `mkdocs.yml` already assumes.
Verified locally: `make docs` → `Documentation built in 0.87 seconds`.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
not
added this to the Iteration 6 — Production Posture milestone 2026-09-28 12:57:29 +00:00
Red: the strict build currently fails on a link out of docs_dir in
runbooks/ci.md.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
MkDocs can't resolve links outside docs/, so the stryker-config.json path is
now plain code. The CI runbook lists the new docs job.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
refs #173. This is the minimum step from the issue: the site is now built in CI, not published. Publishing still needs an ADR (Gitea has no built-in Pages) or a CLAUDE.md §12 correction, so the issue stays open.
make docs: creates a throwaway.venv-docs, installs pinnedmkdocs==1.6.1andmkdocs-material==9.7.7, then runsmkdocs build --strict. The target is also added tomake ci.docsjob inci.yaml(setup-python@v5, thenmake docs).runbooks/ci.mdto a file outsidedocs/; the second turns that link into plain code.Dependency (§13): mkdocs and mkdocs-material were already the site's declared toolchain (
mkdocs.yml) but were never installed anywhere. They give a strict link/nav/theme check. Replacing them means writing our own Markdown link checker, andcheck-docs-nav.pyalready covers only the nav half. Risk: Material warns that MkDocs 2.0 drops its plugin/theme system, so both are pinned exactly. No ADR, since this adds no new decision beyond whatmkdocs.ymlalready assumes.Verified locally:
make docs→Documentation built in 0.87 seconds.🤖 Generated with Claude Code