docs(handoff): uppdatera med kostnadsspärr och verifiering
This commit is contained in:
+22
@@ -20,6 +20,12 @@ Roller: OpenClaw bygger. Extern granskare ("Sven", i Johans chatt) verifierar +
|
||||
- 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).
|
||||
- **Global Gemini dagsbudget:** `GEMINI_DAILY_BUDGET_USD=25`. Budget-check sker före varje
|
||||
AI-jobb i workern; vid överskridande stoppas jobbet, `gemini:daily:budget:alarm:<datum>`
|
||||
sätts i Redis, och ops-summary får `larm` + wall-tile `AI-budget` i `crit`.
|
||||
- **Trial efter verifiering:** Family 7-dagars trial startas först när användaren verifierar
|
||||
e-posten. En trial per verifierad e-post. Trial-rättigheter räknas mot samma
|
||||
`ai_usage_counters` som övriga planer.
|
||||
|
||||
## Hemligheter
|
||||
- SSM /cibello/prod/* (SecureString).
|
||||
@@ -41,12 +47,28 @@ Roller: OpenClaw bygger. Extern granskare ("Sven", i Johans chatt) verifierar +
|
||||
- [x] `https://api.cibello.app/healthz` och `/readyz` svarar.
|
||||
- [x] Röktest via HTTPS: registrering + token + recept fungerar.
|
||||
- [x] JWT- + DB-hemligheter roterade och verifierade.
|
||||
- [x] **Pre-launch cost-safeguards (bränn-spärr):**
|
||||
- `GEMINI_DAILY_BUDGET_USD=25` i `.env` och `.env.example`.
|
||||
- Budget-check före bildhämtning i `GeminiAamosClient` (`packages/ai-contracts/src/gemini.ts`).
|
||||
- `BudgetStore.raiseBudgetAlarm()` + `RedisBudgetStore`-implementation.
|
||||
- Ops-summary visar `AI-budget` wall-tile och `larm`-block vid överskridande.
|
||||
- Trial startas först vid e-postverifiering (`apps/api/src/routes/auth.ts`).
|
||||
- [x] **Verifierat i produktion:**
|
||||
- Gratisanvändare blockeras på 11:e AI-scanen (HTTP 429 `QUOTA_EXCEEDED`).
|
||||
- AI-jobb stoppas när `GEMINI_DAILY_BUDGET_USD` sätts till 0.001 USD.
|
||||
- `/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. **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.
|
||||
5. **Worker-S3-reader**: `readUrl` i `apps/worker/src/context.ts` pekar fortfarande på
|
||||
`/v1/mock-s3/` vilket ger 404 på riktiga S3-uppladdningar. För fullt skarpt
|
||||
bildflöde behöver den returnera presignerad S3-URL (jmf eval-fixturer som använder
|
||||
data URLs). Budget-spärren är verifierad trots detta; Gemini-anrop nås nu före
|
||||
bildhämtning.
|
||||
|
||||
## 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
|
||||
|
||||
Reference in New Issue
Block a user