polish: rebrand to Fleet Ops, add trilingual i18n, adaptive demo guide, and UX overhaul

Rebrands the product from MobilityOps to Fleet Ops across the UI, backend defaults and
knowledge base, and makes nl-BE/en-GB/fr-BE full first-class languages: i18next with
eager-bundled per-namespace resources, a persisted accessible language switcher (topbar
and mobile drawer), locale-aware date/number formatting, and a coverage test that fails
the build on any missing or empty translation key.

Backend dynamic content (demo scenarios, blocked-reason text, integration status) moves
from fixed English/Dutch prose to stable message codes + params so the frontend can
localize it; the demo knowledge base gains a fully translated NL/EN/FR procedure corpus
(11 documents each) with per-language retrieval and localized evidence-state messages.

The Demo Guide becomes breakpoint-adaptive: a docked rail on extra-wide desktop, a
floating panel that auto-collapses to a persistent, closable progress chip on standard
desktop/tablet, and a collapsed/half/full bottom sheet on mobile -- with scroll+focus+
highlight on "go to this step", Escape handling, and reduced-motion support.

The Data Quality Workbench gets accessible choice-card decisions with a clear primary/
secondary/tertiary action hierarchy; the Automation ledger groups repeated successes and
uses meaningful short refs; the Audit trail groups events by correlation id with human
action labels and readable before/after diffs. Attention Queue, Today's movements,
Vehicles, Bookings and Data Quality rows are fully clickable (stretched-link pattern)
with independent secondary links, keyboard support and mobile touch targets.

