Skip to content

v2.9.3 — Safety audit null-handling fix

Choose a tag to compare

@inafev inafev released this 19 Jun 13:04

Bug fix

The V2 Publisher's Full Platinum Mandate Audit spammed hundreds of Invalid isoformat string: 'N/A' warnings and then aborted entirely with 'NoneType' object has no attribute 'lower'.

Fixed (src/safety_guard.py)

  • MVQ compliance: gh_pushed of N/A/null/empty is now skipped instead of being parsed as an ISO date; gh_stars/stars null values are coalesced before the star-impact math (no more None * int).
  • Linguistic tagging: a null language field no longer triggers None.lower() (was aborting the whole report).
  • Audit runner: each mandate now runs in isolation — one bad inventory entry can no longer kill the entire audit; per-mandate failures are logged.

Note: the colon in the old log lines (...for <url>: <error>) was the log separator, not part of the URLs — the links themselves were never malformed.

🤖 Generated with Claude Code