# Cibello — HANDOFF / DEPLOY-STATE Cibello = AI-matapp (recept + bildscanning av kylskåp/etiketter/kvitto/utgångsdatum). pnpm/turbo-monorepo: Fastify+Drizzle+BullMQ (apps/api, apps/worker), Expo (apps/mobile). Roller: OpenClaw bygger. Extern granskare ("Sven", i Johans chatt) verifierar + ger promptar. ## Var saker finns - Prod-server (EC2): 13.48.40.1, repo /opt/cibello-platform, HEAD 9a9f8a6 - OpenClaw-workspace: cibello-work/cibello - Region: eu-north-1 ## Infra (uppe) - EIP 13.48.40.1 → api.cibello.app + admin.cibello.app - CloudFront → cibello.app (marknadssajt, S3 cibello-web) - RDS cibello-prod-db (privat subnät, krypterad, SSL krävs: sslmode=require + NODE_EXTRA_CA_CERTS) - S3: cibello-production (app + training/cibello/-prefix), cibello-web (sajt) - Route53 zon cibello.app. Mail: Mailu mail.aamos.systems (hello@cibello.app) ## AI-modell (viktigt) - AAMOS Core kan INTE serva Cibello (/v1/tasks 404, ej prod-duglig). Lansering kör GEMINI. - AAMOS_MODE=gemini. GeminiAamosClient (commit 9a9f8a6) täcker scan/etikett/kvitto/utgång. - Shadow-capture skriver träningspar → s3://cibello-production/training/cibello/. Insamling PÅ för admin/beta (imageTraining=true); publika användare följer samtycke (gate ej byggd än). - FAS 2–3 (distillation, cutover) = AMOS-agentens jobb, senare. Bygg INTE här. ## Hemligheter - SSM /cibello/prod/* (SecureString). Gemini-nyckel = f.n. återanvänd /openclaw/-nyckel (ROTERA → egen). ## KLART - FAS 1 byggt (9a9f8a6): GeminiAamosClient + shadow-capture.ts + scans-integration. - Server prepped: Node 22, pnpm, Redis. S3 via IAM-instansroll (aws s3 ls OK). RDS SSL löst. - Giltig Gemini-nyckel i SSM /cibello/prod/gemini-api-key + /opt/cibello-platform/.env. ## PENDING (kritiskt, i ordning) 1. Hermetiska eval-bilder: sviten hämtar externt (429/404) → gör Grind 5 opålitlig. Använd LOKALA committade fixtures. (Blockerar deploy nu.) 2. gemini som committat prod-läge: first-deploy.sh Grind 1 (~L118) + Grind 8 REQUIRE_REAL (~L281) hårdkodar "http". Patchat bara på servern → COMMITTA i repot. 3. Kör first-deploy.sh (grind 0–8) till grönt. 4. ROTERA exponerade hemligheter (gemini/JWT/SMTP/db-password) — exponerade i transkript vid debug. 5. Före publika användare: end-user samtyckes-gate (bildträning) + in-app allergen-disclaimer. ## Så här återupptar en färsk session Läs denna fil + `git log --oneline -8` + senaste prompt från Sven. Arbeta stramt. Echo ALDRIG .env/hemligheter (`set +x`, variabler, aldrig `cat .env`). Uppdatera denna fil innan sessionen tar slut.