Pulse/docs/release-control
rcourtman 590671ffbb Retire legacy "Active alert detected" findings on load
The previous commit removed the detectAlertSignals path so no NEW
alert-mirror findings are emitted, but the findings already
persisted from earlier builds stay in the store indefinitely —
nothing cleans them up (reconcileStaleFindings is gated on
performance/capacity categories, the LLM resolves them just to
have them re-detected next run except now the deterministic
emitter is gone so re-detection can't happen, but they're left
sitting as active findings draining the trust strip and score).

FindingsStore.SetPersistence now runs a one-shot retirement pass
on load: any active finding with title "Active alert detected",
source ai-analysis, and category general is auto-resolved with
reason "Patrol no longer mirrors alerts; the Alerts page is the
canonical surface for currently-firing alerts." The pass appends
an auto_resolved lifecycle event so the retirement is auditable,
syncs the loop state to resolved, and schedules a save so the
cleanup persists.

Idempotent: after the first load with this code, no findings
match the signature so the pass is a no-op. Defensive: the
signature requires all three fields (title + source + category)
to match before retiring, so an operator-authored finding that
happens to share the title is left untouched. Test covers the
mirror case, the matching-title-but-foreign-source case (must
NOT retire), and an unrelated active finding (must NOT retire),
plus verifies the retired state persists back through the
persistence layer.

Updates ai-runtime Current State to record the migration path.
2026-05-10 21:39:09 +01:00
..
internal Clear v6 prerelease-to-GA promotion gate 2026-04-20 16:33:03 +01:00
v6 Retire legacy "Active alert detected" findings on load 2026-05-10 21:39:09 +01:00
control_plane.json Capture Pulse Intelligence product direction 2026-05-06 15:56:45 +01:00
control_plane.schema.json Map legacy stable releases in control plane 2026-04-11 13:23:07 +01:00