mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-11 22:12:23 +00:00
b822ef17e6
Cross-slice contract worth making explicit: when slices 31/32 auto-dismiss a finding because the operator's per-resource state suppresses it, that finding must not also burn investigation budget. The existing chain already delivers this — findings.Add sets DismissedReason="expected_behavior", and ShouldInvestigate gates on DismissedReason != "" — but the relationship was implicit. Without a test, a future refactor of either branch could silently start investigating operator-suppressed findings again. Pins the contract with a table-driven test covering both signals (intentionally_offline and maintenance_window) at every autonomy level (approval/assisted/full), plus the lifecycle-cause metadata attribution. No runtime change — only the test and a contract paragraph naming the dependency.