diff --git a/docs/STATUS.md b/docs/STATUS.md index ef64f73..bf302cc 100644 --- a/docs/STATUS.md +++ b/docs/STATUS.md @@ -7,10 +7,10 @@ | Kontroll | Resultat | | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `pnpm typecheck` | 17/17 paket | -| `pnpm test` | 30 tasks, 113 tester (motorer inkl. mjölkprincipen, subscriptions, i18n, måttvisning) – tidszonsoberoende: hela sviten körd utan cache under Europe/Stockholm, Pacific/Auckland och America/Los_Angeles | +| `pnpm typecheck` | 19/19 paket | +| `pnpm test` | 34 tasks, 326 tester – deterministic: full svit körd två gånger mot nyskapad Postgres 16 utan cache, grönt båda körningarna | | `pnpm build` | api + worker + admin | -| `pnpm db:migrate && pnpm db:seed` | 54+ tabeller, 101 ingredienser (+ en-översättningar), 22 recept, enhetsetiketter, marknadsprofiler | +| `pnpm db:migrate && pnpm db:seed` | 76 tabeller, 254 verifierade recept, kanoniska ingredienser, enhetsetiketter, marknadsprofiler, ops/EOC-integrering | | E2E-smoke | register → hushåll (valuta) → lager (kanoniska enheter) → rekommendationer → AI-översättning → publicering → engelsk användare får engelskt innehåll → accentokänslig sök → marknadsprofiler | ## Färdigbyggt @@ -21,6 +21,8 @@ - **Deterministiska motorer**: nutrition (Mifflin-St Jeor, per-100, enhetskonvertering som vägrar volym↔massa utan densitet), inventory (transaktionsbalans, FEFO, utgångsklassning), recipe (allergen/diet/religion-säkerhet, täckningsgrad, substitution, kostnad i minor), recommendation (poängsättning + förklaringar, cravings, säsonger). - **AAMOS-integration**: 16 typade kontrakt (Zod-validerade kuvert med localeContext + pseudonymiserat subjectRef + consentFlags), HTTP-klient med retries + mock för dev/test. - **Internationalisering (M1–M7, M10)**: språkneutrala enhetskoder, locale-preferenser, minor units + valuta per hushåll, översättningstabeller med AI-utkastflöde, i18next, måttvisning, marknadsprofiler för nutrition/allergener, accentokänslig fuzzy-sök, minnesrendering per språk. +- **Personalisering S1–S6**: hushålls- och individanpassade rekommendationer, smaksignaler, minnespåverkan, hälsoprofil, veckoplan, cravings, säsong/högtid, budget och täckningsgrad — alla med samtyckesgrind och integritetsspärrar. +- **Ops + EOC**: `/ops/v1/summary` (14 block inklusive `wall` med 6 tiles) och `/ops/v1/health` frysta; EOC-panel (`aamos-admin`) konsumerar endpoints med read-only, server-side token och PII-skydd. - **Admin** (Vite/React): användare, moderering, flags, subscriptions, jobböversikt, hälsa, auditlogg, AI-korrigeringar. - **Lösenordsåterställning**: forgot/reset-endpoints med hashade engångstokens (30 min TTL), familjeåterkallelse av alla sessioner, mejlmallar per språk via utbytbar mailer (log-läge i dev, leverantör kopplas i fas 7), mobilskärmar med app-länk. - **Admin-2FA**: TOTP (RFC 6238, inga externa beroenden) med step-up-inloggning, engångsskydd per steg och MFA-tvång på admin-API:t; UI i adminpanelen.