ci: trigga på master + formatfix inför Gitea Actions
CI / Typecheck, test & build (push) Failing after 2s
CI / Typecheck, test & build (push) Failing after 2s
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
# 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
|
||||
- SSH prod: `ssh cibello-prod` (nyckel ~/.ssh/cibello-prod-key, user ubuntu)
|
||||
- OpenClaw-workspace: cibello-work/cibello
|
||||
@@ -12,6 +14,7 @@ Roller: OpenClaw bygger. Extern granskare ("Sven", i Johans chatt) verifierar +
|
||||
- `.env` på servern härleds ur SSM via `infrastructure/deployment/sync-env-from-ssm.py`
|
||||
|
||||
## 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)
|
||||
@@ -20,6 +23,7 @@ Roller: OpenClaw bygger. Extern granskare ("Sven", i Johans chatt) verifierar +
|
||||
- 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).
|
||||
@@ -31,6 +35,7 @@ Roller: OpenClaw bygger. Extern granskare ("Sven", i Johans chatt) verifierar +
|
||||
`ai_usage_counters` som övriga planer.
|
||||
|
||||
## Hemligheter
|
||||
|
||||
- SSM /cibello/prod/* (SecureString).
|
||||
- **ROTERADE (Grupp A):** JWT_ACCESS_SECRET, JWT_REFRESH_SECRET, ENTITLEMENT_SIGNING_SECRET,
|
||||
db-password (cibello_admin). Både RDS och SSM uppdaterade; appen verifierad med nya värden.
|
||||
@@ -39,6 +44,7 @@ Roller: OpenClaw bygger. Extern granskare ("Sven", i Johans chatt) verifierar +
|
||||
- SMTP-pass för hello@cibello.app.
|
||||
|
||||
## KLART
|
||||
|
||||
- [x] **Skarpt bildflöde:** delad lagringsmodul `@app/storage` (MockStorage + AwsStorage) används av både API och worker. Workerns `readUrl()` ger nu riktig presignerad S3-URL i `aws`-läge istället för `/v1/mock-s3/...`.
|
||||
- [x] **SSM = enda sanningskälla:** `infrastructure/deployment/sync-env-from-ssm.py` hämtar `/cibello/prod/*` och skriver `/opt/cibello-platform/.env`. `first-deploy.sh` kör detta i produktion.
|
||||
- [x] **Gemini-nyckel hälsokoll:** `/readyz` returnerar 503 om `app.aamos.healthCheck()` misslyckas (t.ex. ogiltig Gemini-nyckel).
|
||||
@@ -66,6 +72,7 @@ Roller: OpenClaw bygger. Extern granskare ("Sven", i Johans chatt) verifierar +
|
||||
- `/ops/v1/summary` visar `AI-budget` tile och `budget_exceeded`-larm i `crit`.
|
||||
|
||||
## PENDING (i ordning)
|
||||
|
||||
1. **Egen Gemini-nyckel + SMTP-pass** — Johan levererar värden lokalt; claw skriver till SSM/.env.
|
||||
- Nuvarande `.env` innehåller fortfarande den delade `/openclaw`-Gemini-nyckeln.
|
||||
2. **Skarpt end-to-end-test** när Grupp B är på plats: riktig scan → S3 → Gemini → resultat + träningspar i `s3://cibello-production/training/cibello/`.
|
||||
@@ -74,5 +81,6 @@ Roller: OpenClaw bygger. Extern granskare ("Sven", i Johans chatt) verifierar +
|
||||
5. **Ö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.
|
||||
|
||||
Reference in New Issue
Block a user