Pulse/internal/ai
rcourtman 286edee8aa feat(ai): Add operational memory (Phase 3) - change detection and remediation logging
Phase 3 of Pulse AI differentiation:

Create internal/ai/memory package with:

1. Change Detection (changes.go):
   - Tracks infrastructure changes: creation, deletion, config changes
   - Detects status changes (started, stopped)
   - Detects VM/container migrations between nodes
   - Detects CPU/memory configuration changes
   - Detects backup completions
   - Persists change history to ai_changes.json
   - GetChangesSummary for AI context

2. Remediation Logging (remediation.go):
   - Records actions taken to fix problems
   - Tracks command, output, and outcome
   - Links to AI findings via findingID
   - GetSimilar finds past similar problems
   - GetSuccessfulRemediations for learning
   - Persists to ai_remediations.json

3. Type exports (memory_exports.go):
   - Clean re-exports from ai package

This enables the AI to say things like:
- 'This VM was migrated 2 hours ago'
- 'Memory was increased from 4GB to 8GB yesterday'
- 'Last time this happened, restarting nginx resolved it'

All tests passing.
2025-12-12 13:49:37 +00:00
..
baseline feat(ai): Add baseline learning and anomaly detection (Phase 2) 2025-12-12 11:26:31 +00:00
context feat(ai): Add baseline learning and anomaly detection (Phase 2) 2025-12-12 11:26:31 +00:00
cost Clarify AI cost estimates with pricing coverage 2025-12-12 13:19:03 +00:00
knowledge refactor(ai): Remove over-engineered URL discovery service 2025-12-10 08:35:24 +00:00
memory feat(ai): Add operational memory (Phase 3) - change detection and remediation logging 2025-12-12 13:49:37 +00:00
providers feat: Implement multi-provider AI support 2025-12-11 16:00:45 +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
baseline_adapter.go feat(ai): Add baseline learning and anomaly detection (Phase 2) 2025-12-12 11:26:31 +00:00
baseline_exports.go feat(ai): Wire baseline learning loop into router startup 2025-12-12 11:29:47 +00:00
config.go AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00
cost_persistence.go feat(ai): Add enriched context with historical trends and predictions 2025-12-12 09:45:57 +00:00
findings.go feat(ai): Add suppression rules management API and UI 2025-12-11 00:12:18 +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
memory_exports.go feat(ai): Add operational memory (Phase 3) - change detection and remediation logging 2025-12-12 13:49:37 +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
metrics_history_adapter.go feat(ai): Add enriched context with historical trends and predictions 2025-12-12 09:45:57 +00:00
patrol.go feat(ai): Add baseline learning and anomaly detection (Phase 2) 2025-12-12 11:26:31 +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 Clarify AI cost estimates with pricing coverage 2025-12-12 13:19:03 +00:00
target_host_test.go AI Problem Solver implementation and various fixes 2025-12-06 23:46:08 +00:00