feat: update MVP plan and close previous inventory IDOR risk, ensuring user-scope implementation and focus on regression testing
Test Suite / test (24.15.0) (push) Has been cancelled

This commit is contained in:
Nils-Johan Gynther
2026-05-10 00:35:23 +02:00
parent ca8987d9e4
commit edf9c74e75
2 changed files with 38 additions and 8 deletions
+32
View File
@@ -8,6 +8,38 @@ All detaljhistorik och djup teknisk bakgrund finns i respektive tekniska dokumen
- Fokus: en gemensam prioriteringslista for produkt, utveckling och drift.
- Delplaner for underomraden ska referera hit, inte duplicera hela roadmapen.
## MVP-plan (2026-05-10)
MVP ar uppnadd nar en vanlig anvandare kan importera, granska och spara kvitto/recept utan manuella specialsteg, och admin kan underhalla produkt- och kategoridata stabilt i drift.
### Fas 1 - Scopefrysning och releasekandidater
1. Las MVP-scope till foljande floden:
- Kvittoimport end-to-end (parse -> granska -> spara).
- Receptimport end-to-end (url/pdf/ocr/markdown -> granska -> spara).
- Admin inventarie/product-hantering (CRUD, merge, filter, restore).
2. Markera uttryckligen allt annat som post-MVP i denna fil (t.ex. EAN/Open Food Facts, utokad AI, storre webbsakerhetsomlaggning).
3. Faststall releasekandidat for backend + flutter med versionsetikett.
### Fas 2 - Hard validering i produktionslik miljo
1. Kor manuell verifiering av aliasstrategi med riktiga kvitton (privat alias, global fallback, prioriteringsordning).
2. Kor fulla regressionsfloden for import, matchning, kategorisering, merge och spara.
3. Verifiera deployflode och driftkommandon pa server med healthcheck efter release.
### Fas 3 - MVP-release
1. Publicera releasekandidat nar alla gransvarden ar godkanda.
2. Folj upp med kort hypercare-period (felrattning med hog prioritet, inga nya features).
### Exit-kriterier (Definition of Done for MVP)
- End-to-end importfloden fungerar stabilt for minst ett representativt urval av kvitton och receptkallor.
- Aliasprioritering fungerar deterministiskt: user alias -> global alias -> ordmatchning -> AI.
- User-scope och IDOR-skydd ar verifierat i kritiska domaner.
- Admin kan hantera produkter/inventarie utan datakorruption eller behov av manuella DB-ingrepp.
- Deploy, healthcheck och testkorning ar reproducerbara i driftmiljo.
## Nyligen klart
+6 -8
View File
@@ -130,12 +130,11 @@ Denna sektion beskriver säkerhetsfunktioner som är implementerade i kodbasen o
- `pantry` och `meal-plan`: alla las/skriv-operationer ar user-scopade via `userId` i service-lagret.
- `receipt-alias`: las/skriv/radera styrs av owner/global-regler och aktuell anvandare.
### Delvis implementerat / kvarvarande risk
### Tidigare risk som nu ar stangd
- Inventory ar inte fullstandigt user-scopat:
- `InventoryItem` saknar `userId` i `backend/prisma/schema.prisma`.
- `inventory.controller.ts` anvander inte `@CurrentUser()` for filtrering/auktorisering.
- Detta ar en kvarvarande IDOR/Full Table Dump-risk tills inventory ar migrerat till user-scope.
- Inventory user-scope ar nu genomford (schema, migration, controller, service och tester).
- Tidigare IDOR-risk for inventory bedoms som stangd i nuvarande implementation.
- Kvarvarande fokus ar regressionsskydd via tester och verifiering efter deploy.
### Driftrelaterad hardening som finns
@@ -287,9 +286,8 @@ Driftrekommendation:
- **Felsökningslogg** — Se `IMPORT_IMAGE_DEBUG_2026-04-22.md` för detaljerad felsökningshistorik kring bildimport och importflöde.
### Kända begränsningar
- Kvittoimport (Fas 6b) är påbörjad men granskningssteg och bulk-spara återstår.
- Bildimport kräver att containrar är uppdaterade med senaste kod — kontrollera att diagnostikloggar syns vid felsökning.
- Vissa adminfunktioner och avancerad AI-integration är planerade men ej migrerade.
- Bildimport kraver att containrar ar uppdaterade med senaste kod och konfiguration.
- Avancerad AI-integration (utokad audit/loggning och framtida modellstrategi) ar planerad post-MVP.
---
- **Privat git-server** för denna applikation