Sven (AAMOS AI)
33c72ddacd
fix(reco): fria sökord + mjuk-filter så råvaru-sökning (kyckling) ger rätt recept (MIKRO 60)
CI / Typecheck, test & build (push) Failing after 42s
2026-08-14 20:28:56 +07:00
Sven (AAMOS AI)
83dd0bb215
feat(entitlements): delad hushålls-pott – medlemmar delar ägarens plan & skanningskvot (MIKRO 59)
CI / Typecheck, test & build (push) Failing after 43s
2026-08-14 20:12:37 +07:00
Sven (AAMOS AI)
9bd827a90d
fix(household): join tar bort tomt auto-sol-hushåll så delat hushåll blir aktivt (MIKRO 58)
CI / Typecheck, test & build (push) Failing after 43s
2026-08-14 20:00:49 +07:00
Sven (AAMOS AI)
1e6407d9e6
feat(mobile): slutför-profil-prompt samlar kost & allergier progressivt (MIKRO 57)
CI / Typecheck, test & build (push) Failing after 42s
2026-08-14 18:59:39 +07:00
Sven (AAMOS AI)
9390cc0e66
fix(mobile): receptdetalj på användarens språk (MIKRO 56)
CI / Typecheck, test & build (push) Failing after 43s
2026-08-14 18:56:42 +07:00
Sven (AAMOS AI)
1f67e1532f
polish(mobile): cooking-avbryt, scan-review useEffect, stack-titlar, död kod (MIKRO 55)
CI / Typecheck, test & build (push) Failing after 42s
2026-08-14 18:45:36 +07:00
Sven (AAMOS AI)
d95c67d979
fix(mobile): plan/hushåll/profil felhantering + streckkod pausar kamera (MIKRO 54)
CI / Typecheck, test & build (push) Failing after 42s
2026-08-14 18:38:15 +07:00
Sven (AAMOS AI)
13689d5f8e
fix(mobile): Nya förslag bläddrar bland recept + laddindikator (MIKRO 53)
CI / Typecheck, test & build (push) Failing after 44s
2026-08-14 18:31:41 +07:00
Sven (AAMOS AI)
491daace86
fix(mobile): onError på 15 mutationer – inga tysta miss (MIKRO 52)
CI / Typecheck, test & build (push) Successful in 1m37s
2026-08-14 18:03:36 +07:00
Sven (AAMOS AI)
ea1f9a113a
fix(scan): timeout i uploadImage + rätt API_BASE_URL så mock-upload når telefonen (MIKRO 51)
CI / Typecheck, test & build (push) Successful in 1m36s
2026-08-14 17:49:40 +07:00
Sven (AAMOS AI)
bea9f54ed5
fix(mobile): visa fel när samtyckestoggeln fallerar (tyst miss förut)
CI / Typecheck, test & build (push) Successful in 1m36s
2026-08-14 05:46:28 +07:00
Sven (AAMOS AI)
f5aeb28a24
fix(mobile): tydlig bakåt-etikett (Tillbaka) istället för (tabs) i navigationen
CI / Typecheck, test & build (push) Successful in 1m34s
2026-08-14 05:38:29 +07:00
Sven (AAMOS AI)
72b1d9d5a3
fix(mobile): samtyckesgrinden hämtar om status efter accept (fastnade annars)
CI / Typecheck, test & build (push) Successful in 1m35s
2026-08-14 05:29:01 +07:00
Sven (AAMOS AI)
815b400eea
feat(mobile): ny slogan på inloggningen – Mindre svinn, mindre stress, mer kvar i plånboken
CI / Typecheck, test & build (push) Successful in 1m39s
2026-08-14 04:11:29 +07:00
Sven (AAMOS AI)
5f9526cb07
fix(mobile): keyboard-avoidance i Screen så formulär inte göms bakom tangentbordet (FAS 35)
CI / Typecheck, test & build (push) Successful in 1m40s
2026-08-14 04:01:44 +07:00
Sven (AAMOS AI)
e3d50707e8
feat(mobile): veckoplan – skapa inköpslista från planen (stänger plan→laga→handla-loopen)
CI / Typecheck, test & build (push) Successful in 1m34s
2026-08-14 03:12:49 +07:00
Sven (AAMOS AI)
4d9c69d0ce
feat(mobile): veckoplan – markera lagad/hoppa över (smart omplanering) + aktivera plan
CI / Typecheck, test & build (push) Successful in 1m48s
2026-08-14 02:48:18 +07:00
Sven (AAMOS AI)
c5f8d63964
feat(mobile): veckoplan – hämta plan, rendera dagens måltider + generera-knapp med polling
CI / Typecheck, test & build (push) Successful in 1m34s
2026-08-14 02:38:59 +07:00
Sven (AAMOS AI)
ebc3b75cea
i18n(mobile): plan.portions i 12 locales
CI / Typecheck, test & build (push) Successful in 1m34s
2026-08-14 02:01:04 +07:00
Sven (AAMOS AI)
e6c5d3bb08
feat(mobile): veckoplan-skärm scaffold (månadsheader + veckostrip + dagsvy) + flik
CI / Typecheck, test & build (push) Successful in 1m34s
2026-08-14 01:47:33 +07:00
Sven (AAMOS AI)
435af14bc4
i18n(mobile): nycklar för veckoplaneraren (tabs.plan, plan.today, plan.emptyDay) i 12 locales
CI / Typecheck, test & build (push) Successful in 1m35s
2026-08-14 01:30:26 +07:00
Sven (AAMOS AI)
0d1cc727ae
fix(gdpr): radera user_terms_consents vid kontoradering + klassa i residual-testet
CI / Typecheck, test & build (push) Successful in 11m6s
2026-08-14 00:45:42 +07:00
Sven (AAMOS AI)
c32a7e33c7
ci: trigga på master + formatfix inför Gitea Actions
CI / Typecheck, test & build (push) Failing after 2s
2026-08-13 17:25:14 +07:00
Sven (AAMOS AI)
61d60931ad
feat(mobile): tallriksfoto → meal-review + i18n (otestad, väntar Expo-test)
2026-08-13 07:04:10 +07:00
Sven (AAMOS AI)
ceaa52a097
feat(mobile): consent-texter pa 11 sprak
2026-08-13 02:31:25 +07:00
Sven (AAMOS AI)
dd715c3f61
feat(mobile): consent-gate i auth-flödet
2026-08-13 02:17:52 +07:00
Sven (AAMOS AI)
e88bbb50a6
feat(mobile): ConsentScreen + consent api
2026-08-13 02:14:03 +07:00
Sven (AAMOS AI)
61c3193f17
feat(consent): user_terms_consents + /v1/me/consent
2026-08-13 02:06:44 +07:00
Sven (AAMOS AI)
10ba64e4ba
fix(ops): gemini-block i summary-byggaren, inte routen
2026-08-12 22:41:11 +07:00
Sven (AAMOS AI)
1a596d2674
feat(ops): fyll gemini-blocket från gemini_usage
2026-08-12 21:13:39 +07:00
Sven (AAMOS AI)
602405d56d
feat(ops): logga gemini_usage per scan (best-effort)
2026-08-12 21:08:03 +07:00
Sven (AAMOS AI)
3fb4374a99
feat(ops): gemini-block i summary
2026-08-12 20:48:06 +07:00
Sven (AAMOS AI)
6e2d794130
feat(storage,deploy): delad S3/mock-lagring, SSM .env-sync, Gemini readyz
...
- @app/storage med MockStorage + AwsStorage delas mellan API och worker
- Workerns readUrl() ger presignerad S3-URL i aws-läge (fixar mock-s3 404)
- sync-env-from-ssm.py hämtar /cibello/prod/* och skriver .env; first-deploy.sh kör det i prod
- /readyz returnerar 503 om app.aamos.healthCheck() misslyckas
- docs/SECRETS.md med rotations- och SSM-regler
2026-08-12 17:28:58 +07:00
Sven (AAMOS AI)
7dda0fad00
fix(gemini): budget-check före bildhämtning så spärr triggars tidigt
2026-08-12 16:30:49 +07:00
Sven (AAMOS AI)
6c581bec1a
feat(cost-guard): global Gemini daily budget + EOC alarm; trial requires verified email
2026-08-12 06:43:32 +07:00
Sven (AAMOS AI)
81927b6cdc
fix(db): RDS-CA i poolen (app+migrator delar TLS)
2026-08-12 06:07:07 +07:00
Sven (AAMOS AI)
659d0f9290
feat(deploy): Gemini som committat prod-läge + hermetiska eval-fixtures
...
- config.ts: tillåt AAMOS_MODE=http|gemini i prod; mock förbjudet
- first-deploy.sh: Grind 1 accepterar gemini (kräv GEMINI_API_KEY);
Grind 5 kör eval:scan mot gemini; Grind 8 behandlar gemini som riktig AI
- gemini.ts: stöd för data-URLer (inline base64-bilder) i fetchOneImage
- eval-fixtures: 4 lokala bilder (fridge-1, fridge-2, label-1, receipt-1)
- scan-eval.ts: läser lokala fixtures, inga externa hämtningar
- capture-eval.ts: använder lokal fixture som data-URL
2026-08-12 04:10:10 +07:00
Sven (AAMOS AI)
9a9f8a6a3c
feat(worker/ai): Gemini-lärar-tier för scan/detect/allergen + shadow-capture
...
- Utöka GeminiAamosClient med ANALYZE_MEAL_IMAGE, READ_NUTRITION_LABEL,
READ_EXPIRY_DATE och READ_RECEIPT (vision-prompts mot kontraktsscheman).
- Lägg till apps/worker/src/lib/shadow-capture.ts: S3/local fallback,
imageTraining-gating, ingen PII, aldrig faila användarvägen.
- Integrera capture i scan-processorn efter lyckad runTask med consentFlags.
- Lägg till @aws-sdk/client-s3 i worker samt eval:capture-skript.
- Uppdatera eval:scan till Wikimedia Special:FilePath + redirect-following.
- Exkludera .terraform i brand-guard för att undvika false positives.
- Uppdatera gemini-test för DEDUPLICATE_INVENTORY som unsupported.
2026-08-12 02:51:05 +07:00
Sven (AAMOS AI)
d3d485ffe8
test(eoc-push): rätta sökväg till brand.config.json
2026-08-11 19:20:52 +07:00
Sven (AAMOS AI)
cb53784ec3
test(eoc-push): använd BRAND.name istället för hårdkodat Cibello
2026-08-11 19:19:55 +07:00
Sven (AAMOS AI)
ac919e9425
harden(eoc-push): fånga mappningsfel så pushen aldrig kastar
2026-08-11 18:44:01 +07:00
Sven (AAMOS AI)
90b23fcd7f
fix(eoc-push): interpolera {brand} + EOC-tone i pushad wall
2026-08-11 18:21:58 +07:00
Sven (AAMOS AI)
125192f24a
fix(eoc-push): mappa feedback-tidsstämpel till "skapad" per EOC-kontraktet
2026-08-11 17:27:53 +07:00
Sven (AAMOS AI)
af05f084b8
feat(worker): EOC push-agent for ops summary
...
- Add EOC_URL + EOC_PUSH_TOKEN config
- Add pushOpsSummaryToEoc processor
- Schedule PUSH_OPS_SUMMARY_TO_EOC every 2 minutes
- Add unit tests
2026-08-11 17:03:53 +07:00
Sven (AAMOS AI)
63d83e0d7c
ops(api): lägg till /ops/v1/health för EOC
2026-08-11 07:37:51 +07:00
Sven (AAMOS AI)
4a63c5cb67
cleanup(memory): impact läser bara egen userPreferences-rad
2026-08-11 07:28:25 +07:00
Sven (AAMOS AI)
95c934cbec
fix: robustisera cooking-sessions-analytics-test + rätta eventName-alias
2026-08-11 05:47:56 +07:00
Sven (AAMOS AI)
4116653b51
S6: i18n-paritet, provenans + eval, copy-skanning, fabricerade-minnes-eval
2026-08-11 05:20:27 +07:00
Sven (AAMOS AI)
f86a37dd33
S5: onboarding → minne + smaksignaler (user_stated)
2026-08-11 04:43:43 +07:00
Sven (AAMOS AI)
1e18146665
fix(recommendation-engine): S4-FIX — opersonliga vyer fungerar utan samtycke via depersonalize(weights)
2026-08-11 04:02:46 +07:00