[ka6] fix connecteur x4th_day_trucking: employeur de camionnage AMÉRICAIN (4th Day Trucking) — les 182 postings du board Breezy sont tous aux É.-U. (VA, OH, TX, CA…), zéro Québec. L'unique offre captée (CDL A LOCAL TRUCK DRIVING POSITION Grocery ACCOUNT!, 163eb419c625, East Granby) était un faux positif: East Granby, CONNECTICUT — « Granby » (ville d'Estrie, _QC_CITIES) matchait dans le libellé, même famille que usamechasp b387be9, MAIS la variante Breezy échappe au fix f4038e4 parce que _keep passe le nom d'État COMPLET (« East Granby, Connecticut ») alors que _NON_QC_REGION_RE ne couvre que les codes (« CT »). Le passage 1→0 du 2026-08-27 vient de la dépublication de cette offre à la source (absente des 182 postings actuels) — volume 0 légitime, médiane 0.5 < DRIFT_MIN_BASE=8. Durcissement minimal: BreezyConnector._keep rejette désormais tout posting dont location.country.id est présent et != CA (donnée autoritaire de l'API Breezy, avant l'heuristique texte); pays absent → heuristique inchangée. Vérifié sans régression sur 5 boards QC légitimes (novipro 16, progesys_inc 25, brandmomentum 36, microhabitat 13, bellatrx_inc 14 — 104/104 postings retenus portent country.id=CA, volumes identiques avant/après). Purge par le mécanisme normal: sync isolé rejoué → miss_count=2 → active=0 (found=0, removed=1, statut ok). Test final: fetch réel = 182 bruts, 0 retenus = comportement correct. Note de contexte ajoutée au connecteur. pm2 restart job-ka-sync OK, site 200.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2 changed files +17 −2
modified
jobka/connectors/breezy.py
+9 −1
@@ -5,7 +5,7 @@ | |||||
| 5 | # Fichier : jobka/connectors/breezy.py | 5 | # Fichier : jobka/connectors/breezy.py | ||
| 6 | # Rôle : Classe de plateforme Breezy HR (<org>.breezy.hr/json) — un | 6 | # Rôle : Classe de plateforme Breezy HR (<org>.breezy.hr/json) — un | ||
| 7 | # employeur = une sous-classe de ~8 lignes (ORG, EMPLOYER) | 7 | # employeur = une sous-classe de ~8 lignes (ORG, EMPLOYER) | ||
| 8 | −# Créé : 2026-08-17 Modifié : 2026-08-17 | 8 | +# Créé : 2026-08-17 Modifié : 2026-08-27 | ||
| 9 | # ============================================================================= | 9 | # ============================================================================= | ||
| 10 | """Plateforme Breezy HR. | 10 | """Plateforme Breezy HR. | ||
| 11 | 11 | ||||
@@ -41,6 +41,14 @@ class BreezyConnector(BaseConnector): | |||||
| 41 | if not self.quebec_only: | 41 | if not self.quebec_only: | ||
| 42 | return True | 42 | return True | ||
| 43 | loc = item.get("location") or {} | 43 | loc = item.get("location") or {} | ||
| 44 | + # Breezy expose le pays de façon autoritaire : un posting hors Canada | ||||
| 45 | + # n'est jamais québécois, même si sa ville est homonyme d'une ville QC | ||||
| 46 | + # (« East Granby, Connecticut » matchait Granby — bug x4th_day_trucking | ||||
| 47 | + # 2026-08-27, la variante nom d'État COMPLET échappe à _NON_QC_REGION_RE | ||||
| 48 | + # qui ne couvre que les codes « CT »). Pays absent : heuristique texte. | ||||
| 49 | + country = ((loc.get("country") or {}).get("id") or "").upper() | ||||
| 50 | + if country and country != "CA": | ||||
| 51 | + return False | ||||
| 44 | state = (loc.get("state") or {}) | 52 | state = (loc.get("state") or {}) | ||
| 45 | if (state.get("id") or "").upper() == "QC": | 53 | if (state.get("id") or "").upper() == "QC": | ||
| 46 | return True | 54 | return True | ||
modified
jobka/connectors/x4th_day_trucking.py
+8 −1
@@ -5,8 +5,15 @@ | |||||
| 5 | # Fichier : jobka/connectors/x4th_day_trucking.py | 5 | # Fichier : jobka/connectors/x4th_day_trucking.py | ||
| 6 | # Rôle : Connecteur 4th Day Trucking — breezy (org « 4th-day-trucking ») | 6 | # Rôle : Connecteur 4th Day Trucking — breezy (org « 4th-day-trucking ») | ||
| 7 | # [généré par scripts/gen_connectors.py, flux vérifié le 2026-08-23] | 7 | # [généré par scripts/gen_connectors.py, flux vérifié le 2026-08-23] | ||
| 8 | −# Créé : 2026-08-23 Modifié : 2026-08-23 | 8 | +# Créé : 2026-08-23 Modifié : 2026-08-27 | ||
| 9 | # ============================================================================= | 9 | # ============================================================================= | ||
| 10 | +# NOTE ka6 (2026-08-27) : employeur de camionnage AMÉRICAIN — les 182 postings | ||||
| 11 | +# du board sont tous aux É.-U. (VA, OH, TX…), zéro Québec. L'unique offre | ||||
| 12 | +# historique (« CDL A LOCAL TRUCK DRIVING… », East Granby) était un faux | ||||
| 13 | +# positif : East Granby, CONNECTICUT — « Granby » matchait dans le libellé et | ||||
| 14 | +# le nom d'État complet « Connecticut » échappait à _NON_QC_REGION_RE (codes | ||||
| 15 | +# seulement). Corrigé par le garde pays de BreezyConnector._keep | ||||
| 16 | +# (location.country.id != CA → rejet). Volume 0 = comportement correct. | ||||
| 10 | from .breezy import BreezyConnector | 17 | from .breezy import BreezyConnector | ||
| 11 | 18 | ||||
| 12 | 19 | ||||
| 13 | 20 | ||||