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>