rcourtman
b0aaca863d
refactor(ai): extract shared Finding type to eliminate duplicate structs
...
Move the Finding type that was duplicated between patrol and investigation
packages into a new internal/ai/finding package. Both packages now use
type aliases for backwards compatibility.
Changes:
- Add internal/ai/finding/finding.go as the canonical Finding definition
- Update investigation.Finding to be a type alias for finding.Finding
- Update InvestigationFinding in patrol.go to be a type alias
- Add ToCoreFinding() method to ai.Finding for type conversion
- Simplify investigation_adapter.go (no more field-by-field copies)
- Add e2e integration test for patrol investigation flow
2026-02-01 23:26:20 +00:00
..
2026-01-25 21:08:44 +00:00
2026-02-01 18:07:17 +00:00
2026-01-30 19:02:14 +00:00
2026-02-01 18:07:41 +00:00
2026-01-25 21:08:44 +00:00
2026-01-03 11:14:17 +00:00
2026-01-25 21:08:44 +00:00
2026-01-02 13:59:26 +00:00
2026-01-31 16:23:08 +00:00
2026-02-01 23:26:20 +00:00
2026-01-25 21:08:44 +00:00
2026-02-01 23:26:20 +00:00
2026-01-28 16:51:53 +00:00
2026-01-25 21:08:44 +00:00
2026-02-01 16:28:04 +00:00
2026-01-01 22:29:15 +00:00
2026-02-01 16:28:24 +00:00
2026-01-25 21:08:44 +00:00
2026-02-01 18:07:51 +00:00
2026-01-30 19:02:14 +00:00
2026-02-01 00:12:36 +00:00
2026-01-30 19:02:14 +00:00
2026-01-24 22:41:43 +00:00
2026-01-22 22:30:35 +00:00
2026-01-25 21:08:44 +00:00
2025-12-29 13:56:29 +00:00
2026-01-22 22:30:35 +00:00
2025-12-29 13:49:04 +00:00
2025-12-10 08:35:24 +00:00
2026-01-30 19:02:14 +00:00
2026-01-30 19:02:14 +00:00
2025-12-29 13:49:04 +00:00
2026-01-01 22:29:15 +00:00
2025-12-12 11:29:47 +00:00
2025-12-06 23:46:08 +00:00
2025-12-12 14:26:10 +00:00
2025-12-29 13:49:04 +00:00
2025-12-12 09:45:57 +00:00
2026-02-01 18:08:02 +00:00
2026-01-24 22:41:43 +00:00
2026-01-24 22:41:43 +00:00
2026-01-30 19:02:14 +00:00
2026-01-28 16:51:53 +00:00
2025-12-19 21:53:06 +00:00
2026-01-25 21:08:44 +00:00
2026-01-30 19:02:14 +00:00
2026-01-02 12:45:00 +00:00
2026-01-30 19:02:14 +00:00
2026-01-30 19:02:14 +00:00
2025-12-29 13:56:29 +00:00
2026-01-24 22:41:43 +00:00
2026-01-31 16:23:08 +00:00
2026-02-01 10:12:23 +00:00
2026-01-19 19:20:49 +00:00
2026-01-19 19:20:49 +00:00
2026-02-01 23:26:20 +00:00
2026-01-30 19:02:14 +00:00
2026-01-24 22:41:43 +00:00
2025-12-29 17:25:21 +00:00
2026-01-02 19:53:01 +00:00
2026-01-24 22:41:43 +00:00
2026-02-01 23:26:20 +00:00
2026-01-01 22:29:15 +00:00
2025-12-20 20:25:20 +00:00
2025-12-12 13:49:37 +00:00
2025-12-29 13:49:04 +00:00
2025-12-19 22:59:52 +00:00
2025-12-29 13:49:04 +00:00
2025-12-12 09:45:57 +00:00
2025-12-29 17:25:21 +00:00
2026-02-01 18:07:41 +00:00
2026-02-01 18:07:51 +00:00
2026-01-30 19:02:14 +00:00
2026-01-30 19:02:14 +00:00
2026-02-01 23:26:20 +00:00
2026-02-01 16:27:43 +00:00
2026-02-01 23:26:20 +00:00
2026-01-30 19:02:14 +00:00
2026-01-30 19:02:14 +00:00
2026-01-30 19:02:14 +00:00
2026-02-01 16:27:25 +00:00
2026-02-01 16:27:25 +00:00
2026-01-30 19:02:14 +00:00
2026-01-30 19:02:14 +00:00
2026-01-30 19:02:14 +00:00
2026-02-01 18:07:51 +00:00
2026-01-31 16:23:08 +00:00
2026-01-31 16:23:08 +00:00
2026-01-30 19:02:14 +00:00
2026-01-24 22:41:43 +00:00
2026-01-30 19:02:14 +00:00
2026-01-30 19:02:14 +00:00
2026-02-01 23:26:20 +00:00
2025-12-12 14:11:28 +00:00
2025-12-29 17:25:21 +00:00
2026-01-02 19:53:01 +00:00
2025-12-29 17:25:21 +00:00
2026-01-01 22:29:15 +00:00
2025-12-10 08:35:24 +00:00
2026-01-30 19:02:14 +00:00
2026-01-30 19:02:14 +00:00
2026-01-01 22:29:15 +00:00
2026-01-01 22:29:15 +00:00
2026-01-01 22:29:15 +00:00
2026-02-01 16:27:25 +00:00
2026-01-01 22:29:15 +00:00