Repository navigation
Align the prose with the corpus that replaced it #28
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Documentation anti-drift guard for qbm-http. | |
| # Runs scripts/doc-lint.sh: forbidden retired tokens, broken internal links, | |
| # missing governance files. See CONTRIBUTING.md. | |
| name: doc-lint | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| paths: | |
| - 'README.md' | |
| - 'readme/**' | |
| - 'CHANGELOG.md' | |
| - 'SECURITY.md' | |
| - 'CONTRIBUTING.md' | |
| - 'scripts/doc-lint.sh' | |
| # The agent-facing llm/ docs moved into this repo, and scripts/llm-guard.py (driven | |
| # from doc-lint.sh section 1c) is the only guard that reads them in a STANDALONE | |
| # checkout -- the superproject that used to hold them is private, so without these | |
| # filters a commit touching llm/ would reach this repo's default branch unchecked. | |
| # The two baselines are listed for the same reason the script is: an edit to either | |
| # changes what the gate accepts. | |
| - 'llm/**' | |
| - 'scripts/llm-guard.py' | |
| - 'scripts/llm-guard.baseline' | |
| - 'scripts/llm-cite-digest.baseline' | |
| # `/llms.txt` + `/llms-full.txt` are the published agent index; doc-lint.sh section 1d | |
| # regenerates them and fails on any difference. Both the generated files and the | |
| # generator are listed so a hand edit to either is caught, and README.md is already | |
| # above -- its "For AI assistants" section is what points a user at them. | |
| - 'llms.txt' | |
| - 'llms-full.txt' | |
| - 'scripts/gen-llms-txt.py' | |
| # The lint reads the expected Verified-against version from project(... | |
| # VERSION) here, so a version-only bump must trigger it. | |
| - 'CMakeLists.txt' | |
| # cite-check.py validates every `src:` citation against the SOURCE it names, so a | |
| # source-only commit -- a rename, a deletion, an insert that shifts line numbers -- | |
| # can invalidate hundreds of citations. Without this the guard never fires on it. | |
| - 'src/**' | |
| pull_request: | |
| branches: [ main, develop ] | |
| paths: | |
| - 'README.md' | |
| - 'readme/**' | |
| - 'CHANGELOG.md' | |
| - 'SECURITY.md' | |
| - 'CONTRIBUTING.md' | |
| - 'scripts/doc-lint.sh' | |
| # The agent-facing llm/ docs moved into this repo, and scripts/llm-guard.py (driven | |
| # from doc-lint.sh section 1c) is the only guard that reads them in a STANDALONE | |
| # checkout -- the superproject that used to hold them is private, so without these | |
| # filters a commit touching llm/ would reach this repo's default branch unchecked. | |
| # The two baselines are listed for the same reason the script is: an edit to either | |
| # changes what the gate accepts. | |
| - 'llm/**' | |
| - 'scripts/llm-guard.py' | |
| - 'scripts/llm-guard.baseline' | |
| - 'scripts/llm-cite-digest.baseline' | |
| # `/llms.txt` + `/llms-full.txt` are the published agent index; doc-lint.sh section 1d | |
| # regenerates them and fails on any difference. Both the generated files and the | |
| # generator are listed so a hand edit to either is caught, and README.md is already | |
| # above -- its "For AI assistants" section is what points a user at them. | |
| - 'llms.txt' | |
| - 'llms-full.txt' | |
| - 'scripts/gen-llms-txt.py' | |
| # The lint reads the expected Verified-against version from project(... | |
| # VERSION) here, so a version-only bump must trigger it. | |
| - 'CMakeLists.txt' | |
| # cite-check.py validates every `src:` citation against the SOURCE it names, so a | |
| # source-only commit -- a rename, a deletion, an insert that shifts line numbers -- | |
| # can invalidate hundreds of citations. Without this the guard never fires on it. | |
| - 'src/**' | |
| concurrency: | |
| group: doc-lint-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| doc-lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Run documentation anti-drift guard | |
| run: ./scripts/doc-lint.sh |