towerops/lib/towerops_web/live/org
Graham McIntire 03f364a956 feat(insights): LLM-powered insight enrichment
Adds an optional plain-language summary and recommended action to every
active insight. A new Oban cron worker runs every 5 minutes, picks up
unenriched insights, and asks the configured LLM to restate the finding
and suggest one specific action grounded in the structured metadata.

- Migration: adds llm_summary, recommended_action, llm_model,
  llm_enriched_at columns to preseem_insights
- Towerops.LLM context with swappable behaviour; real client uses Req
  with the standard Req.Test plug for test isolation
- MockClient + InsightPrompt module (builds chat messages, parses JSON
  with code-fence stripping and a raw-text fallback)
- Worker logs and skips on rate limits / missing key / parse errors so
  insights still render without an AI summary when the LLM is unavailable
- Optional towerops-llm k8s secret with example template; deployment.yaml
  references it as optional in both init and main containers
- UI renders summary + recommended action callout on /insights and on
  the org-level insights page
2026-05-09 16:41:48 -05:00
..
gaiia_mapping_live.ex tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
gaiia_mapping_live.html.heex ux: improve navigation, tooltips, and discoverability across pages 2026-03-12 13:40:10 -05:00
gaiia_reconciliation_live.ex i18n: wrap all user-facing strings in gettext() 2026-02-14 17:44:01 -06:00
gaiia_reconciliation_live.html.heex ux: improve navigation, tooltips, and discoverability across pages 2026-03-12 13:40:10 -05:00
integrations_live.ex fix: make sidebar sticky with header and resolve all credo issues (#32) 2026-03-15 18:19:09 -05:00
integrations_live.html.heex reliability-audit-fixes (#181) 2026-03-26 14:10:36 -05:00
preseem_devices_live.ex fix/findings-medium-priority (#188) 2026-03-27 12:31:53 -05:00
preseem_devices_live.html.heex ux: overhaul Preseem devices page to match Gaiia mapping UX 2026-03-13 11:38:45 -05:00
preseem_insights_live.ex dialyzer: fix remaining 88 warnings — clean dialyzer run 2026-04-21 10:32:42 -05:00
preseem_insights_live.html.heex feat(insights): LLM-powered insight enrichment 2026-05-09 16:41:48 -05:00
settings_live.ex tests: raise coverage to 70% via helper promotion + new unit/property tests 2026-04-24 09:49:06 -05:00
settings_live.html.heex test: refactor LiveView tests to use HTML-aware element/form helpers 2026-04-29 11:14:20 -05:00