Files
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

46 lines
1.7 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# Varumärkesvakt (beslut D-026): varumärkesnamn får ENDAST finnas i brand.config.json.
# Körs i CI och kan köras lokalt: ./scripts/brand-guard.sh
#
# Vaktar två saker:
# 1. Det gamla arbetsnamnet får aldrig återinträda någonstans.
# 2. Det AKTUELLA namnet i brand.config.json får inte hårdkodas i kod
# (README/docs får nämna det; kod, seed och infrastruktur får det inte).
set -euo pipefail
cd "$(dirname "$0")/.."
FAIL=0
# 1. Historiska/förbjudna namn uppdatera listan vid namnbyte.
FORBIDDEN=("matrivo" "matappen")
for name in "${FORBIDDEN[@]}"; do
HITS=$(grep -ril "$name" . \
--exclude-dir=node_modules --exclude-dir=.git --exclude-dir=dist \
--exclude-dir=.turbo --exclude-dir=.expo --exclude-dir=.data \
--exclude-dir=.terraform \
--exclude=brand-guard.sh 2>/dev/null || true)
if [ -n "$HITS" ]; then
echo "FEL: förbjudet namn '$name' hittades i:"
echo "$HITS"
FAIL=1
fi
done
# 2. Aktuellt namn utanför brand.config.json i kod/infrastruktur.
CURRENT=$(node -e "console.log(require('./brand.config.json').name)")
HITS=$(grep -rl "$CURRENT" apps packages infrastructure \
--include="*.ts" --include="*.tsx" --include="*.sql" --include="*.yml" \
--include="*.yaml" --include="Dockerfile*" \
--exclude-dir=node_modules --exclude-dir=dist --exclude-dir=.turbo 2>/dev/null || true)
if [ -n "$HITS" ]; then
echo "FEL: aktuella namnet '$CURRENT' är hårdkodat utanför brand.config.json i:"
echo "$HITS"
echo "Använd BRAND.name / {brand}-interpolation i stället."
FAIL=1
fi
if [ "$FAIL" -eq 0 ]; then
echo "Varumärkesvakt: OK namnet lever endast i brand.config.json."
fi
exit $FAIL