mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-03 20:53:09 +00:00
178c961723
The substrate has been in place for two commits but no live code path constructs a throttler, so production behaviour is unchanged. This commit closes the loop: `NewPatrolService` instantiates a `findingStormThrottler` and calls `p.findings.SetStormThrottler(p.stormThrottler)` immediately after the `FindingsStore` is constructed, so every patrol emission flows through the observer from the first run onward. Constructor-internal wire-up keeps the throttler intrinsic to the service rather than a deployment-time concern. No `router.go` seam, no contract test pin, no goroutine to stop; the throttler holds in-memory state and is garbage-collected when the PatrolService is replaced. The field sits next to `unifiedResourceProvider` to match the brief's location and keep adjacent observer/provider seams visually grouped.