clippyclean — zero warnings allowed. CI enforces this.- No
unwrap()in library code — use?or explicit error handling.
Cargo.tomlmust declarecrate-type = ["cdylib", "rlib"]:cdylib— produces the Python extension module.rlib— lets the linker produce a test binary.
maturin developto build and install locally.
PYO3_BUILD_EXTENSION_MODULE=1 cargo test --manifest-path rust/Cargo.toml
PYO3_BUILD_EXTENSION_MODULE=1tells PyO3 not to link against libpython (may not be available as a shared lib on the host).- Tests only call pure Rust functions — no live Python interpreter needed.
- The
rust-checkCI job sets this env var automatically.
- Python and Rust share the same version number (semver).
- Update both
pyproject.tomlandrust/Cargo.tomlversions simultaneously. - Tag format:
v<major>.<minor>.<patch>
- Rust is used only for
devbrief env(gitignore audit, .env drift, secret scan). - Published as
devbrief-coreon crates.io. - If unavailable at runtime, Python falls back gracefully — never hard-crash.