v0.8.57 — published-claims integrity
[0.8.57] - 2026-07-28 — "Published-claims integrity: manifests, spec-status provenance, OWASP coverage matrix"
Claims-integrity pass. Every item repairs a published, untrue claim — no
detection logic, guard, preset, or runtime behaviour changed. The 2026-07-28 MCP
guards target a spec release candidate, not a ratified revision.
Fixed
.claude-plugin/plugin.jsonadvertisedversion: 0.5.0while the package shipped
0.8.56— the published Claude-plugin listing lied about its own version for four
minor releases. Now pinned toagent_airlock.__version__and guarded by
tests/test_marketplace_metadata.py::test_plugin_version_matches_package(the guard
that would have caught this three months ago).plugin.jsoninstall.extraslisted 5 extras against 13 shipped — re-derived the
full map frompyproject.toml(bench, sandbox, modal, mcp, claude-agent, model-armor,
console, redis, crypto, attested, pydantic-ai, crewai, all)..claude-plugin/marketplace.jsonproof-points were all materially stale — "2000
tests / 80% coverage floor", "9 CVE" (against 30tests/cves/test_cve_*.pyregression
modules), and "31 presets" (against 61 livepolicy_presets.list_active()factories).
Restated from the repo (the generated README TEST-BADGE, the CVE regression modules,
and the real registry API); both count claims are now two-sided gated — no
over-claim AND no silent >10% under-claim.pyproject.tomlshipped anexample.comauthor email in published PyPI metadata —
replacedsattyamjain@example.comwith the real maintainer address.owasp_agentic_coverageadvertised the OWASP Agentic Top-10 but shipped only the
LLM Top-10 — the package__init__claimed a "OWASP Agentic Top-10 coverage
matrix" whilecoverage.yamlheld LLM01–LLM10 against the LLM-top-10 spec URL. Added
agentic_coverage.yaml(ASI01–ASI10, each row mapped to an importable guard module, a
livelist_active()preset, and an on-disk test), rendered to
docs/owasp-agentic-2026-coverage.mdwith a regenerate-and-diff gate.- Two 404 references in
owasp_agentic_coverage— the__init__docstring cited
.github/workflows/owasp_coverage_gate.yml.sample(real path
docs/security/owasp-coverage-gate-ci.yml.sample) and README linked a non-existent
docs/owasp-agentic-2026-coverage.md(now generated). Also fixed a brokentest_path
incoverage.yaml(LLM10 →tests/test_model_tier_budget.py) and refreshed every
re-verifiedlast_verifieddate (all were ~91 days stale).
Changed
- Dropped the last "firewall" self-branding from the published manifests —
plugin.jsonsummary/description/keywords andmarketplace.jsontagline now use the
shipped v0.8.55 wedge ("a deny-by-default type-checker and contract layer … the
in-process check that runs beneath your MCP gateway"). A new test scans only the
self-describing fields so "firewall" cannot creep back (naming other people's
firewalls/gateways stays legal). - Stated MCP spec-revision provenance explicitly —
mcp_spec/__init__.pynow
separates what is implemented against the ratified 2025-11-25 revision from what
targets the 2026-07-28 release candidate (release tag2026-07-28-RC,
prerelease: true, published 2026-05-29, verified 2026-07-28). NewSPEC_REVISIONS
constant (re-exported at top level);PROTOCOL_VERSIONstays2025-11-25. README's
OWASP MCP Top-10 table gained a caveat that the 2026-07-28 guards are
forward-compatible hardening, not a conformance claim.
Removed
- The abandoned "v0.5.0 April 2026" launch pack and the "Operation Enterprise Firewall"
plan — deleted.claude/plans/v0.4.0-enterprise-plan.md(whose stated goal,
"Transform from 'Security Library' to 'Default Agent Firewall'", contradicted the
100%-OSS, no-paid-tier positioning) and the staledocs/launch/launch-mechanics pages
(index,announcement,readiness-checklist,faq,rollback) plus their mkdocs
nav. Reusable distribution content (distribution-submissions.md,
show-hn-tool-call-validation.md) is kept and still linked fromdocs/DISTRIBUTION.md.