Commit Graph

220 Commits

Author SHA1 Message Date
Sven (AAMOS AI) 716e768cd0 feat(deploy): aktivera dedikerad Cibello-Gemini-nyckel + SMTP, ersätt /openclaw-referens 2026-08-12 20:07:32 +07:00
Sven (AAMOS AI) dee687c031 fix(deploy): lägg till OPS_TOKEN i SSM-sync 2026-08-12 17:37:06 +07:00
Sven (AAMOS AI) 6e2d794130 feat(storage,deploy): delad S3/mock-lagring, SSM .env-sync, Gemini readyz
- @app/storage med MockStorage + AwsStorage delas mellan API och worker

- Workerns readUrl() ger presignerad S3-URL i aws-läge (fixar mock-s3 404)

- sync-env-from-ssm.py hämtar /cibello/prod/* och skriver .env; first-deploy.sh kör det i prod

- /readyz returnerar 503 om app.aamos.healthCheck() misslyckas

- docs/SECRETS.md med rotations- och SSM-regler
2026-08-12 17:28:58 +07:00
Sven (AAMOS AI) 535e3e36e8 docs(handoff): uppdatera med kostnadsspärr och verifiering 2026-08-12 16:55:46 +07:00
Sven (AAMOS AI) 7dda0fad00 fix(gemini): budget-check före bildhämtning så spärr triggars tidigt 2026-08-12 16:30:49 +07:00
Sven (AAMOS AI) 6c581bec1a feat(cost-guard): global Gemini daily budget + EOC alarm; trial requires verified email 2026-08-12 06:43:32 +07:00
Sven (AAMOS AI) 2cd00f0106 docs(handoff): hemlighetsrotation Grupp A klar, Grupp B väntar på Johan 2026-08-12 06:21:49 +07:00
Sven (AAMOS AI) 81927b6cdc fix(db): RDS-CA i poolen (app+migrator delar TLS) 2026-08-12 06:07:07 +07:00
Sven (AAMOS AI) 983f3fb2aa fix(database): explicit RDS SSL via NODE_EXTRA_CA_CERTS 2026-08-12 04:48:42 +07:00
Sven (AAMOS AI) c5a8530fbf fix(deploy): brand-guard compat + db_reachable med RDS SSL + first-deploy SSL 2026-08-12 04:22:24 +07:00
Sven (AAMOS AI) 659d0f9290 feat(deploy): Gemini som committat prod-läge + hermetiska eval-fixtures
- config.ts: tillåt AAMOS_MODE=http|gemini i prod; mock förbjudet
- first-deploy.sh: Grind 1 accepterar gemini (kräv GEMINI_API_KEY);
  Grind 5 kör eval:scan mot gemini; Grind 8 behandlar gemini som riktig AI
- gemini.ts: stöd för data-URLer (inline base64-bilder) i fetchOneImage
- eval-fixtures: 4 lokala bilder (fridge-1, fridge-2, label-1, receipt-1)
- scan-eval.ts: läser lokala fixtures, inga externa hämtningar
- capture-eval.ts: använder lokal fixture som data-URL
2026-08-12 04:10:10 +07:00
Sven (AAMOS AI) 3259f09f7d docs: HANDOFF/deploy-state för sessionskontinuitet 2026-08-12 03:50:28 +07:00
Sven (AAMOS AI) 9a9f8a6a3c feat(worker/ai): Gemini-lärar-tier för scan/detect/allergen + shadow-capture
- Utöka GeminiAamosClient med ANALYZE_MEAL_IMAGE, READ_NUTRITION_LABEL,
  READ_EXPIRY_DATE och READ_RECEIPT (vision-prompts mot kontraktsscheman).
- Lägg till apps/worker/src/lib/shadow-capture.ts: S3/local fallback,
  imageTraining-gating, ingen PII, aldrig faila användarvägen.
- Integrera capture i scan-processorn efter lyckad runTask med consentFlags.
- Lägg till @aws-sdk/client-s3 i worker samt eval:capture-skript.
- Uppdatera eval:scan till Wikimedia Special:FilePath + redirect-following.
- Exkludera .terraform i brand-guard för att undvika false positives.
- Uppdatera gemini-test för DEDUPLICATE_INVENTORY som unsupported.
2026-08-12 02:51:05 +07:00
Sven (AAMOS AI) 515dd12cc7 infra(vpc): CIDR 10.20.0.0/16 – undvik krock med aplatform-platform-vpc
Publikt subnät 10.20.1.0/24, privata 10.20.11.0/24 + 10.20.12.0/24
2026-08-11 23:55:27 +07:00
Sven (AAMOS AI) 5b35df24a7 cibello(terraform): add lifecycle ignore_changes for placeholder SSM secrets
Prevent Terraform from overwriting externally-managed secret values
2026-08-11 23:31:43 +07:00
Sven (AAMOS AI) 99c73cada0 cibello(terraform): replace SES with Mailu DNS records
- Remove aws_ses_configuration_set, aws_ses_domain_identity, aws_ses_domain_dkim

- Remove SES verification and DKIM Route53 records

- Remove SES outputs

- Add MX, SPF, DKIM, DMARC records for cibello.app -> mail.aamos.systems

- DKIM key split into two 255-char strings per Route53 limit

No apply; plan saved as cibello.plan
2026-08-11 22:51:20 +07:00
Sven (AAMOS AI) 8168f64437 docs: add FAS 1 infrastructure plan report 2026-08-11 21:39:00 +07:00
Sven (AAMOS AI) 29637ffc89 infra: fix ses dkim records output 2026-08-11 21:37:56 +07:00
Sven (AAMOS AI) d1b1748426 infra: ignore terraform local state and provider cache 2026-08-11 21:37:32 +07:00
Sven (AAMOS AI) 562b9ab6fc infra: fix oac signing protocol and route53 record output 2026-08-11 21:37:10 +07:00
Sven (AAMOS AI) e62e63739e infra: add terraform outputs 2026-08-11 21:35:46 +07:00
Sven (AAMOS AI) ff77fe0c08 infra: add route53, ses, acm, cloudfront and dns records 2026-08-11 21:35:31 +07:00
Sven (AAMOS AI) 32d93e2a0c infra: add ssm secrets and placeholders 2026-08-11 21:34:13 +07:00
Sven (AAMOS AI) 02056b2d76 infra: add least-privilege iam role and instance profile 2026-08-11 21:33:45 +07:00
Sven (AAMOS AI) c567092180 infra: add rds and s3 resources 2026-08-11 21:33:19 +07:00
Sven (AAMOS AI) dc3c3f1847 infra: add ec2, eip, key pair and docker bootstrap 2026-08-11 21:32:20 +07:00
Sven (AAMOS AI) b408caef2a infra: add vpc, subnets, routing and security groups 2026-08-11 21:31:46 +07:00
Sven (AAMOS AI) cc948c258a infra: add aws providers and default tags 2026-08-11 21:31:02 +07:00
Sven (AAMOS AI) d3d485ffe8 test(eoc-push): rätta sökväg till brand.config.json 2026-08-11 19:20:52 +07:00
Sven (AAMOS AI) cb53784ec3 test(eoc-push): använd BRAND.name istället för hårdkodat Cibello 2026-08-11 19:19:55 +07:00
Sven (AAMOS AI) c60158801d gapfill: jordnötssmör-cellen fylld (4 recept) 2026-08-11 19:19:23 +07:00
Sven (AAMOS AI) a7b53c7ba3 gapfill(peanut): rikare middagsrätter som target 2026-08-11 19:16:39 +07:00
Sven (AAMOS AI) ac919e9425 harden(eoc-push): fånga mappningsfel så pushen aldrig kastar 2026-08-11 18:44:01 +07:00
Sven (AAMOS AI) 4adde4faff chore(ops): feedback.senaste upp till 10 for EOC-panelen 2026-08-11 18:22:07 +07:00
Sven (AAMOS AI) 90b23fcd7f fix(eoc-push): interpolera {brand} + EOC-tone i pushad wall 2026-08-11 18:21:58 +07:00
Sven (AAMOS AI) 8586ed3411 fix(compose): mappa admin-porten mot 8080 (non-root nginx) 2026-08-11 17:52:23 +07:00
Sven (AAMOS AI) c4fddf0eeb fix(docker): skriv nginx-pid till /tmp sa admin kor non-root 2026-08-11 17:52:19 +07:00
Sven (AAMOS AI) c29ab778a0 harden(docker): non-root USER i Dockerfile.admin 2026-08-11 17:29:00 +07:00
Sven (AAMOS AI) 125192f24a fix(eoc-push): mappa feedback-tidsstämpel till "skapad" per EOC-kontraktet 2026-08-11 17:27:53 +07:00
Sven (AAMOS AI) af05f084b8 feat(worker): EOC push-agent for ops summary
- Add EOC_URL + EOC_PUSH_TOKEN config
- Add pushOpsSummaryToEoc processor
- Schedule PUSH_OPS_SUMMARY_TO_EOC every 2 minutes
- Add unit tests
2026-08-11 17:03:53 +07:00
Sven (AAMOS AI) 4eddcfbefe docs: pre-launch readiness report 2026-08-11 07:40:00 +07:00
Sven (AAMOS AI) 63d83e0d7c ops(api): lägg till /ops/v1/health för EOC 2026-08-11 07:37:51 +07:00
Sven (AAMOS AI) 714d0a2e5b docs(security): genomgång av hardening-checklist inför prod 2026-08-11 07:30:50 +07:00
Sven (AAMOS AI) 8627331cc9 docs(status): uppdatera till nuläge (S1–S6, 254 recept, ops+wall, EOC) 2026-08-11 07:28:59 +07:00
Sven (AAMOS AI) 4a63c5cb67 cleanup(memory): impact läser bara egen userPreferences-rad 2026-08-11 07:28:25 +07:00
Sven (AAMOS AI) 989c242d2c gapfill: importera nollcells-recept i seed 2026-08-11 06:42:09 +07:00
Sven (AAMOS AI) a00f0a59ab gapfill: generera+verifiera nollceller (export) 2026-08-11 06:39:58 +07:00
Sven (AAMOS AI) 95c934cbec fix: robustisera cooking-sessions-analytics-test + rätta eventName-alias 2026-08-11 05:47:56 +07:00
Sven (AAMOS AI) 4116653b51 S6: i18n-paritet, provenans + eval, copy-skanning, fabricerade-minnes-eval 2026-08-11 05:20:27 +07:00
Sven (AAMOS AI) f86a37dd33 S5: onboarding → minne + smaksignaler (user_stated) 2026-08-11 04:43:43 +07:00