diff --git a/.github/workflows/docs-review.yml b/.github/workflows/docs-review.yml index a77fd145..b722c4d5 100644 --- a/.github/workflows/docs-review.yml +++ b/.github/workflows/docs-review.yml @@ -9,7 +9,10 @@ on: - "**/*.md" - "**/*.mdc" - "docs/**" - - "tests/unit/docs/test_release_docs_parity.py" + - "tests/unit/docs/**" + - "scripts/check-docs-commands.py" + - "scripts/check-cross-site-links.py" + - "pyproject.toml" - ".github/workflows/docs-review.yml" push: branches: [main, dev] @@ -17,7 +20,10 @@ on: - "**/*.md" - "**/*.mdc" - "docs/**" - - "tests/unit/docs/test_release_docs_parity.py" + - "tests/unit/docs/**" + - "scripts/check-docs-commands.py" + - "scripts/check-cross-site-links.py" + - "pyproject.toml" - ".github/workflows/docs-review.yml" workflow_dispatch: @@ -41,16 +47,26 @@ jobs: python-version: "3.12" cache: "pip" - - name: Install docs review dependencies + - name: Install Hatch run: | python -m pip install --upgrade pip - python -m pip install pytest + python -m pip install hatch + + - name: Create hatch environment + run: hatch env create + + - name: Validate docs command examples + run: hatch run check-docs-commands + + - name: Cross-site links (warn-only; live site may lag deploys) + continue-on-error: true + run: hatch run check-cross-site-links --warn-only - name: Run docs review suite run: | mkdir -p logs/docs-review DOCS_REVIEW_LOG="logs/docs-review/docs-review_$(date -u +%Y%m%d_%H%M%S).log" - python -m pytest tests/unit/docs/test_release_docs_parity.py -q 2>&1 | tee "$DOCS_REVIEW_LOG" + hatch run pytest tests/unit/docs/ -q 2>&1 | tee "$DOCS_REVIEW_LOG" exit "${PIPESTATUS[0]:-$?}" - name: Upload docs review logs diff --git a/CHANGELOG.md b/CHANGELOG.md index 63162f75..47cbedfa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,16 @@ All notable changes to this project will be documented in this file. --- +## [Unreleased] + +### Added + +- CI: `scripts/check-docs-commands.py` and `scripts/check-cross-site-links.py` with `hatch run docs-validate` + (command examples vs CLI; modules URLs warn-only when live site lags); workflow runs validation plus + `tests/unit/docs/`. +- Documentation: `docs/reference/documentation-url-contract.md` and navigation links describing how core and modules published URLs relate; OpenSpec spec updates for cross-site linking expectations. +- Documentation: converted 20 module-owned guide and tutorial pages under `docs/` to thin handoff summaries with canonical links to `modules.specfact.io`; added `docs/reference/core-to-modules-handoff-urls.md` mapping core permalinks to modules URLs. + ## [0.42.6] - 2026-03-26 ### Fixed diff --git a/docs/README.md b/docs/README.md index ac641744..8770f112 100644 --- a/docs/README.md +++ b/docs/README.md @@ -35,6 +35,10 @@ Use the canonical modules docs site for: The canonical modules docs site is currently published at `https://modules.specfact.io/`. This docs set keeps release-line overview and handoff content for bundle workflows while the canonical modules docs site carries the deep bundle-specific guidance. +## Cross-site contract + +- [Documentation URL contract (core and modules)](reference/documentation-url-contract.md) — linking rules vs `modules.specfact.io` + ## Core Entry Points - [Docs Home](index.md) diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html index 87e3f30b..54121368 100644 --- a/docs/_layouts/default.html +++ b/docs/_layouts/default.html @@ -164,6 +164,7 @@

Reference