- Urgency check now runs before dates check in label classifier
("urgency messaging (to replace dates)" was matching as "dates")
- Handle unlabeled dates rows (empty column A) by inferring from position
after tagline rows
- Stop parsing at "Print Day 4" sub-section boundary to prevent
overwriting main message data
Message B / DE now correctly returns "8. - 11. Juli" instead of
"Nur noch heute" (urgency text from Print Day 4 section).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- New localization_processor.py: parses Excel localization matrices with
MESSAGE A/B sections, extracting expected headline, dates, logo, legal
per country
- Excel files uploaded as reference assets are auto-detected and parsed
as localization matrices if they contain MESSAGE A/B structure
- During analysis, cross-references media plan creative_name (Message A/B)
and country with parsed matrix to inject expected copy into QC prompts
- LLM checks can now verify asset text matches the correct message version
and market localization
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>