Oppdater dokumentasjon: kanban status, erfaringslogg, multi-workspace
- ARCHITECTURE.md: Kanban markert [~] i Lag 2, authentik_oidc lagt til erfaringslogg - docs/features/kanban.md: Full rewrite med implementert status, API-docs, datamodell Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
7c5b809802
commit
87eb2d4919
2 changed files with 47 additions and 9 deletions
|
|
@ -183,7 +183,7 @@ Chat (channels), Kanban, Whiteboard, Live transkripsjon, Live AI (faktoid + refe
|
|||
- [ ] Jobbkø-worker (Rust)
|
||||
- [ ] Kunnskapsgraf CRUD (SvelteKit server-side)
|
||||
- [~] Chat med channels (PG-adapter + SpacetimeDB hybrid-adapter ferdig, sync-worker gjenstår)
|
||||
- [ ] Kanban (SpacetimeDB ↔ PG synk)
|
||||
- [~] Kanban (PG-adapter ferdig med drag & drop, redigeringsmodal, CRUD API. SpacetimeDB-sync gjenstår)
|
||||
- [ ] Lydmeldinger & Diktering (opptak + Whisper + AI-opprydding)
|
||||
- [ ] Prompt-Laboratorium (prompt-testing mot egne data)
|
||||
- [ ] Promptfoo testsett for første jobbtyper (norsk testdata)
|
||||
|
|
@ -241,6 +241,7 @@ Innhold per mars 2025:
|
|||
- `svelte5_reaktivitet.md` — $state-getters, SSR-feller, polling-mønster
|
||||
- `spacetimedb_integrasjon.md` — SDK-konvensjoner, BigInt, Rust borrow-feller
|
||||
- `adapter_moenster.md` — Hybrid PG+SpacetimeDB, anti-patterns, anbefaling for neste komponent
|
||||
- `authentik_oidc.md` — Sub-claim er SHA256, @auth/sveltekit JWT-quirks, redirect URI
|
||||
|
||||
## 11. Testing og Utrulling
|
||||
|
||||
|
|
|
|||
|
|
@ -4,19 +4,56 @@
|
|||
## 1. Konsept
|
||||
Et drag-and-drop Kanban-brett for planlegging. Primært brukt til episodeplanlegging i Redaksjonen, men også mottaker av AI-genererte action points fra Møterommet.
|
||||
|
||||
## 2. Datamodell
|
||||
* **Episode** er en container (node i Kunnskapsgrafen) som samler et utvalg Temaer.
|
||||
* **Posisjon/rekkefølge** lagres i SpacetimeDB for sanntid, synkes til PostgreSQL.
|
||||
* **Status** på et Tema innenfor en episode (f.eks. "Forslag", "Bekreftet", "Innspilt") håndteres som et felt i SpacetimeDB.
|
||||
## 2. Status
|
||||
**PG-adapter ferdig og deployet (mars 2025).** SpacetimeDB-sync gjenstår.
|
||||
|
||||
## 3. Brukes av
|
||||
### Implementert
|
||||
- Migrering `0002_kanban.sql`: `kanban_boards`, `kanban_columns`, `kanban_cards`
|
||||
- Kanban-kort er nodes i kunnskapsgrafen (arver workspace-isolasjon)
|
||||
- REAL-posisjon for midpoint-innsetting (`(1.0 + 2.0) / 2 = 1.5`) — ingen re-nummerering
|
||||
- REST API: GET brett, POST kolonne/kort, PATCH kort/flytt, DELETE kort
|
||||
- PG polling-adapter (`pg.svelte.ts`) med 5 sek intervall og optimistisk UI
|
||||
- Adapter-factory (`create.svelte.ts`) — klar for SpacetimeDB-hybrid
|
||||
- KanbanBlock.svelte: drag & drop, redigeringsmodal (tittel/beskrivelse/slett), enkelt kort-input som legger til i første kolonne
|
||||
|
||||
### Gjenstår
|
||||
- SpacetimeDB-modul + hybrid-adapter for sanntidsoppdatering
|
||||
- Reposisjonering ved dra innad i kolonne (sortert rekkefølge)
|
||||
- Tildeling (assignee) UI
|
||||
- Fargekoder/labels på kort
|
||||
- AI-integrasjon: møtereferent → nye kort
|
||||
|
||||
## 3. Datamodell
|
||||
|
||||
```
|
||||
kanban_boards (id FK→nodes, parent_id FK→nodes, name)
|
||||
kanban_columns (id, board_id FK→kanban_boards, name, color, position REAL)
|
||||
kanban_cards (id FK→nodes, column_id FK→kanban_columns, title, description, assignee_id, position REAL, created_by, created_at)
|
||||
```
|
||||
|
||||
Kort og brett er nodes — all workspace-isolasjon arves automatisk via `nodes.workspace_id`.
|
||||
|
||||
## 4. API-endepunkter
|
||||
|
||||
| Metode | Sti | Beskrivelse |
|
||||
|---|---|---|
|
||||
| GET | `/api/kanban/[boardId]` | Hent brett med kolonner og kort |
|
||||
| POST | `/api/kanban/[boardId]/columns` | Opprett kolonne |
|
||||
| POST | `/api/kanban/[boardId]/cards` | Opprett kort (oppretter node + kort) |
|
||||
| PATCH | `/api/kanban/[boardId]/cards/[cardId]` | Oppdater tittel/beskrivelse |
|
||||
| PATCH | `/api/kanban/[boardId]/cards/[cardId]/move` | Flytt kort til kolonne/posisjon |
|
||||
| DELETE | `/api/kanban/[boardId]/cards/[cardId]` | Slett kort (cascader fra node) |
|
||||
|
||||
## 5. Brukes av
|
||||
|
||||
| Konsept | Bruk |
|
||||
|---|---|
|
||||
| Redaksjonen | Episodeplanlegging — dra Temaer inn i Kjøreplanen |
|
||||
| Møterommet | AI-referenten foreslår nye kort basert på action points |
|
||||
| Foreningen Liberalistene | Styreoppgaver (Å gjøre / Pågår / Ferdig) |
|
||||
|
||||
## 4. Instruks for Claude Code
|
||||
## 6. Instruks for Claude Code
|
||||
* Bruk native HTML5 Drag and Drop i SvelteKit, unngå tunge biblioteker.
|
||||
* SpacetimeDB er autoritativ for posisjon/rekkefølge — frontend speiler SpacetimeDB-state.
|
||||
* Alt er workspace-scopet.
|
||||
* PG-adapter er autoritativ inntil SpacetimeDB-sync er på plass.
|
||||
* Alt er workspace-scopet via node-modellen.
|
||||
* Sjekk `docs/erfaringer/adapter_moenster.md` for hybrid-strategi.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue