Mirrors the legacy audit-chart priority: fail > needs_review > (pass | not_applicable).
not_applicable counts as all-clear alongside pass, so a set that is entirely
pass/not_applicable (including all-N/A) resolves to pass. An empty/all-null
set falls back to needs_review so the UI doesn't mis-report a green pass on no
responses (matches the legacy default in determineSessionAuditStatus), and any
unrecognized status keeps the conservative needs_review default.
Mirrors the legacy
audit-chartpriority:fail > needs_review > (pass | not_applicable).not_applicablecounts as all-clear alongsidepass, so a set that is entirelypass/not_applicable(including all-N/A) resolves topass. An empty/all-null set falls back toneeds_reviewso the UI doesn't mis-report a green pass on no responses (matches the legacy default indetermineSessionAuditStatus), and any unrecognized status keeps the conservativeneeds_reviewdefault.