Handbook
301-04 — Benchmarks and CI
A copy-paste CI block aligned with repository gates (compile, pytest default, audits, catalog check).
Updated
What you will build
A copy-paste CI block aligned with repository gates (compile, pytest default, audits, catalog check).
Prerequisites
Files you will touch
None—commands only.
Step 1 — Maintainer offline bundle
python3 -m compileall -q src tests scripts examples
pytest -q
python3 scripts/audit_contract_docs.py --strict --strict-md
python3 scripts/audit_contract_docs.py --schema-depth-report
python3 scripts/audit_docs_site.py --strict
python3 scripts/generate_task_catalog_md.py --check
Step 2 — Docs/tests slice (fast signal)
pytest -q tests/docs tests/reference tests/examples
Step 3 — Optional live benchmark lane
Isolate pytest -m granite or harness-specific jobs—never block default merges on WAN stability.
Expected output
Exit code 0 on healthy branch; violations print actionable paths.
Common failures
| Tool | Typical fix |
|---|---|
audit_docs_site --strict |
Add YAML title/description |
generate_task_catalog_md --check |
Regenerate task-catalog.generated.md |
Verify
Match commands against .github/workflows/ci.yml (source of truth).
What changed
Operators can mirror exactly what automation enforces.