The repository builds API references with each language ecosystem's native documentation tool. CI treats warnings and broken links as failures. Generated HTML stays out of Git; source comments, docstrings, and configuration remain the reviewable contract.
The strict Python reference build imports the configured modules through MkDocstrings and renders the complete module catalog.
mkdocs build --strict --site-dir /tmp/scpn-python-referenceThis gate checks importability, internal links, navigation, and Python API rendering. It does not replace Ruff's NumPy-docstring gates.
CI runs Rustdoc with warnings denied and dependencies omitted for every documentable Cargo package:
RUSTDOCFLAGS="-D warnings" cargo doc --manifest-path scpn_quantum_engine/Cargo.toml --no-deps
RUSTDOCFLAGS="-D warnings" cargo doc --manifest-path scpn_quantum_engine/program_ad_replay/Cargo.toml --no-deps
RUSTDOCFLAGS="-D warnings" cargo doc --manifest-path scpn_quantum_engine/studio_program_ad_wasm/Cargo.toml --no-deps
RUSTDOCFLAGS="-D warnings" cargo doc --manifest-path scpn_quantum_engine/studio_wasm_kernel/Cargo.toml --no-depsThe cargo-fuzz manifest explicitly marks all fuzz binaries doc = false, so it
has no documentable target. Adding a Rust package requires adding its manifest
to the strict workflow in the same change.
The Studio builds TypeDoc from exported non-test sources with link and export validation enabled:
pnpm --dir studio-web install --frozen-lockfile
pnpm --dir studio-web docs:apiTypeDoc writes build/api/typescript/. CI retains that directory as the
typedoc-reference artifact and retains every Rust output as
rustdoc-reference. Generated HTML is evidence, not committed source.
This repository currently has no Go, JVM, Julia, or standalone C/C++ package manifest. Their generators are therefore not fabricated. A change that adds a new shipped language package must add its native reference generator and the corresponding strict CI job before merge.