From b138e182b3e95d908f312ffa1ef2c5e756088ada Mon Sep 17 00:00:00 2001 From: rcourtman Date: Wed, 25 Mar 2026 16:36:42 +0000 Subject: [PATCH] Simplify Patrol findings header --- .../v6/internal/subsystems/patrol-intelligence.md | 5 +++++ frontend-modern/src/components/AI/FindingsPanel.tsx | 7 +++---- .../src/components/AI/__tests__/FindingsPanel.test.ts | 6 ++++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/docs/release-control/v6/internal/subsystems/patrol-intelligence.md b/docs/release-control/v6/internal/subsystems/patrol-intelligence.md index 7c6b7e6cc..505fa70bb 100644 --- a/docs/release-control/v6/internal/subsystems/patrol-intelligence.md +++ b/docs/release-control/v6/internal/subsystems/patrol-intelligence.md @@ -186,6 +186,11 @@ Patrol page, `frontend-modern/src/components/AI/FindingsPanel.tsx` should explain the absence of active findings without repeating `Last activity`, `Next run`, or interval schedule details that already belong to the header and verification hierarchy above. +That same findings surface should keep its section chrome functional rather +than promotional. Inside the Patrol findings tab, the card header should use a +direct label such as `Patrol findings` and should not add extra product +restatement or marketing subtitles that compete with the page-level Patrol +header above. When Patrol is currently running, that strip should still stay factual rather than switching to another verdict label: the runtime may add an explicit in-progress indicator, but the primary activity label remains recent activity diff --git a/frontend-modern/src/components/AI/FindingsPanel.tsx b/frontend-modern/src/components/AI/FindingsPanel.tsx index d56114085..c4b052196 100644 --- a/frontend-modern/src/components/AI/FindingsPanel.tsx +++ b/frontend-modern/src/components/AI/FindingsPanel.tsx @@ -2,7 +2,7 @@ * FindingsPanel * * Separated view showing: - * - Pulse Patrol Findings (AI-discovered insights) + * - Patrol findings * - Threshold Alerts (user-configured rules) * Each section has severity-based sorting and quick actions * @@ -1060,7 +1060,7 @@ export const FindingsPanel: Component = (props) => { - {/* Pulse Patrol Findings Section */} + {/* Patrol findings section */} {/* Header */} @@ -1080,14 +1080,13 @@ export const FindingsPanel: Component = (props) => { d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" /> - Pulse Patrol Findings + Patrol findings 0}> {patrolFindings().length} - AI-discovered insights {/* Content */} diff --git a/frontend-modern/src/components/AI/__tests__/FindingsPanel.test.ts b/frontend-modern/src/components/AI/__tests__/FindingsPanel.test.ts index d1c3750b4..82fc2edab 100644 --- a/frontend-modern/src/components/AI/__tests__/FindingsPanel.test.ts +++ b/frontend-modern/src/components/AI/__tests__/FindingsPanel.test.ts @@ -165,6 +165,12 @@ describe('aiFindingPresentation', () => { expect(findingsPanelSource).not.toContain('Runs every'); expect(findingsPanelSource).not.toContain('Next: '); }); + + it('keeps the findings card header functional instead of repeating product marketing copy', () => { + expect(findingsPanelSource).toContain('Patrol findings'); + expect(findingsPanelSource).not.toContain('Pulse Patrol Findings'); + expect(findingsPanelSource).not.toContain('AI-discovered insights'); + }); }); describe('sourceColors', () => {