synops/maskinrommet
vegard 1355d189b2 Fullfør oppgave 4.4: RLS-policies på PG med node_access-filtrering
Implementerer Row Level Security for tunge PostgreSQL-spørringer.
Maskinrommet skriver som superuser (sidelinja), men leser med
SET LOCAL ROLE synops_reader som er underlagt RLS-policies.

Endringer:
- Migration 004: synops_reader rolle, current_node_id() funksjon,
  RLS-policies på nodes (created_by/node_access/visibility),
  edges (endepunkt-tilgang + system-edge-skjuling),
  og node_access (kun egne rader)
- queries.rs: RLS-kontekst-helper (set_rls_context) og
  GET /query/nodes endepunkt med søk, filtrering og paginering
- migration_safety.md: omskrevet fra v1 workspace-RLS til
  node_access-basert RLS med oppdaterte leak hunter-tester

Verifisert på server: hidden noder filtrert for ukjente brukere,
synlige for eiere. Edges filtrert tilsvarende.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 15:30:29 +01:00
..
src Fullfør oppgave 4.4: RLS-policies på PG med node_access-filtrering 2026-03-17 15:30:29 +01:00
.gitignore Maskinrommet Rust-skjelett med Dockerfile (oppgave 2.1) 2026-03-17 12:20:39 +01:00
Cargo.lock Auth-middleware: JWT-validering og auth_identities-oppslag (oppgave 2.2) 2026-03-17 12:26:34 +01:00
Cargo.toml Auth-middleware: JWT-validering og auth_identities-oppslag (oppgave 2.2) 2026-03-17 12:26:34 +01:00
Dockerfile Skrivestien: POST /intentions/create_node (oppgave 2.4) 2026-03-17 13:09:50 +01:00