v0.8.58 — Claims-integrity #2
Second claims-integrity pass. Most items repair a published, untrue claim; two touch runtime/CI behaviour — list_active() now enumerates every shipped preset (it silently dropped ten), and CI now enforces the declared 82% coverage floor. No detection logic or guard behaviour changed.
Fixed
- Fake security contact.
SECURITY.mdadvertisedsattyamjain@example.com(RFC-2606 reserved) and a stale0.1.x-only supported-versions table. Now points at GitHub Security Advisories + the real maintainer email; table declares0.8.xsupported. list_active()under-counted itself. A name-suffix heuristic dropped ten shipped,__all__-exported presets. Replaced with an explicit@presetregistry — now returns 71 (was 61); public signature unchanged.- OWASP MCP Top-10 "covered end-to-end" claim. The table listed 7 of 10 and the single preset covers only the policy layer. Rewritten honestly: all 10 rows, authoritative titles, Full/Partial status; two mis-tagged CVE rows corrected.
- CVE-regression count disagreed across three surfaces (11+ / 30 / 37). Counted programmatically = 37, fenced across README + marketplace.
- Coverage floor disagreement.
pyprojectsaid 82 butci.ymlpassed--cov-fail-under=80(overriding it). CI now enforces 82 (full-suite coverage 86.66%).
Changed
- Dropped residual "firewall" self-branding from shipped CLI copy, source docstrings, a benchmark README, and a launch draft (third-party firewall references kept). Self-branding guard now covers CLI copy +
docs/. - Archived the unfiled NIST AI RMF v2.0 public comment (window closed ~2026-06-06 without submission).