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.
|
- AAMOS_MODE=gemini. GeminiAamosClient täcker scan/etikett/kvitto/utgång.
|
||||||
- Shadow-capture skriver träningspar → s3://cibello-production/training/cibello/. Insamling PÅ
|
- 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).
|
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
|
## Hemligheter
|
||||||
- SSM /cibello/prod/* (SecureString).
|
- 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] `https://api.cibello.app/healthz` och `/readyz` svarar.
|
||||||
- [x] Röktest via HTTPS: registrering + token + recept fungerar.
|
- [x] Röktest via HTTPS: registrering + token + recept fungerar.
|
||||||
- [x] JWT- + DB-hemligheter roterade och verifierade.
|
- [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)
|
## PENDING (i ordning)
|
||||||
1. **Egen Gemini-nyckel + SMTP-pass** — Johan levererar värden lokalt; claw skriver till SSM/.env.
|
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.
|
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.
|
3. **Säkerhetsgranskning**: öppna portar, Caddy-konfig, IAM, S3-bucket-policy.
|
||||||
4. **Övervakning/larm**: logga fel, sentry, health-check alert.
|
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
|
## 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
|
Läs denna fil + `git log --oneline -8` + senaste prompt från Sven. Arbeta stramt. Echo ALDRIG
|
||||||
|
|||||||
Reference in New Issue
Block a user