Cover the auto-fire decision matrix: - _severity_rank ordering - mode != auto-execute → never fires (auto-propose, manual) - below-threshold action is skipped + audited - federation case + no quorum → skipped + audited "no quorum" - federation case + quorum met → fires - local case + quorum required + local-only on → still fires - local case + quorum required + local-only off → still fires - quorum gating disabled → federation cases fire too - kill switch armed → tick() skips everything - pulse_audit records both auto-fire and skip rows - audit_count_since returns the per-action counts the cockpit needs - config round-trips through pulse_settings Tests patch federation.is_quorum_met (raising=False so the sibling agent can ship the real function later without breaking these), and swap respond.execute_action for a counter so no SOAR sink call escapes. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
11 KiB
11 KiB