mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-12 15:28:12 +00:00
Extract patrol intelligence surface
This commit is contained in:
@@ -78,7 +78,7 @@ Own canonical runtime payload shapes between backend and frontend.
|
||||
4. Route unified resource sensitivity, routing, and `aiSafeSummary` payload changes through `internal/api/resources.go`, `internal/api/contract_test.go`, and the canonical frontend resource consumer proofs together; resource governance metadata must not ship as an API-only or frontend-only heuristic
|
||||
5. Route unified-resource action, lifecycle, and export audit reads through `internal/api/activity_audit_handlers.go`, `internal/api/router_routes_licensing.go`, and `internal/api/contract_test.go` together so the control-plane execution trail stays on a governed API contract instead of a store-only shape
|
||||
6. Route dedicated unified-resource timeline and facet-bundle reads through `frontend-modern/src/api/resources.ts`, `internal/api/resources.go`, and `internal/api/contract_test.go` together so the backend facet contract and the frontend client stay aligned on one timeline-first surface, while capability and relationship detail stays backend-owned for AI correlation and change detection
|
||||
7. Route canonical AI intelligence summary and resource-intelligence reads through `frontend-modern/src/api/ai.ts`, `frontend-modern/src/stores/aiIntelligence.ts`, `frontend-modern/src/pages/AIIntelligence.tsx`, `internal/api/ai_handlers.go`, and `internal/api/contract_test.go` together so the summary card, store state, and backend payload stay aligned on one governed surface, including the canonical recent-changes slice
|
||||
7. Route canonical AI intelligence summary and resource-intelligence reads through `frontend-modern/src/api/ai.ts`, `frontend-modern/src/stores/aiIntelligence.ts`, `frontend-modern/src/features/patrol/PatrolIntelligenceSurface.tsx`, `frontend-modern/src/pages/AIIntelligence.tsx`, `internal/api/ai_handlers.go`, and `internal/api/contract_test.go` together so the summary card, store state, route shell, and backend payload stay aligned on one governed surface, including the canonical recent-changes slice
|
||||
while keeping the learning counters backend-only coverage, so the summary page keeps Patrol health and findings primary and renders timeline, correlation, and policy-posture data as secondary investigation context rather than as a separate headline product metric
|
||||
and the shared `frontend-modern/src/components/Infrastructure/ResourceChangeSummary.tsx` card, so canonical recent-change timelines stay rendered through one governed frontend card instead of separate page-local list loops
|
||||
and the shared `frontend-modern/src/utils/resourceChangePresentation.ts` formatter used by the summary page and resource drawer, so canonical change wording does not drift across surfaces
|
||||
|
||||
@@ -15,26 +15,27 @@
|
||||
|
||||
## Purpose
|
||||
|
||||
Own the Patrol intelligence page, its local state orchestration, findings and
|
||||
approval presentation, run-history rendering, and Patrol-specific presentation
|
||||
helpers.
|
||||
Own the Patrol intelligence route shell, feature surface, local state
|
||||
orchestration, findings and approval presentation, run-history rendering, and
|
||||
Patrol-specific presentation helpers.
|
||||
|
||||
## Canonical Files
|
||||
|
||||
1. `frontend-modern/src/pages/AIIntelligence.tsx`
|
||||
2. `frontend-modern/src/stores/aiIntelligence.ts`
|
||||
3. `frontend-modern/src/types/aiIntelligence.ts`
|
||||
4. `frontend-modern/src/components/AI/FindingsPanel.tsx`
|
||||
5. `frontend-modern/src/components/Brand/PulsePatrolLogo.tsx`
|
||||
6. `frontend-modern/src/components/patrol/`
|
||||
7. `frontend-modern/src/utils/aiFindingPresentation.ts`
|
||||
8. `frontend-modern/src/utils/approvalRiskPresentation.ts`
|
||||
9. `frontend-modern/src/utils/findingAlertIdentity.ts`
|
||||
10. `frontend-modern/src/utils/patrolEmptyStatePresentation.ts`
|
||||
11. `frontend-modern/src/utils/patrolFormat.ts`
|
||||
12. `frontend-modern/src/utils/patrolRunPresentation.ts`
|
||||
13. `frontend-modern/src/utils/patrolSummaryPresentation.ts`
|
||||
14. `frontend-modern/src/utils/textPresentation.ts`
|
||||
1. `frontend-modern/src/features/patrol/PatrolIntelligenceSurface.tsx`
|
||||
2. `frontend-modern/src/pages/AIIntelligence.tsx`
|
||||
3. `frontend-modern/src/stores/aiIntelligence.ts`
|
||||
4. `frontend-modern/src/types/aiIntelligence.ts`
|
||||
5. `frontend-modern/src/components/AI/FindingsPanel.tsx`
|
||||
6. `frontend-modern/src/components/Brand/PulsePatrolLogo.tsx`
|
||||
7. `frontend-modern/src/components/patrol/`
|
||||
8. `frontend-modern/src/utils/aiFindingPresentation.ts`
|
||||
9. `frontend-modern/src/utils/approvalRiskPresentation.ts`
|
||||
10. `frontend-modern/src/utils/findingAlertIdentity.ts`
|
||||
11. `frontend-modern/src/utils/patrolEmptyStatePresentation.ts`
|
||||
12. `frontend-modern/src/utils/patrolFormat.ts`
|
||||
13. `frontend-modern/src/utils/patrolRunPresentation.ts`
|
||||
14. `frontend-modern/src/utils/patrolSummaryPresentation.ts`
|
||||
15. `frontend-modern/src/utils/textPresentation.ts`
|
||||
|
||||
## Shared Boundaries
|
||||
|
||||
@@ -42,7 +43,7 @@ helpers.
|
||||
|
||||
## Extension Points
|
||||
|
||||
1. Add or change Patrol page orchestration through `frontend-modern/src/pages/AIIntelligence.tsx` and `frontend-modern/src/stores/aiIntelligence.ts`
|
||||
1. Add or change Patrol page orchestration through `frontend-modern/src/features/patrol/PatrolIntelligenceSurface.tsx`, keep `frontend-modern/src/pages/AIIntelligence.tsx` as the route shell, and update `frontend-modern/src/stores/aiIntelligence.ts` together
|
||||
2. Add or change Patrol findings, approvals, investigation, or run-history presentation through `frontend-modern/src/components/AI/FindingsPanel.tsx` and `frontend-modern/src/components/patrol/`
|
||||
3. Keep Patrol and chat identifier-label presentation aligned through the shared `frontend-modern/src/utils/textPresentation.ts`
|
||||
4. Keep Patrol and chat stream-matching / mention dedupe aligned through the shared `frontend-modern/src/utils/chatIdentifiers.ts`
|
||||
@@ -68,6 +69,12 @@ surface for Patrol intelligence. This contract now owns that orchestration and
|
||||
presentation boundary while leaving shared transport and payload-shape
|
||||
ownership in the governed AI runtime and API contract surfaces.
|
||||
|
||||
The route file `frontend-modern/src/pages/AIIntelligence.tsx` is now also a
|
||||
thin shell that delegates to the feature-owned
|
||||
`frontend-modern/src/features/patrol/PatrolIntelligenceSurface.tsx`, so Patrol
|
||||
runtime state and presentation no longer accumulate directly in the route
|
||||
component itself.
|
||||
|
||||
Patrol finding state must now also consume the canonical camelCase
|
||||
`alertIdentifier` field and pending-approval expiry metadata end to end.
|
||||
Frontend Patrol helpers may not keep shadow `alert_identifier` fallbacks or
|
||||
|
||||
Reference in New Issue
Block a user