Skip to content

Development and Quality

Wakemeup edited this page Jul 21, 2026 · 1 revision

Development and Quality

Toolchain

The crate uses Rust edition 2024 with minimum Rust 1.90.

cargo fmt --all -- --check
cargo check --locked --all-targets --all-features
cargo test --locked --all-features --workspace
cargo clippy --locked --all-targets --all-features -- -D warnings
cargo llvm-cov --locked --all-features --workspace --fail-under-lines 90 --summary-only
cargo deny check advisories bans licenses sources

Current verified baseline

The enterprise rewrite and deep-review remediation were verified with:

  • 265 tests passing across library and binary suites;
  • 94.20% line coverage;
  • formatting, all-target compilation, and Clippy with warnings denied;
  • advisory, bans, license, and source policy checks passing;
  • an offline end-to-end project scan producing canonical report 1.0.0.

Duplicate transitive crate versions can be reported as warnings by cargo deny; they are not silently ignored or treated as license approval.

Test philosophy

Tests defend observable contracts: strict parsing, stable IDs, graph bounds, archive limits, no-follow reads, applicability boundaries, policy precedence, exception expiry, redaction, schema shapes, persistence transactions, API errors, monitor claims, and exact exit behavior.

Security regressions should include the hostile input that previously bypassed the invariant. Resource-limit tests must prove work or allocation is bounded, not only that a final size check exists.

Dependency policy

The project is MIT licensed. deny.toml allows only the explicit MIT-compatible permissive set currently required by the lockfile: MIT, Apache-2.0, Apache-2.0 WITH LLVM-exception, BSD-3-Clause, ISC, Unicode-3.0, Unlicense, Zlib, CDLA-Permissive-2.0, and bzip2-1.0.6. Unknown, copyleft, source-available, and unapproved licenses fail the policy check.

Release workflow

CI enforces the quality gates and at least 90% line coverage. Release automation runs only after successful CI on the current main SHA or explicit manual dispatch, preventing a stale workflow-run SHA from releasing newer branch state.

Clone this wiki locally