- Fikser audience-validering (AUTHENTIK_CLIENT_ID som forventet aud)
- Oppdaterer seed-data med reell Authentik sub for Vegard
- Fikser DATABASE_URL i .env: peker nå til synops-database (ikke sidelinja)
- Dokumenterer maskinrommet-miljøvariabler i produksjon.md
- Markerer oppgave 2.2 som ferdig i tasks.md
Verifisert på server med fem testcaser:
1. /health (public) → 200
2. /me uten token → 401 "Mangler Authorization-header"
3. /me med ugyldig token → 401 "Ugyldig token"
4. /me med gyldig JWT, ukjent sub → 401 "Ukjent brukeridentitet"
5. /me med gyldig JWT, kjent sub → 200 med node_id
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Oppretter kjernedataene som resten av systemet bygger på:
- Vegards person-node med auth_identity (placeholder authentik_sub,
oppdateres i oppgave 1.5 når Authentik konfigureres)
- Sidelinja samlings-node (tenant for podcastredaksjonen)
- Owner-edge fra Vegard til Sidelinja
- node_access-rad via recompute_access()
Kjørt og verifisert på server (sidelinja-postgres-1, synops-db).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Oppretter database `synops` på serveren med kjerneskjemaet:
- Enums: visibility (hidden/discoverable/readable/open),
access_level (reader/member/admin/owner)
- Tabeller: nodes, edges, node_access, auth_identities
- Funksjon: recompute_access for tilgangsmatrise-oppdatering
- Indekser iht. docs/primitiver/nodes.md og edges.md
Migrasjonen er kjørt og verifisert på produksjonsserver
(sidelinja-postgres-1, database: synops).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>