Pulse/internal/ai/memory
rcourtman 8439ce6e6b Dedupe AI runtime guest-family, tool-pipeline, and provider clones
Clears the ten dupl pairs across internal/ai:

- patrol_intelligence.go, tools_query.go, tools_storage.go: VM and LXC
  system-container paths collapse into generics over read-state view
  method subsets (gatherGuestIntelligenceFromViews, canonicalGuestGetResult
  + guestViewGetResult, addCanonicalGuestSearchMatches +
  addGuestViewSearchMatches, appendGuestDiskSummaries).
- tools_file.go: append/write share executeFileMutation driven by
  fileMutationSpec (approval-command text, shell redirect, verification
  strategy stay per-action and verbatim).
- tools_kubernetes.go: deployment restart / pod delete share
  executeKubernetesResourceAction driven by kubernetesResourceAction.
- providers/anthropic.go + anthropic_oauth.go: message conversion shared
  via convertMessagesToAnthropic (the OAuth copy was annotated 'same as
  regular client').
- memory/changes.go + memory/remediation.go: history loading shared via
  the generic loadMemoryHistory in memory/paths.go (10 MiB cap, sort,
  missing-file semantics preserved via a found flag).
- findings.go and unified/alerts.go: Finding/findingJSON and
  UnifiedFinding/unifiedFindingJSON are deliberate marshal-mirror twins
  (AlertIdentifier json:"-" vs alert_identifier round-trip); merging
  would break every public literal. Suppressed with nolint:dupl and
  enforced instead by new reflect-based mirror-sync tests.

Contract Extension Points name the shared helpers and the mirror
invariant. Full ./internal/ai/... test tree passes.
2026-06-10 09:38:52 +01:00
..
change_detector_memory_regression_test.go test: add memory regression coverage for AI stores 2026-02-04 19:56:12 +00:00
changes.go Dedupe AI runtime guest-family, tool-pipeline, and provider clones 2026-06-10 09:38:52 +01:00
changes_concurrency_test.go feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
context.go Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
context_test.go test: expand backend coverage 2026-01-25 21:08:44 +00:00
incident_memory_regression_test.go test: add AI memory regression coverage 2026-02-04 19:46:20 +00:00
incidents.go Harden AI memory persistence roots 2026-03-29 14:28:48 +01:00
incidents_test.go Split incident shell from read model 2026-03-20 11:59:40 +00:00
memory_coverage_test.go Remove Assistant pre-model context heuristics 2026-05-15 16:28:17 +01:00
memory_extended_test.go Remove Assistant pre-model context heuristics 2026-05-15 16:28:17 +01:00
memory_test.go Remove Assistant pre-model context heuristics 2026-05-15 16:28:17 +01:00
paths.go Dedupe AI runtime guest-family, tool-pipeline, and provider clones 2026-06-10 09:38:52 +01:00
presentation.go Centralize AI memory change conversion 2026-03-19 03:39:38 +00:00
presentation_test.go Centralize AI memory change conversion 2026-03-19 03:39:38 +00:00
remediation.go Dedupe AI runtime guest-family, tool-pipeline, and provider clones 2026-06-10 09:38:52 +01:00
remediation_memory_regression_test.go Remove Assistant pre-model context heuristics 2026-05-15 16:28:17 +01:00