- Enhance text contrast (darker grey #2d2b27)
- Soften footer with warmer dark (#3a3833)
- Use warmer primary blue (#3d5a80)
- Add subtle background gradient for depth
- Strengthen table header styling
- Increase logo size to 95px for better visibility
- Fix AI matcher to handle acronyms in parentheses (e.g., NHP)
- Improve matching rules for CIC/LLP legal suffixes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace fuzzy string matching with semantic AI matching to fix false
positives where similar-sounding but different companies were matched
(e.g., "Families First CiC" incorrectly matching "FAMILIES AGAINST
CONFORMITY LTD").
Changes:
- Add ICompanyNameMatcherService interface and AICompanyNameMatcherService
implementation using Claude Sonnet 4 for semantic company name comparison
- Add SemanticMatchResult and related models for AI match results
- Update CompanyVerifierService to use AI matching with fuzzy fallback
- Add detection for public sector employers, charities, and self-employed
entries that cannot be verified via Companies House
- Update tests to work with new AI matcher integration
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>