mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-22 19:23:31 +00:00
b5c8e00859
Capture the prior InvestigationRecord.ProposedFix.Description into a new Finding.PreviousResolvedFixSummary field at regression time, before the InvestigationRecord is cleared. Without this capture the next investigation starts from blank context whenever a finding regresses, and operational memory of "what worked last time" is lost. The summary propagates through: - FindingsStore.Add regression branch (capture before clear) - Finding.MarshalJSON / UnmarshalJSON (wire shape) - Both Finding to UnifiedFinding conversion sites in router.go - UnifiedFinding (struct + JSON shadow + Marshal/Unmarshal) - UnifiedStore.AddFromAI update branch (non-empty overwrite) - Assistant chat context as a "Previous Resolved Fix" line so the LLM sees what worked previously rather than blank-slate diagnosing each regression. Adds a unit test that walks the full lifecycle (detect, resolve via UpdateInvestigationRecord + ResolveWithReason, re-detect) and asserts PreviousResolvedFixSummary is preserved while InvestigationRecord is cleared, plus two chat-context tests covering the surfaces-when-set and omits-when-empty cases. Adds a contract test pinning the canonical "previous_resolved_fix_summary" JSON key. Updates the api-contracts, ai-runtime, and the dependent agent-lifecycle, performance-and- scalability, and storage-recovery contracts to pin the operational memory propagation rule and its scope boundary.