fix: knowledge retrieval accuracy and remaining brand/PoC leaks in procedure docs

- 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>
This commit is contained in:
NuklearRabbit
2026-08-03 21:54:15 +02:00
co-authored by Claude Sonnet 5
parent 6deb95524d
commit e6539d17b6
11 changed files with 69 additions and 14 deletions
@@ -22,4 +22,4 @@ Damage or a technical warning requires a blocked state. A reached service thresh
## 4. Follow-up
The return automation may create a cleaning or maintenance follow-up, but MobilityOps remains the source of truth for the vehicle state.
The return automation may create a cleaning or maintenance follow-up, but Fleet Ops remains the source of truth for the vehicle state.
@@ -14,7 +14,7 @@ When a vehicle returns with visible or reported damage, mark damage in the retur
## 2. Evidence
Record at least four photographs in the source inspection system: full affected side, close view, wider context and vehicle registration. MobilityOps may store only the evidence reference in this PoC.
Record at least four photographs in the source inspection system: full affected side, close view, wider context and vehicle registration. Fleet Ops stores only the evidence reference in this demo environment.
## 3. Escalation
@@ -18,4 +18,4 @@ Inspect windows, lights, tyres and bodywork while cleaning. Report newly observe
## 3. Completion
Cleaning completion alone does not make a blocked or maintenance vehicle available. MobilityOps derives availability from all active restrictions.
Cleaning completion alone does not make a blocked or maintenance vehicle available. Fleet Ops derives availability from all active restrictions.
@@ -14,7 +14,7 @@ The customer identity and valid driving licence must be verified in the source p
## 2. Data minimisation
MobilityOps records only completion status and source references for this PoC. It does not store identity-document images.
Fleet Ops records only completion status and source references for this demo environment. It does not store identity-document images.
## 3. Missing information
@@ -14,7 +14,7 @@ Two reserved or active bookings for the same vehicle may not overlap. Imported l
## 2. Resolution
Operations reviews both bookings, confirms source-system ownership and reassigns or cancels one booking in the authoritative booking system. MobilityOps records the reviewed outcome.
Operations reviews both bookings, confirms source-system ownership and reassigns or cancels one booking in the authoritative booking system. Fleet Ops records the reviewed outcome.
## 3. Safety
@@ -14,7 +14,7 @@ Lorsqu'un véhicule revient avec des dommages visibles ou signalés, marquez le
## 2. Preuves
Enregistrez au moins quatre photographies dans le système d'inspection source : côté affecté en entier, gros plan, contexte plus large et plaque d'immatriculation. Fleet Ops ne peut stocker que la référence à cette preuve dans ce PoC.
Enregistrez au moins quatre photographies dans le système d'inspection source : côté affecté en entier, gros plan, contexte plus large et plaque d'immatriculation. Fleet Ops ne peut stocker que la référence à cette preuve dans cet environnement de démo.
## 3. Escalade
@@ -14,7 +14,7 @@ L'identité du client et un permis de conduire valide doivent être vérifiés d
## 2. Minimisation des données
Fleet Ops n'enregistre dans ce PoC que le statut d'achèvement et les références sources. Aucune image de document d'identité n'est stockée.
Fleet Ops n'enregistre dans cet environnement de démo que le statut d'achèvement et les références sources. Aucune image de document d'identité n'est stockée.
## 3. Informations manquantes
@@ -14,7 +14,7 @@ Wanneer een voertuig terugkomt met zichtbare of gemelde schade, markeer de schad
## 2. Bewijs
Registreer minstens vier foto's in het bron-inspectiesysteem: volledige aangetaste zijde, close-up, ruimere context en kentekenplaat. Fleet Ops mag in deze PoC enkel de verwijzing naar dat bewijs opslaan.
Registreer minstens vier foto's in het bron-inspectiesysteem: volledige aangetaste zijde, close-up, ruimere context en kentekenplaat. Fleet Ops mag in deze demo-omgeving enkel de verwijzing naar dat bewijs opslaan.
## 3. Escalatie
@@ -14,7 +14,7 @@ De identiteit van de klant en een geldig rijbewijs moeten geverifieerd zijn in h
## 2. Dataminimalisatie
Fleet Ops registreert in deze PoC enkel de afhandelingsstatus en bronverwijzingen. Er worden geen afbeeldingen van identiteitsdocumenten opgeslagen.
Fleet Ops registreert in deze demo-omgeving enkel de afhandelingsstatus en bronverwijzingen. Er worden geen afbeeldingen van identiteitsdocumenten opgeslagen.
## 3. Ontbrekende informatie