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.

Next step

301-05 — Production readiness.