- Fix the demo knowledge provider's tokenizer: a plain [a-z0-9]+ regex silently
dropped accented characters, splitting French words like "véhicule" into "v" +
"hicule" and mangling retrieval for nearly every French query. Now matches the
Latin-1 accented range too.
- Reweight section scoring so the body match (the actual substance of a section)
outranks a heading/title match (a shallow structural hint) rather than the reverse
-- confirmed via the brief's exact validation question that the old weighting
misranked the damage procedure behind a topically-adjacent document in all three
languages (nl-BE: a checkout section; en-GB/fr-BE: the return procedure), purely
because a generic word like "vehicle"/"voertuig" happened to sit in a heading/title.
- Remove leftover "MobilityOps" and "PoC" mentions from 5 English and 4 NL/FR
procedure documents -- knowledge-base prose is visible UI content and was missed by
the earlier rebrand.
- Add regression tests: the brief's exact NL/EN/FR damage question must ground on the
damage procedure as the *primary* source (not just appear in the top 3), and no
procedure file may contain "MobilityOps" or "PoC".
151 backend tests, Ruff, mypy green.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>