AGENTS.md@.github/actions/setup-docs-lint · git:20261015.32580a9 · 2026-10-15 · sha256 1aadc5f17d067533

AGENTS.md@.github/actions/setup-docs-lint git:20261015.32580a9A

Immutable. This exact content never changes and is served at /api/v1/blob/1aadc5f17d067533.

# `setup-docs-lint` — technical reference

This composite action provisions the external tools required by the blocking
documentation linter. Both `Static Health Report` and `Documentation Lint`
must call this action before running `scripts/audit/lint_docs.py`.

## Invariants

- `actions/setup-node` and `actions/cache` remain pinned to full SHAs.
- Select exactly Node 24.22.0 LTS; Root's `24.x` engine and native
  Mermaid11 admission require the same major. Preserve the Source-declared
  npm serializer and every third-party lock record.
- `setup-node` enables `cache: npm` (CI-FAST-DOCSLINT-NPM-1): the npm
  download cache is keyed on the lockfile by the official action; `npm ci`
  semantics stay unchanged (deterministic reinstall), only tarball
  downloads are skipped.
- Mermaid diagrams are rendered by the real `mmdc` command against a real
  `chrome-headless-shell`; missing tools fail closed.
- The resolved Chrome path is exported through `GITHUB_ENV` for later workflow
  steps in the caller job.
- Python setup and `uv sync` remain caller responsibilities.

## Verification

- Run `actionlint` after editing this action or either caller.
- The CI `Documentation Lint` and `Static Health Report` jobs are the real
  behavioral controls because the hosted-runner cache and `GITHUB_ENV`
  propagation are GitHub Actions behavior.