Fixes a topbar overflow on mobile caused by the new language switcher (moved into the
mobile drawer at <=960px) and two dangling aria-labelledby references introduced this
session. Updates all affected Playwright specs for the new nl-BE default and the new
Audit/DemoGuide DOM structure, and adds new i18n-coverage, demo-guide-adaptive and
clickable-rows specs. 131 backend tests, Ruff and mypy, and 71 Playwright tests pass.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
NuklearRabbit
2026-08-03 18:33:22 +02:00
co-authored by Claude Sonnet 5
parent 257a4cf6c0
commit 337f8716bb
127 changed files with 5529 additions and 1287 deletions
@@ -0,0 +1,21 @@
---
document_id: vehicle-availability-procedure
title: Vehicle availability procedure
version: "1.0"
effective_date: 2026-07-01
department: Rental Operations
status: active
---
# Vehicle availability procedure
## 1. Conditions
A vehicle may be set to available only when no blocking condition remains: no open damage, no unresolved technical warning, no pending maintenance block and no open critical data-quality issue against the vehicle.
## 2. Cleaning is not sufficient
Completing the cleaning checklist alone does not make a vehicle available. Availability is derived from the combined state of cleaning, maintenance and data-quality checks, not from any single step.
## 3. Confirmation
An authorised employee confirms the final check and the vehicle status changes to available. The change is recorded in the audit trail with the checks that were confirmed clear.
@@ -0,0 +1,21 @@
---
document_id: vehicle-checkout-procedure
title: Procédure de départ du véhicule
version: "1.2"
effective_date: 2026-06-01
department: Opérations de location
status: active
---
# Procédure de départ du véhicule
## 1. Contrôles obligatoires
Avant qu'un véhicule ne quitte le site, l'employé de location doit confirmer la réservation active, l'identité du client, le permis de conduire et les documents signés requis. Le kilométrage de départ enregistré ne peut pas être inférieur au kilométrage canonique actuel du véhicule.
## 2. État du véhicule
Effectuez l'inspection de départ, enregistrez le niveau de carburant et les dommages préexistants visibles, et confirmez qu'aucun problème bloquant d'entretien ou de qualité des données n'est ouvert.
## 3. Mise à disposition
Seul un véhicule ayant fait l'objet d'une inspection de départ approuvée peut être mis en location. En cas d'écart critique, le véhicule reste bloqué et le cas est transmis aux Opérations.
@@ -0,0 +1,25 @@
---
document_id: vehicle-return-procedure
title: Procédure de retour du véhicule
version: "2.0"
effective_date: 2026-07-01
department: Opérations de location
status: active
---
# Procédure de retour du véhicule
## 1. Enregistrer le retour
Ouvrez la réservation active et enregistrez le kilométrage final, le niveau de carburant, la propreté, les dommages visibles, les avertissements techniques et les notes pertinentes.
## 2. Valider le relevé
Un relevé de kilométrage inférieur au relevé canonique précédent ne doit jamais remplacer la valeur canonique. Enregistrez l'inspection, créez un problème de qualité des données et demandez une revue humaine.
## 3. Déterminer l'état suivant
Un dommage ou un avertissement technique impose un état bloqué. Un seuil d'entretien atteint impose un entretien. Sinon, le véhicule passe au nettoyage avant de pouvoir devenir disponible.
## 4. Suivi
L'automatisation du retour peut créer un suivi de nettoyage ou d'entretien, mais Fleet Ops reste la source de vérité pour l'état du véhicule.
@@ -0,0 +1,21 @@
---
document_id: damage-procedure
title: Procédure de gestion des dommages
version: "1.3"
effective_date: 2026-06-15
department: Opérations
status: active
---
# Procédure de gestion des dommages
## 1. Actions immédiates
Lorsqu'un véhicule revient avec des dommages visibles ou signalés, marquez le dommage dans l'inspection de retour, ajoutez une description factuelle concise et gardez le véhicule bloqué. Ne promettez pas au client un coût de réparation ou une décision de responsabilité.
## 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.
## 3. Escalade
Créez une revue Opérations avant toute nouvelle location. Un véhicule avec un dommage non résolu ne peut pas être marqué disponible, même en présence d'une réservation future.
@@ -0,0 +1,21 @@
---
document_id: odometer-anomaly-guideline
title: Directive sur les anomalies de kilométrage
version: "1.1"
effective_date: 2026-05-20
department: Opérations
status: active
---
# Directive sur les anomalies de kilométrage
## 1. Relevé inférieur
Si un nouveau relevé est inférieur au kilométrage canonique, conservez le relevé soumis comme preuve mais n'abaissez pas la valeur canonique. Vérifiez une inversion de chiffres, une sélection erronée du véhicule ou une erreur d'importation du système source.
## 2. Résolution
Un Operations Manager peut résoudre le problème après vérification de l'inspection d'origine. Ne corrigez que l'inspection erronée ou le mappage source ; ne réécrivez pas les relevés historiques valides.
## 3. Seuil d'escalade
Toute diminution inexpliquée ou une hausse unique de plus de 2 500 kilomètres au cours d'une même location nécessite une revue.
@@ -0,0 +1,21 @@
---
document_id: cleaning-checklist
title: Liste de contrôle de nettoyage du véhicule
version: "1.4"
effective_date: 2026-06-10
department: Préparation de flotte
status: active
---
# Liste de contrôle de nettoyage du véhicule
## 1. Intérieur
Retirez les déchets, inspectez les sellerie, nettoyez les surfaces de cuisine et sanitaires, et confirmez que la liste d'inventaire est complète.
## 2. Extérieur
Inspectez les vitres, les feux, les pneus et la carrosserie pendant le nettoyage. Signalez tout nouveau dommage constaté plutôt que de terminer la tâche silencieusement.
## 3. Achèvement
L'achèvement du nettoyage seul ne rend pas disponible un véhicule bloqué ou en entretien. Fleet Ops déduit la disponibilité de toutes les restrictions actives.
@@ -0,0 +1,21 @@
---
document_id: maintenance-escalation
title: Procédure d'escalade d'entretien
version: "1.1"
effective_date: 2026-04-01
department: Atelier
status: active
---
# Procédure d'escalade d'entretien
## 1. Déclencheurs
Escaladez lorsqu'un avertissement technique est signalé, le seuil d'entretien est atteint, un défaut lié à la sécurité est observé ou un blocage d'entretien existant reste non résolu.
## 2. État
Définissez ou conservez l'état d'entretien. Une réservation future ne remplace pas une restriction d'entretien.
## 3. Levée du blocage
Seuls un enregistrement autorisé d'entretien terminé et l'absence d'autres problèmes bloquants permettent au véhicule de passer au nettoyage ou à la disponibilité.
@@ -0,0 +1,21 @@
---
document_id: customer-document-requirements
title: Documents client requis
version: "1.0"
effective_date: 2026-07-01
department: Opérations de location
status: active
---
# Documents client requis
## 1. Exigences au départ
L'identité du client et un permis de conduire valide doivent être vérifiés dans le processus source avant le départ. Les documents contractuels requis doivent être signés.
## 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.
## 3. Informations manquantes
Une réservation dont les documents requis sont incomplets n'est pas prête pour le départ et doit apparaître comme point d'attention.
+21
View File
@@ -0,0 +1,21 @@
---
document_id: privacy-guideline
title: Directive de confidentialité opérationnelle
version: "1.0"
effective_date: 2026-03-01
department: Direction
status: active
---
# Directive de confidentialité opérationnelle
## 1. Accès minimal
Les employés ne peuvent accéder qu'aux informations client et de réservation nécessaires à leur rôle. Les outils d'IA externes ne reçoivent aucun jeu de données client non restreint.
## 2. Plateforme de connaissances
N'intégrez pas de données personnelles de clients, de notes de réservation ou de documents d'identité dans la collection de connaissances des procédures. La collection se limite aux directives internes approuvées.
## 3. Journalisation
Consignez les métadonnées d'action et les références sources, mais évitez de copier des données personnelles inutiles dans les journaux techniques.
@@ -0,0 +1,21 @@
---
document_id: booking-conflict-procedure
title: Procédure de conflit de réservation
version: "1.2"
effective_date: 2026-06-20
department: Opérations
status: active
---
# Procédure de conflit de réservation
## 1. Détection
Deux réservations réservées ou actives pour le même véhicule ne peuvent pas se chevaucher. Les conflits hérités importés doivent être signalés comme problème de qualité des données.
## 2. Résolution
Les Opérations examinent les deux réservations, confirment la propriété dans le système source et réattribuent ou annulent une réservation dans le système de réservation faisant autorité. Fleet Ops enregistre le résultat de la revue.
## 3. Sécurité
N'annulez jamais automatiquement une réservation client sur la seule base d'un conflit déduit.
@@ -0,0 +1,21 @@
---
document_id: roles-and-escalation
title: Matrice des rôles et de l'escalade
version: "1.0"
effective_date: 2026-06-01
department: Direction
status: active
---
# Matrice des rôles et de l'escalade
## Employé de location
Peut consulter les enregistrements opérationnels assignés, réaliser les inspections de départ et de retour, et consulter les procédures. Ne peut pas fusionner des fiches client ni réinitialiser l'environnement de démonstration.
## Operations Manager
Peut examiner tous les points d'attention et problèmes de qualité des données, fusionner des clients en double confirmés, relancer la livraison d'automatisation et réinitialiser la démo synthétique.
## Intégrations de service
n8n, RAGcore et ITWorx MCP Hub utilisent des identités distinctes à portée limitée. Les identités de service n'héritent pas d'un rôle utilisateur interactif.
@@ -0,0 +1,21 @@
---
document_id: vehicle-availability-procedure
title: Procédure de disponibilité du véhicule
version: "1.0"
effective_date: 2026-07-01
department: Opérations de location
status: active
---
# Procédure de disponibilité du véhicule
## 1. Conditions
Un véhicule ne peut être mis en disponible que si aucune condition bloquante ne subsiste : aucun dommage ouvert, aucun avertissement technique non résolu, aucun blocage d'entretien en cours et aucun problème critique de qualité des données ouvert sur le véhicule.
## 2. Le nettoyage seul ne suffit pas
L'achèvement de la liste de contrôle de nettoyage seul ne rend pas un véhicule disponible. La disponibilité est déduite de l'état combiné du nettoyage, de l'entretien et des contrôles de qualité des données, et non d'une seule étape.
## 3. Confirmation
Un employé autorisé confirme le contrôle final et le statut du véhicule passe à disponible. Le changement est enregistré dans la piste d'audit avec les contrôles confirmés comme conformes.
@@ -0,0 +1,21 @@
---
document_id: vehicle-checkout-procedure
title: Procedure voertuigvertrek
version: "1.2"
effective_date: 2026-06-01
department: Verhuuroperaties
status: active
---
# Procedure voertuigvertrek
## 1. Verplichte controles
Voordat een voertuig de site verlaat, moet de verhuurmedewerker de actieve boeking, de identiteit van de klant, het rijbewijs en de vereiste ondertekende documenten bevestigen. De geregistreerde startkilometerstand mag niet lager zijn dan de huidige laatst bevestigde kilometerstand van het voertuig.
## 2. Staat van het voertuig
Voer de vertrekinspectie uit, registreer het brandstofniveau en zichtbare bestaande schade, en bevestig dat er geen blokkerend onderhouds- of datakwaliteitsprobleem openstaat.
## 3. Vrijgave
Alleen een voertuig met een goedgekeurde vertrekinspectie mag op verhuurd gezet worden. Bij een kritieke afwijking blijft het voertuig geblokkeerd en wordt dit geëscaleerd naar Operations.
@@ -0,0 +1,25 @@
---
document_id: vehicle-return-procedure
title: Procedure voertuigretour
version: "2.0"
effective_date: 2026-07-01
department: Verhuuroperaties
status: active
---
# Procedure voertuigretour
## 1. Retour registreren
Open de actieve boeking en registreer de eindkilometerstand, het brandstofniveau, de netheid, zichtbare schade, technische waarschuwingen en relevante notities.
## 2. Meting valideren
Een ingevoerde kilometerstand die lager is dan de vorige laatst bevestigde stand mag nooit de laatst bevestigde waarde vervangen. Registreer de inspectie, maak een datakwaliteitsprobleem aan en vraag een menselijke beoordeling.
## 3. Volgende status bepalen
Schade of een technische waarschuwing vereist een geblokkeerde status. Een bereikte onderhoudsdrempel vereist onderhoud. Anders gaat het voertuig naar reiniging voordat het beschikbaar kan worden.
## 4. Opvolging
De retourautomatisering kan een reinigings- of onderhoudsopvolging aanmaken, maar Fleet Ops blijft de bron van waarheid voor de voertuigstatus.
@@ -0,0 +1,21 @@
---
document_id: damage-procedure
title: Procedure schadeafhandeling
version: "1.3"
effective_date: 2026-06-15
department: Operations
status: active
---
# Procedure schadeafhandeling
## 1. Directe acties
Wanneer een voertuig terugkomt met zichtbare of gemelde schade, markeer de schade in de retourinspectie, voeg een beknopte feitelijke beschrijving toe en houd het voertuig geblokkeerd. Beloof de klant geen herstelkost of aansprakelijkheidsbeslissing.
## 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.
## 3. Escalatie
Maak een Operations-beoordeling aan vóór elke nieuwe verhuur. Een voertuig met onopgeloste schade mag niet als beschikbaar gemarkeerd worden, zelfs niet bij een toekomstige boeking.
@@ -0,0 +1,21 @@
---
document_id: odometer-anomaly-guideline
title: Richtlijn kilometerstandafwijkingen
version: "1.1"
effective_date: 2026-05-20
department: Operations
status: active
---
# Richtlijn kilometerstandafwijkingen
## 1. Lagere meting
Als een nieuwe meting lager is dan de laatst bevestigde kilometerstand, bewaar de ingevoerde meting als bewijs maar verlaag de laatst bevestigde waarde niet. Controleer op cijferverwisseling, verkeerde voertuigselectie of een importfout uit het bronsysteem.
## 2. Oplossing
Een Operations Manager mag het probleem oplossen na controle van de oorspronkelijke inspectie. Corrigeer enkel de foutieve inspectie of bronkoppeling; herschrijf geen geldige historische metingen.
## 3. Escalatiedrempel
Elke onverklaarde daling of een enkele stijging van meer dan 2.500 kilometer tijdens één verhuur vereist beoordeling.
@@ -0,0 +1,21 @@
---
document_id: cleaning-checklist
title: Reinigingschecklist voertuig
version: "1.4"
effective_date: 2026-06-10
department: Wagenparkvoorbereiding
status: active
---
# Reinigingschecklist voertuig
## 1. Interieur
Verwijder afval, inspecteer de bekleding, reinig keuken- en sanitaire oppervlakken en bevestig dat de inventarischecklist volledig is.
## 2. Exterieur
Inspecteer ramen, verlichting, banden en carrosserie tijdens het reinigen. Meld nieuw vastgestelde schade in plaats van de taak stilzwijgend af te ronden.
## 3. Afronding
Het voltooien van de reiniging alleen maakt een geblokkeerd of onderhoudsvoertuig niet beschikbaar. Fleet Ops leidt de beschikbaarheid af uit alle actieve beperkingen.
@@ -0,0 +1,21 @@
---
document_id: maintenance-escalation
title: Procedure onderhoudsescalatie
version: "1.1"
effective_date: 2026-04-01
department: Werkplaats
status: active
---
# Procedure onderhoudsescalatie
## 1. Aanleidingen
Escaleer wanneer een technische waarschuwing gemeld wordt, de onderhoudsdrempel bereikt is, een veiligheidsgerelateerd gebrek wordt vastgesteld of een bestaande onderhoudsblokkering onopgelost blijft.
## 2. Status
Stel de onderhoudsstatus in of behoud deze. Een toekomstige boeking overschrijft een onderhoudsbeperking niet.
## 3. Vrijgave
Enkel een geautoriseerde registratie van voltooid onderhoud en de afwezigheid van andere blokkerende problemen laten het voertuig toe tot reiniging of beschikbaarheid.
@@ -0,0 +1,21 @@
---
document_id: customer-document-requirements
title: Vereiste klantdocumenten
version: "1.0"
effective_date: 2026-07-01
department: Verhuuroperaties
status: active
---
# Vereiste klantdocumenten
## 1. Vereisten bij vertrek
De identiteit van de klant en een geldig rijbewijs moeten geverifieerd zijn in het bronproces vóór vertrek. Vereiste contractuele documenten moeten ondertekend zijn.
## 2. Dataminimalisatie
Fleet Ops registreert in deze PoC enkel de afhandelingsstatus en bronverwijzingen. Er worden geen afbeeldingen van identiteitsdocumenten opgeslagen.
## 3. Ontbrekende informatie
Een boeking met onvolledige verplichte documenten is niet klaar voor vertrek en moet als aandachtspunt verschijnen.
+21
View File
@@ -0,0 +1,21 @@
---
document_id: privacy-guideline
title: Operationele privacyrichtlijn
version: "1.0"
effective_date: 2026-03-01
department: Management
status: active
---
# Operationele privacyrichtlijn
## 1. Minimale toegang
Medewerkers mogen enkel de klant- en boekingsinformatie raadplegen die nodig is voor hun rol. Externe AI-tools krijgen geen ongelimiteerde klantdataset.
## 2. Kennisplatform
Voeg geen persoonsgegevens van klanten, boekingsnotities of identiteitsdocumenten toe aan de kennisverzameling van procedures. De verzameling is beperkt tot goedgekeurde interne richtlijnen.
## 3. Logging
Registreer actiemetadata en bronverwijzingen, maar vermijd onnodige persoonsgegevens te kopiëren naar technische logs.
@@ -0,0 +1,21 @@
---
document_id: booking-conflict-procedure
title: Procedure boekingsconflicten
version: "1.2"
effective_date: 2026-06-20
department: Operations
status: active
---
# Procedure boekingsconflicten
## 1. Detectie
Twee gereserveerde of actieve boekingen voor hetzelfde voertuig mogen niet overlappen. Geïmporteerde historische conflicten moeten gemarkeerd worden als datakwaliteitsprobleem.
## 2. Oplossing
Operations beoordeelt beide boekingen, bevestigt het eigenaarschap in het bronsysteem en wijst één boeking opnieuw toe of annuleert deze in het gezaghebbende boekingssysteem. Fleet Ops registreert het beoordeelde resultaat.
## 3. Veiligheid
Annuleer een klantboeking nooit automatisch enkel op basis van een afgeleid conflict.
@@ -0,0 +1,21 @@
---
document_id: roles-and-escalation
title: Rollen- en escalatiematrix
version: "1.0"
effective_date: 2026-06-01
department: Management
status: active
---
# Rollen- en escalatiematrix
## Verhuurmedewerker
Mag toegewezen operationele records bekijken, vertrek- en retourinspecties uitvoeren en procedures raadplegen. Mag geen klantrecords samenvoegen of de demo-omgeving herstellen.
## Operations Manager
Mag alle aandachtspunten en datakwaliteitsproblemen beoordelen, bevestigde dubbele klanten samenvoegen, aflevering van automatisering opnieuw proberen en de synthetische demo herstellen.
## Service-integraties
n8n, RAGcore en ITWorx MCP Hub gebruiken afzonderlijke, beperkte identiteiten. Service-identiteiten erven geen interactieve gebruikersrol.
@@ -0,0 +1,21 @@
---
document_id: vehicle-availability-procedure
title: Procedure voertuigbeschikbaarheid
version: "1.0"
effective_date: 2026-07-01
department: Verhuuroperaties
status: active
---
# Procedure voertuigbeschikbaarheid
## 1. Voorwaarden
Een voertuig mag enkel op beschikbaar gezet worden als er geen blokkerende voorwaarde meer geldt: geen openstaande schade, geen onopgeloste technische waarschuwing, geen lopende onderhoudsblokkering en geen open kritiek datakwaliteitsprobleem voor het voertuig.
## 2. Reiniging alleen is niet voldoende
Het voltooien van de reinigingschecklist alleen maakt een voertuig niet beschikbaar. Beschikbaarheid wordt afgeleid uit de gecombineerde status van reiniging, onderhoud en datakwaliteitscontroles, niet uit één enkele stap.
## 3. Bevestiging
Een geautoriseerde medewerker bevestigt de laatste controle en de voertuigstatus verandert naar beschikbaar. De wijziging wordt geregistreerd in het audittraject samen met de controles die als correct bevestigd zijn.