v9.16.1 — consistent policy attribution on audit rows
A patch release focused on audit attribution consistency, published in lockstep with the Enterprise edition.
For the Community edition:
- Tool-governance block rows now also record the canonical
policy_idsfield alongside the existing fields, so every audit plane attributes decisions uniformly. Forward-only on the write side. - The portal decisions feed resolves the policy label from every recorded shape - including rows written by older versions - so decisions that listed without a policy label now show one. Retroactive, since it is resolved on read; no data change needed.
- Circuit-breaker denies on the decision plane now carry an explicit
circuit_breakerattribution instead of an empty one. - A shared, type-guarded policy-identity extraction helper (
platform/shared/audit) backs these readers, pinned by a cross-plane writer/reader contract test and a real-database SQL/Go parity suite.
The compliance report exporters that motivated this fix (the blank Policy column on regulator artifacts) are part of the Enterprise edition; see the full notes.
Migration: none. Upgrading from 9.16.0 is an image re-pin and restart.
Full release notes: https://docs.getaxonflow.com/docs/releases/v9-16-1