No description
Fixes based on testing 12 WSJ subscription campaign assets across 4 concepts and multiple formats (320x50 to 1080x1920): - wsj_color_usage: Clarify Pop-on-Jewel is the primary approved combination, not a tier-mixing violation - wsj_logo_compliance: Marketing assets use 30% longest side rule (not 60% standalone rule); fix stacked logotype sizing too - wsj_capitalization_punctuation: Add explicit decision tree for Title Case vs Sentence Case — complete sentences use sentence case - wsj_layout_composition: Add graphic/illustrative as valid design variation; add format awareness for small banners - wsj_imagery_expression: Broaden neutral category to explicitly cover graphic/illustrative campaign assets - wsj_typography_hierarchy: Add format awareness so small formats aren't penalised for fewer hierarchy levels Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| __pycache__ | ||
| backend | ||
| config | ||
| frontend | ||
| output | ||
| uploads | ||
| .gitignore | ||
| ai_qc.service | ||
| apache_config.conf | ||
| AUTH_FIX_GUIDE.md | ||
| backend_backup_20251206_153116.tar.gz | ||
| CLAUDE.md | ||
| CLAUDE_AMAZON.md | ||
| CLAUDE_BOOTS.md | ||
| CLAUDE_DOW_JONES.md | ||
| CLAUDE_LOREAL.md | ||
| CLEANUP_SUMMARY.md | ||
| config.env | ||
| debug_mode.txt | ||
| DEPLOYMENT_RESTRUCTURE.md | ||
| DEPLOYMENT_STEPS.md | ||
| DEV_PROD_SETUP.md | ||
| FOLDER_STRUCTURE.md | ||
| headless_curl_examples.sh | ||
| IMPLEMENTATION_SUMMARY.md | ||
| MIGRATION_CHECKLIST.md | ||
| MIGRATION_GUIDE.md | ||
| MIGRATION_SUMMARY.md | ||
| msal_pkce_flow.md | ||
| README.md | ||
| REORGANIZATION_COMPLETE.md | ||
| requirements.txt | ||
| server.log | ||
| server_debug.log | ||
| web_ui.html | ||
Visual AI QC - Repository Structure
⚠️ Important: Work in backend/ Directory
All development and production code is now in the backend/ directory.
Directory Structure
ai_qc/
├── backend/ # 👈 MAIN APPLICATION - Work here!
│ ├── api_server.py # Flask application
│ ├── llm_config.py # LLM configuration (Gemini model settings)
│ ├── profile_config.py # Profile management
│ ├── visual_qc_apps/ # QC check modules (48 checks)
│ ├── profiles/ # QC profile configurations (9 profiles)
│ ├── brand_guidelines/ # Reference assets
│ ├── scripts/ # Deployment scripts
│ ├── config/ # Environment configs
│ ├── uploads/ # File uploads (production)
│ ├── output/ # Generated reports (production)
│ └── ... # All other application files
│
├── frontend/ # Frontend-only deployment (optional)
├── config/ # Legacy config (deprecated)
└── CLAUDE.md # Development guide
Quick Start
Local Development
cd backend/
./scripts/run-local.sh
# Access at http://localhost:7183
Production Deployment
# SSH to production server
ssh user@server
# Deploy backend to /opt/ai_qc
cd /opt/ai_qc
git pull origin main
cd backend
sudo systemctl restart ai_qc.service
Why This Structure?
Previously, we had duplicate files in both root and backend/ directories, causing sync issues. Now:
✅ Single source of truth: All code in backend/
✅ No sync issues: No duplicate files to keep in sync
✅ Clear structure: Production deploys from backend/
✅ Simpler workflow: One place to make changes
Documentation
- Full Documentation: See
backend/CLAUDE.md - Deployment Guide: See
backend/DEV_PROD_SETUP.md - API Endpoints: See
backend/README.md
Making Changes
- Navigate to
backend/ - Make your changes
- Test locally with
./scripts/run-local.sh - Commit and push
- Deploy to production:
git pullon server
🚀 Always work in the backend/ directory!