Skip to content

v3.10.0 — pmat explain + provable-contracts hardening

Choose a tag to compare

@noahgift noahgift released this 31 Mar 08:05
· 361 commits to master since this release

What's New

pmat explain Command

Look up any check, metric, or grade to understand what it checks, why it matters, and how to fix failures.

pmat explain CB-1210     # Explain a specific check
pmat explain CB-12       # Prefix match: all CB-12xx checks
pmat explain precondition # Fuzzy search in names/descriptions
pmat explain             # List all available checks

19 check explanations across comply (CB-xxx), provable contracts (PV-xx), and TDG grades.

Provable Contracts Hardening (CB-1200..1214)

  • CB-1208: Workspace search now scans both src/ and crates/*/src/ — fixes false negatives on workspace projects like presentar
  • CB-1203: Recognizes contract_pre_* macro invocations and // Contract: comments in function body, not just proc-macro attributes
  • CB-1211: WARN (not Pass) when 0 assertions generated from N preconditions; detects full-corpus generated files
  • CB-1214: E0-only repos get WARN not FAIL — legitimate transition phase
  • File Health: *_tests.rs files recognized as test files (4000-line threshold)

Spec Falsification

16 spec-vs-implementation mismatches found and fixed across provable-contracts.md and pv-compatibility.md. Stale line numbers, phantom config options, wrong check counts, and misleading status claims all corrected.

Coverage Fix

COVERAGE_EXCLUDE now filters provable-contracts dependency source files. Core coverage: 99.59% (was falsely reported as 38% due to external deps).

New Examples

  • cargo run --example provable_contracts_demo — Full CB-1200..1214 walkthrough
  • cargo run --example enforcement_quality_demo — E-level quality simulation

Book

  • Chapter 62: Provable Contracts (CB-1200 to CB-1214) added to pmat-book

Compliance

20/20 sovereign repos compliant. 0 panics across 60+ CLI invocations.

Install

cargo install pmat