Pulse/internal/ai
rcourtman a3d953172c feat(ai): Add LLM memory system for patrol findings
Implements a comprehensive feedback system that allows the LLM to 'remember'
user decisions about findings, preventing repetitive/annoying alerts.

Backend changes:
- Extended Finding struct with dismissed_reason, user_note, times_raised, suppressed
- Added Dismiss(), Suppress(), SetUserNote(), IsSuppressed() methods to FindingsStore
- Added GetDismissedForContext() to format dismissed findings for LLM context
- Enhanced buildPatrolPrompt() to inject user feedback context
- Added POST /api/ai/patrol/dismiss and /api/ai/patrol/suppress endpoints
- Updated IsActive() to exclude suppressed findings

Frontend changes:
- Added Dismiss dropdown with options: Not an Issue, Expected Behavior, Will Fix Later
- Added Never Alert Again option for permanent suppression
- Expected Behavior prompts for optional note to help LLM understand context
- Added visual badges: recurrence count (×N), dismissed status, suppressed indicator
- Display user notes in expanded finding view

Also fixes:
- Fixed 403 error on Run Patrol (compilation errors from partial refactoring)
- Removed non-LLM patrol checks - patrol now uses LLM analysis only
- Fixed function signature mismatches in alert_triggered.go

The LLM now receives context about previously dismissed findings and is
instructed not to re-raise them unless severity has significantly worsened.
2025-12-10 22:55:34 +00:00
..
knowledge refactor(ai): Remove over-engineered URL discovery service 2025-12-10 08:35:24 +00:00
providers feat(ai): Enhanced AI patrol system with alert triggers and history persistence 2025-12-10 21:08:22 +00:00
alert_adapter.go AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00
alert_provider.go AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00
alert_threshold_adapter.go refactor(ai): Remove over-engineered URL discovery service 2025-12-10 08:35:24 +00:00
alert_triggered.go feat(ai): Add LLM memory system for patrol findings 2025-12-10 22:55:34 +00:00
config.go AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00
findings.go feat(ai): Add LLM memory system for patrol findings 2025-12-10 22:55:34 +00:00
findings_persistence.go refactor(ai): Remove over-engineered URL discovery service 2025-12-10 08:35:24 +00:00
findings_test.go refactor(ai): Remove over-engineered URL discovery service 2025-12-10 08:35:24 +00:00
metadata_provider.go feat(ai): Add URL discovery tool - AI can find and set resource URLs 2025-12-10 00:29:07 +00:00
patrol.go feat(ai): Add LLM memory system for patrol findings 2025-12-10 22:55:34 +00:00
patrol_history_persistence.go feat(ai): Enhanced AI patrol system with alert triggers and history persistence 2025-12-10 21:08:22 +00:00
resource_context.go Add AI monitoring enhancements and host metadata features 2025-12-09 16:27:46 +00:00
routing.go Add AI monitoring enhancements and host metadata features 2025-12-09 16:27:46 +00:00
routing_test.go AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00
sanitize_test.go refactor(ai): Remove over-engineered URL discovery service 2025-12-10 08:35:24 +00:00
service.go feat(ai): Enhanced AI patrol system with alert triggers and history persistence 2025-12-10 21:08:22 +00:00
target_host_test.go AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00