synops/migrations
vegard b31ee59868 Ytelse: profiler PG-spørringer, optimaliser node_access-oppdatering (oppgave 12.4)
Profilert alle kritiske PG-spørringer med EXPLAIN ANALYZE.
Identifiserte at recompute_access brukte single-column index
(idx_edges_type) med lav selektivitet, og RLS-policyer manglet
composite indexes for effektive oppslag.

Endringer:

Migrasjon 017_query_performance.sql:
- 6 nye composite indexes:
  - idx_edges_target_type (target_id, edge_type) — recompute_access + belongs_to
  - idx_edges_source_type (source_id, edge_type) — alias-oppslag
  - idx_edges_target_memberof (partial, member_of) — team-propagering
  - idx_nodes_created_at_desc — ORDER BY created_at DESC
  - idx_nodes_kind_created — filtrer på kind + sorter
  - idx_na_subject_covering INCLUDE (object_id) — RLS without heap lookup
- Optimalisert recompute_access(): steg 3 og 4 kjøres nå bare
  når det er relevant (EXISTS-sjekk først). For vanlige brukere
  (ikke team) unngår dette to fulle INSERT-SELECT-operasjoner.
- via_edge oppdateres nå korrekt ved access-nivå-endring.

Slow query logging (maskinrommet):
- Forespørsler >200ms logges som WARN med tag slow_request
- PG-spørringer >100ms logges som WARN med tag slow_query
- recompute_access-kall logges med varighet for overvåking
- Nytt pg_stats-felt i /metrics med tabell- og index-statistikk,
  cache hit ratio, og node_access-telling

Dokumentasjon oppdatert i docs/infra/observerbarhet.md.
2026-03-18 11:43:19 +00:00
..
001_initial_schema.sql Fullfør oppgave 4.2: team-transitivitet i recompute_access 2026-03-17 15:01:51 +01:00
002_seed_data.sql Auth-middleware verifisert og fullført (oppgave 2.2) 2026-03-17 12:33:24 +01:00
003_team_transitivity.sql Fullfør oppgave 4.2: team-transitivitet i recompute_access 2026-03-17 15:01:51 +01:00
004_rls_policies.sql Fullfør oppgave 4.4: RLS-policies på PG med node_access-filtrering 2026-03-17 15:30:29 +01:00
005_transcription_segments.sql Legg til transcription_segments-migrasjon (oppgave 7.5) 2026-03-17 18:15:01 +01:00
006_alias_aware_rls.sql Fullfør oppgave 8.2: Kontekstbasert identitet med alias 2026-03-17 19:19:36 +01:00
007_agent_system.sql Implementer Claude som chat-deltaker (Fase A: MVP) 2026-03-17 19:20:17 +00:00
008_ai_model_routing.sql LiteLLM AI Gateway: Docker, DB-ruting, config-generering (oppgave 10.1) 2026-03-17 23:12:46 +00:00
009_resource_usage_and_tts.sql TTS-pipeline: tekst → lyd via ElevenLabs (oppgave 10.4) 2026-03-17 23:40:46 +00:00
010_pruning.sql Pruning-logikk: TTL per modalitet, signaler, disk-nødventil (oppgave 11.3) 2026-03-18 00:02:27 +00:00
011_fulltext_search.sql Dynamiske sider (oppgave 14.15): kategori, arkiv, søk, om-side 2026-03-18 02:39:06 +00:00
012_ab_testing.sql Fullfører oppgave 14.17: A/B-testing for presentasjonselementer 2026-03-18 03:13:39 +00:00
013_job_queue.sql Fullfører oppgave 15.3: Jobbkø-oversikt med admin-UI 2026-03-18 03:40:56 +00:00
014_resource_governor.sql Fullfører oppgave 15.5: Ressursstyring for jobbkø 2026-03-18 04:02:11 +00:00
015_ai_preset_seeds.sql Fullfører oppgave 18.1: AI-preset node-type 2026-03-18 06:13:09 +00:00
016_message_placements.sql Implementer message_placements (oppgave 20.1) 2026-03-18 07:59:07 +00:00
017_query_performance.sql Ytelse: profiler PG-spørringer, optimaliser node_access-oppdatering (oppgave 12.4) 2026-03-18 11:43:19 +00:00