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
Sven (AAMOS AI)
1e18146665
fix(recommendation-engine): S4-FIX — opersonliga vyer fungerar utan samtycke via depersonalize(weights)
2026-08-11 04:02:46 +07:00