SPB Git

spb/job-ka

Public

[ka6] fix connecteur cambria: ajout de Fermont au dictionnaire _QC_CITIES (normalize.py) — l'offre QC courante du tenant workday cambria.wd1 (« Mechanic » R-103013, site minier Sitec à Fermont, Côte-Nord, publiée le 2026-04-10, description en français) était INVISIBLE depuis la création du connecteur (Vague D 2026-08-25) : Workday l'affiche sous le libellé « Sitec Fermont » sans province ni code postal, et Fermont manquait au dictionnaire partagé _QC_CITIES, si bien que is_quebec_location la rejetait au filtre client ET au repli de facette serveur (_find_qc_facet — ce tenant n'expose aucune facette province, seulement pays Canada=1 + lieux plats). Le connecteur ne voyait donc que l'offre montréalaise historique (Market Sales Representative R-103079), dépubliée par l'employeur le 2026-09-02 (miss_count=2, retrait normal) → found=0 depuis, d'où le statut stale (la supervision date le succès au dernier sync found>0). L'unique vrai échec (2026-09-12 03:08, « Workday non-JSON HTTP 200 text/html ») est la fenêtre de maintenance hebdomadaire Workday du vendredi nuit, transitoire. Correctif minimal dans la couche partagée (même famille que f4038e4) : « fermont »: « Fermont » — mot à graphie unique, aucun homonyme hors QC (≠ Fremont), garde-fous _NON_QC_CITIES/_NON_QC_REGION_RE intacts ; test ajouté sur le libellé exact « Sitec Fermont ». Sync isolé rejoué : found=1, added=1 en 2,9 s — R-103013 en base, ville Fermont, région Côte-Nord, statut ok (médiane historique 0–1). 102 tests pytest verts. pm2 restart job-ka-sync OK, site 200.

Simon-Pierre Boucher committed (Sep 12, 2026) parent 4e9be24 Browse files

2 changed files +7 −2

modified jobka/normalize.py +2 −1
@@ -6,7 +6,7 @@
6 # Rôle : Normalisation commune des offres (salaires, dates, mode/type 6 # Rôle : Normalisation commune des offres (salaires, dates, mode/type
7 # d'emploi, lieu, catégorie, exigences, séniorité) — jamais de 7 # d'emploi, lieu, catégorie, exigences, séniorité) — jamais de
8 # valeur inventée 8 # valeur inventée
9−# Créé : 2026-08-17 Modifié : 2026-08-26 9+# Créé : 2026-08-17 Modifié : 2026-09-12
10 # ============================================================================= 10 # =============================================================================
11 """Couche de normalisation commune appelée par JobPosting.finalize(). 11 """Couche de normalisation commune appelée par JobPosting.finalize().
12 12
@@ -412,6 +412,7 @@ _QC_CITIES = {
412 "joliette": "Joliette", "victoriaville": "Victoriaville", 412 "joliette": "Joliette", "victoriaville": "Victoriaville",
413 "rimouski": "Rimouski", "rouyn-noranda": "Rouyn-Noranda", 413 "rimouski": "Rimouski", "rouyn-noranda": "Rouyn-Noranda",
414 "baie-comeau": "Baie-Comeau", "sept-iles": "Sept-Îles", 414 "baie-comeau": "Baie-Comeau", "sept-iles": "Sept-Îles",
415+ "fermont": "Fermont",
415 "val-d'or": "Val-d'Or", "val d'or": "Val-d'Or", "alma": "Alma", 416 "val-d'or": "Val-d'Or", "val d'or": "Val-d'Or", "alma": "Alma",
416 "sainte-foy": "Québec", "anjou": "Montréal", "dorval": "Dorval", 417 "sainte-foy": "Québec", "anjou": "Montréal", "dorval": "Dorval",
417 "boisbriand": "Boisbriand", "blainville": "Blainville", 418 "boisbriand": "Boisbriand", "blainville": "Blainville",
modified tests/test_normalize.py +5 −1
@@ -5,7 +5,7 @@
5 # Fichier : tests/test_normalize.py 5 # Fichier : tests/test_normalize.py
6 # Rôle : Tests unitaires de la couche de normalisation (salaires, dates, 6 # Rôle : Tests unitaires de la couche de normalisation (salaires, dates,
7 # mode/type d'emploi, lieux, catégories) 7 # mode/type d'emploi, lieux, catégories)
8−# Créé : 2026-08-17 Modifié : 2026-08-17 8+# Créé : 2026-08-17 Modifié : 2026-09-12
9 # ============================================================================= 9 # =============================================================================
10 import datetime as dt 10 import datetime as dt
11 11
@@ -155,6 +155,10 @@ def test_is_quebec_location():
155 assert is_quebec_location("Montréal, QC") 155 assert is_quebec_location("Montréal, QC")
156 assert is_quebec_location("Saint-Laurent, Quebec, Canada") 156 assert is_quebec_location("Saint-Laurent, Quebec, Canada")
157 assert is_quebec_location("Sherbrooke") 157 assert is_quebec_location("Sherbrooke")
158+ # « Sitec Fermont » : site minier de Cambria à Fermont (Côte-Nord) —
159+ # libellé Workday sans province, la ville seule doit suffire (bug cambria
160+ # 2026-09-12 : Fermont absent de _QC_CITIES rendait l'offre invisible)
161+ assert is_quebec_location("Sitec Fermont")
158 assert not is_quebec_location("Toronto, ON") 162 assert not is_quebec_location("Toronto, ON")
159 assert not is_quebec_location("Richmond, BC") 163 assert not is_quebec_location("Richmond, BC")
160 assert not is_quebec_location("Paris, IDF, France") 164 assert not is_quebec_location("Paris, IDF, France")
161 165
Menu

Theme