Files
Cibello-app/HANDOFF.md
T
2026-08-12 06:07:07 +07:00

2.9 KiB

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 23c4a78
  • 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)
  • S3: cibello-production (app + training/cibello/-prefix), cibello-web (sajt)
  • Route53 zon cibello.app. Mail: Mailu mail.aamos.systems (hello@cibello.app)
  • Caddy reverse proxy på prod-servern: TLS (Let's Encrypt) → 127.0.0.1:4000

AI-modell

  • AAMOS_MODE=gemini. GeminiAamosClient 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).

Hemligheter

  • SSM /cibello/prod/* (SecureString). Gemini-nyckel = f.n. återanvänd /openclaw/-nyckel (ROTERA → egen).

KLART

  • FAS 1 byggt: GeminiAamosClient + shadow-capture.ts + scans-integration.
  • Gemini som committat prod-läge (AAMOS_MODE=gemini).
  • Hermetiska eval-fixtures committade.
  • RDS SSL fixat vid källan: packages/database/src/client.ts strippar sslmode från URL och skapar explicit ssl-objekt från DATABASE_CA_CERT eller rejectUnauthorized: false.
  • first-deploy.sh uppdaterad för RDS-SSL + DATABASE_CA_CERT + pg_dump 16.
  • Vitest-konfig för apps/api och apps/worker laddar root .env så tester hittar TEST_DATABASE_URL även i produktion.
  • Prod-server: Node 22, pnpm, Redis, postgresql-client-16, Caddy.
  • DEPLOY_MODE=production REQUIRE_REAL=1 ./infrastructure/deployment/first-deploy.shALLA GRINDAR GRÖNA.
  • https://api.cibello.app/healthz och /readyz svarar.
  • Röktest via HTTPS: registrering + token + recept fungerar.

PENDING (i ordning)

  1. Rotera exponerade hemligheter (gemini-nyckel, JWT-secrets, db-password, eventuellt SMTP). Några hemligheter exponerades i transkript/debug under felsökningen.
  2. End-user samtyckes-gate för bildträning + in-app allergen-disclaimer före publik lansering.
  3. Säkerhetsgranskning: öppna portar, Caddy-konfig, IAM, S3-bucket-policy.
  4. Övervakning/larm: logga fel, sentry, health-check alert.

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.