Patrol now renders investigation context beneath the findings and history workspace, keeping the primary summary card focused on assessment and verification while preserving the same context content and toggle behavior.
Patrol now labels the summary score chip as Assessment when coverage is incomplete or only Patrol-owned runtime findings are active, while keeping Health for verified healthy states.
Patrol assessment copy now names a single active Patrol runtime failure directly, instead of reducing it to a generic runtime-finding count, and updates the governed Patrol presentation contract and proofs.
The findings store now clears acknowledgement timestamps that predate a recorded regression when persisted findings are loaded, persists the normalized state, and keeps regression lifecycle metadata explicit.
The shared findings lifecycle now clears prior acknowledgement state when a resolved finding regresses, records that prior acknowledgement in regression metadata, and documents the contract in ai-runtime.
Patrol-owned ai-service findings now render as Patrol runtime in findings rows and assistant handoff prompts instead of exposing backend resource tokens.
The Patrol findings list and summary now use the same shared classification for Patrol-owned runtime findings, including an explicit Patrol runtime badge in the active finding row.
Patrol assessment now classifies synthetic Patrol runtime findings separately from infrastructure findings so the top summary can truthfully describe Patrol-owned service failures.
Synthetic Patrol runtime findings such as ai-service provider failures now stay active in seed/reconcile flows instead of being auto-resolved as deleted infrastructure resources.
Preserve last_seen_at in the shared finding model and use it for active Patrol finding recency text and sorting so recurring issues do not appear stale.
Hide the Patrol findings filter bar when there are no findings or special queues to navigate, keeping empty-state Patrol surfaces focused on the actual assessment rather than inert controls.
Patrol header metadata now uses the canonical recency label so the top row no longer falls back to a generic last-run prefix when the page distinguishes activity from full verification.
Patrol runtime presentation now uses an operational active-state label so the header chip reads as enabled/available status rather than a hidden health verdict.
Patrol findings empty-state timing now consumes the canonical recency label so scoped activity is rendered consistently as activity rather than generic or full-patrol recency.
AI runtime coverage summaries now distinguish recent full patrol errors from scoped-only activity so Patrol assessment copy matches the verification evidence.
Patrol summary recency now distinguishes scoped activity from full patrol verification so the top-card chip no longer labels alert-scoped runs as patrol recency.
Patrol summary presentation now owns the primary assessment explanation so findings and coverage state are described together instead of drifting between separate headline and prediction sources.
Update the shared trial activation notice model so replayed handoffs reassure against current entitlement state and invalid/unavailable outcomes point back to the secure instance-bound handoff.
Capture the self-hosted trial activation result into owned UI state and replace the URL so the handoff notice is shown once instead of sticking in the query string.
Move hosted verification and checkout service/configuration failures onto the owned unavailable outcome UX so non-user-fixable errors no longer fall back to inline form state.