mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-25 21:20:00 +00:00
9bb421f230
Most of the alert history fold was evidence nothing reads. On the dogfood install a resolved snapshot averaged 21 KB, 83% of it the evidence trail of up to 64 envelopes (35 on average), across 1,895 occurrences kept for 90 days (#1803). No Pulse UI, AI tool or API handler reads Alert.evidence from history: the incident panel uses the incident timeline, and the AI uses recently resolved alerts. The fold now trims each decoded snapshot to its newest envelope, by observedAt and then position (an updated envelope keeps its slot, so the last one is not always the newest). History output applies the same rule to live overlays and the JSON fallback, so every /api/alerts/history entry carries at most one envelope. operationalRecord.evidenceIds and transitions keep their full lists, the event log keeps every snapshot whole, and /api/alerts/active still returns an open alert's full evidence. On a log shaped like the dogfood install's, the history fold went from 27.2 MB to 2.1 MB of retained heap. Negative controls: keeping full evidence in the fold, in the output, or choosing the newest by position each fail their test. The alerts tree passes on pulse-dev. Related to #1803