#!/bin/bash
# Post-process all extractions: tokenize + generate-design-md + generate-showcase
# Adds new brands to catalog and runs enrichment

set -u
cd /home/paul/clone-architect

LOGDIR="logs/postproc-$(date +%Y%m%d-%H%M)"
mkdir -p "$LOGDIR"

echo "🔧 Post-processing all extractions..."

SUCCESS=0
SKIPPED=0
FAILED=0

for dir in extractions/*/; do
  domain=$(basename "$dir")
  if [ -f "$dir/raw-css.json" ]; then
    if npx tsx scripts/tokenize.ts "$domain" > "$LOGDIR/$domain.tok.log" 2>&1; then
      if npx tsx scripts/generate-design-md.ts "$domain" > "$LOGDIR/$domain.dmd.log" 2>&1; then
        SUCCESS=$((SUCCESS+1))
        echo "  ✅ $domain"
      else
        FAILED=$((FAILED+1))
        echo "  ❌ $domain (design-md failed)"
      fi
    else
      FAILED=$((FAILED+1))
      echo "  ❌ $domain (tokenize failed)"
    fi
  else
    SKIPPED=$((SKIPPED+1))
    echo "  ⏭  $domain (no raw-css.json)"
  fi
done

echo ""
echo "📊 Tokenize + DESIGN.md: $SUCCESS OK · $FAILED FAIL · $SKIPPED SKIP"
echo ""
echo "🎨 Generating showcases..."

SHOW_OK=0
SHOW_FAIL=0
for dir in extractions/*/; do
  domain=$(basename "$dir")
  if [ -f "$dir/DESIGN.md" ]; then
    if npx tsx scripts/generate-showcase.ts "$domain" > "$LOGDIR/$domain.show.log" 2>&1; then
      SHOW_OK=$((SHOW_OK+1))
    else
      SHOW_FAIL=$((SHOW_FAIL+1))
    fi
  fi
done
echo "📊 Showcases: $SHOW_OK OK · $SHOW_FAIL FAIL"
