Commit graph

4 commits

Author SHA1 Message Date
nickviljoen
66f1d1480b Add dedicated text_product_overlap check for L'Oreal profile
Revert text_readability to original (overlap is a layout issue, not a
readability one — LLM kept scoring it Pass because text was readable).

New text_product_overlap check uses a step-by-step approach:
1. Define the product hero zone (including translucent/glass elements)
2. Identify all marketing text
3. Check spatial overlap between text and hero zone
4. Compare good vs bad layout patterns

L'Oreal Static profile now has 4 checks at 2.5 weight each (was 3
checks at 3.33). Total check count: 66.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-09 10:46:13 +02:00
nickviljoen
a580d4bb0f Revert L'Oreal profile to 3 checks and add hidden text detection
Reverted loreal_static from 2-check (visual_readability_contrast) to
3-check setup (language_consistency, text_readability, background_contrast)
to avoid score dilution. Updated text_readability and background_contrast
prompts from POS-focused to digital marketing, and added critical hidden/
invisible text detection (black-on-black, white-on-white scanning).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 12:28:57 +02:00
nickviljoen
8c9401bf3c Add combined check, client-scoped assets, UI restructure, reporting, and report consolidation
- Create visual_readability_contrast combined check merging text readability
  and background contrast into a single LLM call for L'Oreal Static profile
- Update loreal_static.json to use combined check (2 checks, 100-point scale)
- Add client_id filtering to brand guidelines (upload, fetch, backfill migration)
- Restructure settings modal from 5 tabs to 4: Profile, Create New Profile,
  Reference Assets, Reporting (removed Model Selection, merged Tools into Profile)
- Add GET /api/profile_usage_stats endpoint with summary cards and recent analyses
- Add POST /api/consolidate_reports endpoint generating HTML summary with
  pass/fail highlighting from multiple selected reports
- Add report selection checkboxes and consolidation controls to saved files list

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 19:10:32 +02:00
nickviljoen
08a9901d70 Create L'Oréal Static profile and update client configurations
Created new L'Oréal Static profile (loreal_static.json):
- Focused 3-check profile for L'Oréal digital static assets
- Checks: language_consistency, text_readability_general, background_contrast_general
- Weighting: 3.34, 3.33, 3.33 (total 10.0 for 100-point scale)
- All checks use Gemini LLM

Updated client_config.py:
- L'Oréal: Added 'loreal_static' profile, kept 'static_general', removed 'general_check'
- Diageo: Added 'static_general', removed 'general_check'
- Unilever: Added 'static_general', removed 'general_check'
- General: Added 'static_general', removed 'general_check'

Result:
- Static General (10 checks) now available to ALL clients
- L'Oréal Static (3 checks) exclusive to L'Oréal
- General Check profile removed from all clients (deprecated)

Profile distribution by client:
- Diageo: diageo_key_visual, diageo_packaging, static_general
- Unilever: unilever_key_visual, unilever_packaging, static_general
- L'Oréal: loreal_static, static_general
- General: static_general, inclusive_accessibility

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-02 11:59:47 +02:00