SPB Git

spb/job-ka

Public
History of docs/connecteurs/ats-workday.md Clear filter
page 1
  1. Wed, Nov 4, 2026 2

    1. [ka6] connecteur gategroup: faux positif « volume QC nul » (dépublication légitime des 2 dernières offres Dorval) — AUCUN code de fetch modifié (verdict rien_a_faire). Le stale vient des 2 offres QC du tenant Workday gategroup.wd3 — R0110496 « Operations, Supervisor, Food » puis R0101916 « Final Assembler - $25/hr » (Dorval, cuisine YUL) — dépubliées par Gategroup entre les syncs verts du 03/11 12:07 (found=2) → 14:36 (found=1, removed=1) → 04/11 11:06 (found=0), retrait propre removed=1 à 14:03 (règle des 2 absences) ; la supervision compte found=0 comme non-succès (médiane 0.5, fiche stale-volume-zero-faux-positif). Preuves live : marqueur Workday de dépublication confirmé — détail cxs de R0101916 retirée → 403 S22 « permission denied » (même signature que fiserv 86595740/dxctechnology) vs 200 sur l'offre vivante R0111655 Halifax en contrôle ; board cxs 200 avec 172 offres monde dont 22 « Canada » TOUTES hors QC (Vancouver, Halifax, Mississauga, Ottawa, Edmonton — 0 mention Québec) = pas d'aveuglement QC, Gategroup ne publie à Dorval que par vagues (13 offres QC en base depuis 2026-08-23, souvent éphémères). Sync isolé rejoué vert ok=1 found=0 en 13,4 s. Docstring chronologie ajoutée au connecteur, fiches gategroup.md/ats-workday.md/INDEX.md régénérées (1132 autres restaurées, hors périmètre), 108 tests pytest verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200. Si Gategroup republie un poste à Dorval, il reviendra seul au prochain sync horaire.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +234 −234
    2. [ka6] connecteur fiserv: faux positif « volume QC nul » (dépublication légitime de l'unique offre QC) — AUCUN code de fetch modifié (verdict rien_a_faire). Le stale vient de l'offre Workday R-10397282 « Account Executive | Chargé(e) de Comptes » (Québec, parue 2026-10-16) dépubliée par Fiserv entre les syncs verts du 03/11 23:11 (found=1, série verte continue) et du 04/11 01:41 (found=0) ; la supervision compte found=0 comme non-succès (médiane 1.0, fiche stale-volume-zero-faux-positif). Preuves live : marqueur Workday de dépublication confirmé — détail cxs de l'offre retirée → 403 S22 « permission denied » (variante du 404, même marqueur que le cas dxctechnology 8d1bcf24) vs 200 sur une offre vivante en contrôle ; board cxs 200 avec 403 offres monde dont 6 « Canada » TOUTES hors QC (facette locations : Mississauga ×4, Remote Ontario ×1) = pas d'aveuglement QC, Fiserv ne publie à Québec que sporadiquement (5 offres QC en base depuis 2026-08, chacune vécue ~3-6 semaines) ; pas de migration : fiserv.wd5/EXT répond normalement. Sync isolé rejoué vert ok=1 found=0 removed=1 en 25 s (retrait propre de R-10397282 par la règle des 2 absences). Docstring chronologie ajoutée au connecteur, fiches fiserv.md/ats-workday.md/INDEX.md régénérées (1132 autres restaurées, hors périmètre), 108 tests pytest verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200. Si Fiserv republie un poste QC, il reviendra seul au prochain sync horaire.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +234 −234
  2. Mon, Nov 2, 2026 1

    1. [ka6] connecteur dxctechnology: faux positif « volume QC nul » (dépublication légitime de l'unique offre QC) — AUCUN code de fetch modifié (verdict rien_a_faire). Le stale vient de l'offre Workday 51583112 « Market Seller - Commercial Markets » (Montréal, parue 2026-10-03) dépubliée entre les syncs verts du 02/11 14:12 (found=1) et 16:47 (found=0), retrait propre removed=1 à 19:18 ; la supervision compte found=0 comme non-succès (médiane 0.5, fiche stale-volume-zero-faux-positif). Preuves live : board cxs 200 avec 1236 offres monde dont 23 « Canada » TOUTES hors QC (ON, NS, NL, MB ; l'entrée « 2 Locations » = New York + Houston) = DXC publie ses postes QC par rafales courtes (chaque offre QC en base a vécu ~1-3 semaines) ; marqueur Workday de dépublication : détail cxs 403 S22 « permission denied » sur l'offre retirée vs 200 sur une offre vivante (variante du 404 à ajouter au répertoire des marqueurs) ; pas de migration : careers.dxc.com référence toujours dxctechnology.wd1.myworkdayjobs.com/DXCJobs. Sync isolé rejoué vert ok=1 found=0 en 95,5 s (pagination complète des 1236 offres, filtre serveur locations factice sur ce tenant — détection ec1b90d du 2026-09-10 inchangée). Docstring chronologie ajoutée au connecteur, fiches dxctechnology.md/ats-workday.md/INDEX.md régénérées (1132 autres restaurées, hors périmètre), 108 tests pytest verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200. Si DXC republie un poste QC, il reviendra seul au prochain sync horaire.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +234 −234
  3. Sat, Oct 31, 2026 2

    1. [ka6] connecteur orthoclinical: stale = faux positif « volume QC nul » (récidive, 2e intervention) + unique ok=0 = fenêtre de maintenance planifiée Workday, rien à réparer — syncs VERTS en continu (ok=1 found=0) depuis la dépublication légitime de R0016868 le 2026-10-14 (intervention précédente), le « aucun succès depuis 394,7 h » de la supervision compte found=0 comme non-succès ; profil « ok=1 found=0 médiane 0.0 » (70+ cas, fiche stale-volume-zero-faux-positif, orthoclinical y figure déjà). L'unique échec du 2026-10-31 02:24 était la fenêtre de maintenance planifiée Workday (302 → static.community.workday.com/maintenance-page.html), SYSTÉMIQUE (~40 tenants, même épisode que myview 2a5092fe) — fiche workday-maintenance-fenetre-systemique appliquée : cxs re-sondé 200 = fenêtre finie. Re-vérification live exhaustive : board vivant total=20 (US/Inde/Tchéquie/Allemagne), searchText Quebec/Québec/Canada/Montréal = 0, unique offre multi-lieux R0016638 = 5 lieux US au détail cxs ; zéro migration d'ATS. found=0 est le reflet EXACT de la source, reverdira seul à la prochaine publication QC de QuidelOrtho. Sync isolé rejoué : vert ok=1 found=0 en 2,1 s. Aucun code de fetch modifié, note de re-vérification 2026-10-31 ajoutée à la docstring. Fiches orthoclinical.md/ats-workday.md/INDEX.md régénérées (1132 autres restaurées, hors périmètre). 108 tests pytest verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200. Si orthoclinical est re-signalé stale avec board sans lieu QC : rien à faire.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +52 −52
    2. [ka6] connecteur myview: stale = faux positif « volume QC nul » (récidive, 2e intervention) + unique ok=0 = fenêtre de maintenance planifiée Workday, rien à réparer — le tenant myview.wd3 (Loblaw Provigo/Maxi) est VIVANT et vide depuis la dépublication du 2026-09-08 (R2000587691) : API cxs 200 total=0 sur loblaw_careers ET sdm_careers, site frère careers 7 offres toutes ON/AB/SK, zéro lieu QC, aucune migration d'ATS. found=0 est le reflet EXACT de la source (médiane 0.0, embauche de masse Loblaw via careers.loblaw.ca, le site Workday ne porte qu'un filet d'offres) ; profil « ok=1 found=0 médiane ≤1 » (70+ cas, fiche stale-volume-zero-faux-positif). L'échec consécutif unique du 2026-10-31 02:15 était la fenêtre de maintenance planifiée Workday (302 → static.community.workday.com/maintenance-page.html), SYSTÉMIQUE : ~40 tenants Workday de l'app en rafale 02:06–02:53 (medtronic, michelinhr, miele, moneris, motorolasolutions… = la quasi-totalité des « degraded » du scan), tous reverdissent seuls — fiche workday-maintenance-fenetre-systemique appliquée : cxs sondé 200 = fenêtre finie, sync isolé rejoué immédiatement : vert ok=1 found=0 removed=0 en 1,8 s. Angle mort type Baie-D'Urfé exclu (total=0 global, pas de lieux à relire). Aucun code de fetch modifié, note de re-vérification 2026-10-31 ajoutée à la docstring. Fiches myview.md/ats-workday.md/INDEX.md régénérées (1132 autres restaurées, hors périmètre). 108 tests pytest verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200. Si myview est re-signalé stale avec cxs total=0 : rien à faire, reverdira à la prochaine publication QC de Loblaw sur Workday.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +234 −234
  4. Thu, Oct 29, 2026 2

    1. [ka6] connecteur poolcorp: stale = faux positif « volume QC nul » (2e épisode), rien à réparer — l'unique offre QC R22181 « Expéditeur/Shipping Clerk » (Boucherville, parue 2026-10-27) dépubliée par POOLCORP entre 12:17 et 14:27 EDT le 2026-10-29. Profil connu « ok=1 found=0 médiane ≤1 » (70+ cas) : la supervision compte un sync à 0 offre comme non-succès. Chronologie : vert found=1 en continu jusqu'à 12:17, puis ok=1 found=0 dès 14:27 (missed=1). Vérification live : détail cxs de R22181 → 403 S22 (marqueur Workday documenté « dépublié ») ; board cxs 200 avec 137 offres publiées, facette pays = 100 % États-Unis (même pas de Canada), searchText Quebec/Québec/Boucherville/Montreal → 0 — tenant VIVANT, zéro migration, le volume 0 est CORRECT. Même classe saisonnière que l'épisode 2026-10-02 (industrie de la piscine, seul le centre de Boucherville publie au QC — R22132 « Seasonal Warehouse Associate » n'a vécu que 2 jours fin octobre). Sync isolé rejoué : vert ok=1 found=0 removed=1 en 10,2 s (R22181 retirée proprement à la règle des 2 absences), 0 offre active en base = reflet exact de la source ; reverdira seul à la prochaine publication QC. Aucun code de fetch modifié, docstring chronologie seulement. Fiches poolcorp.md/ats-workday.md/INDEX.md régénérées (1133 autres restaurées, hors périmètre). 108 tests pytest verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +234 −234
    2. [ka6] connecteur navcanada: stale = faux positif « volume QC nul », rien à réparer — les 2 dernières offres QC du board Workday dépubliées le 2026-10-28/29. Profil connu « ok=1 found=0 médiane ≤1 » (70+ cas) : la supervision compte un sync à 0 offre comme non-succès. Chronologie : vert found=2 en continu jusqu'au 2026-10-28 23:25 EDT, puis ok=1 found=0 dès 00:28 — les 2 offres QC (JR-8513 « Operational Training Specialist – Montreal ACC » et JR-8454 « Manager, Airspace Development ») dépubliées entre les deux, retirées proprement à la règle des 2 absences (removed=2 à 03:01). Vérification live : API cxs 200 avec 28 offres publiées (Ottawa/Toronto/Vancouver/Winnipeg/North Bay/Gander/Moncton/Edmonton/Kelowna) mais zéro Québec — le « Shift Scheduling Specialist » à « 2 Locations » est une NOUVELLE réquisition JR-8506 Toronto+Winnipeg, pas l'ancienne Montréal JR-8244 ; les 2 pages détail cxs des offres retirées renvoient 404 (marqueur Workday de dépublication) — tenant VIVANT, zéro migration, le volume 0 est CORRECT. Sync isolé rejoué : vert ok=1 found=0 en 3,9 s, 0 offre active en base = reflet exact de la source. Aucun code de fetch modifié, docstring chronologie seulement ; le connecteur reverdira seul à la prochaine publication QC (ACC de Montréal, roulement régulier). Fiches navcanada.md/ats-workday.md/INDEX.md régénérées (1133 autres restaurées, hors périmètre). 108 tests pytest verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +235 −235
  5. Sat, Oct 24, 2026 3

  6. Tue, Oct 20, 2026 1

  7. Fri, Oct 16, 2026 2

    1. Simon-Pierre Boucher · 1 file +102 −102
    2. Simon-Pierre Boucher · 1 file +234 −234
  8. Thu, Oct 15, 2026 1

    1. [ka6] connecteur orthoclinical: rien à réparer côté flux — unique offre QC dépubliée le 2026-10-14 (found=0 légitime) + double artefact vague C corrigé (Field Service Representative → QuidelOrtho). Stale = variante « cycle interrompu » (restarts pm2 des missions voisines, 153 restarts, scheduler vivant en plein cycle à l'intervention). Dépublication RÉELLE de l'unique offre QC R0016868 « Field Service Representative - Quebec City Region » (parue 2026-09-14) entre 15:47 et 19:11 le 2026-10-14: détail cxs = 403 S22 (marqueur Workday classique), dernier sync avant trou = found=0 ok=1 jamais de faux échec. Board vivant 29 offres (US/Rochester, Inde, Chine, Allemagne, UK) 0 QC: searchText Quebec/Canada/Montreal/Montréal = 0, les 5 offres multi-lieux vérifiées une à une au détail cxs = 100 % US/UK, 8 sites frères sondés (External, Careers, QuidelOrtho…) = 404. Pas de migration: quidelortho.com/global/en/careers/careers-home référence toujours orthoclinical.wd1.myworkdayjobs.com/Search = même tenant/board. found=0 conforme à la médiane 0.5 (source oscillant 0/1), garde-fou de dérive non déclenché (DRIFT_MIN_BASE=8 > médiane), offre désactivée proprement par le pipeline (miss_count 2, removed=1, sync vert ok=1). DOUBLE artefact vague C corrigé (classe gevgroupltd/kodify 8ff81d0): EMPLOYER/name = titre d'offre brut « Field Service Representative » → QuidelOrtho (fusion Quidel + Ortho Clinical Diagnostics 2022, diagnostics in vitro; hiringOrganization Workday = Ortho-Clinical Diagnostics, Inc., nom courant lu dans les descriptions d'offres et sur le site officiel; orthoclinical.py + sources.json), url vide → quidelortho.com; propagation à la ligne en base (UPDATE direct, l'offre étant dépubliée aucun sync ne l'aurait réécrite). Docstring enrichie, fiches orthoclinical.md/ats-workday.md/INDEX.md régénérées. Non-régression workday via dupont found=1. 107 tests verts, pm2 restart OK, site local+public 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +234 −234
  9. Wed, Oct 14, 2026 1

    1. Simon-Pierre Boucher · 1 file +234 −234
  10. Tue, Oct 13, 2026 1

  11. Tue, Oct 6, 2026 1

    1. [ka6] fix connecteur strongtie: faux positif de supervision « volume QC nul » (42e cas du pattern, 1re intervention sur cette source) — le connecteur est SAIN, found=0 est le comportement CORRECT (médiane historique 1.0, Simpson Strong-Tie siège Pleasanton CA, seul site québécois = le centre de distribution de Châteauguay qui publie 0-1 poste par vagues). Le stale de 4,1 h vient de la définition de succès de la supervision (dernier sync found>0 = 2026-10-05 21:48) : l'unique offre QC en base (R7985 « Warehouse Supervisor », Châteauguay, parue 2026-09-05) a été DÉPUBLIÉE par l'employeur entre 21:48 et 23:56 EDT (found 1 → 0, miss_count=1, puis removed=1 via le garde-fou 2-miss au sync rejoué). sync_log VERT en continu (ok=1). Marqueur Workday classique confirmé live : détail cxs R7985 = 403 S22 « permission denied ». Board re-vérifié live : 200, 102 offres mondiales vivantes, facette pays Canada = 2 (Pitt Meadows BC + Brampton ON), AUCUN lieu QC dans la facette locations ; les 2 offres canadiennes inspectées au détail cxs = mono-lieu BC/ON, additionalLocations vides (angle mort rbc c095c66 exclu) ; searchText Quebec/Québec/Chateauguay/Montreal = 0 partout (les 3 hits « Canada » restants = Ho Chi Minh City, correspondances texte). Aucun site frère sur le tenant : sondage de 8 noms de sites candidats → tous 404 (leçon pwc/silabs appliquée, External est le seul site). Aucune migration d'ATS : strongtie.com/about/jobs (200) référence toujours myworkdayjobs.com/External (même tenant wd1). Artefact vague D comblé dans sources.json : url employeur vide → https://www.strongtie.com (vérifié 200, « Simpson Strong-Tie – Structural Connectors, Fasteners & Hardware »), JSON valide. Tant que Châteauguay ne republie rien, ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que reworld c59448d / peaktech 6a2cebc / mitacs a49f7a5 / zoetis 78938c3). Docstring strongtie.py enrichie (chronologie + nature du volume). Sync isolé rejoué ×2 : found=0 stable, ok=1, 7,0-7,2 s ; non-régression plateforme workday sur tenant vivant cineplex : found=1, ok=1, 2,5 s. Fiches docs/connecteurs/ strongtie.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +234 −234
  12. Mon, Oct 5, 2026 3

    1. [ka6] fix connecteur reworld: faux positif de supervision « volume QC nul » (41e cas du pattern, 1re intervention sur cette source) — le connecteur est SAIN, found=0 est le comportement CORRECT (médiane historique 0.5, Reworld ex-Covanta, valorisation énergétique des déchets, seul site québécois = l'usine de Chambly qui publie 0-1 poste par vagues). Le stale de 4,4 h vient de la définition de succès de la supervision (dernier sync found>0 = 2026-10-05 13:29) : l'unique offre QC en base (JR13561 « Waste Processing Tech II », Chambly, parue 2026-09-05) a été DÉPUBLIÉE par l'employeur entre 13:29 et 15:45 EDT (found 1 → 0, missed=1, puis removed=1 via le garde-fou 2-miss). sync_log VERT en continu (ok=1). Marqueur Workday classique confirmé live : détail cxs JR13561 = 403 S22 « permission denied ». Board re-vérifié live : 200, 160 offres mondiales vivantes, facette pays Canada = 4 (Kitchener ON ×3 + ON Works from home ×1), AUCUN lieu QC dans la facette locations ; les 4 offres canadiennes inspectées au détail cxs = mono-lieu Ontario, additionalLocations vides (angle mort rbc c095c66 exclu) ; le hit searchText « Quebec » (1) = « AZ Driver - Regional » basé à Kitchener dont la description mentionne le Québec comme destination de ROUTE, pas comme lieu de poste. Aucun site frère sur le tenant : sondage de 9 noms de sites candidats → tous 404 (leçon pwc/silabs appliquée, External est le seul site). Aucune migration d'ATS : reworldwaste.com/careers (200) référence toujours myworkdayjobs.com/External (même tenant wd5). Artefact vague C comblé dans sources.json : url employeur vide → https://www.reworldwaste.com (vérifié 200, « A Leader in Sustainable Waste Solutions | Reworld® »), JSON valide. Tant que l'usine de Chambly ne republie rien, ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que peaktech 6a2cebc / mitacs a49f7a5 / rbc edde0ca / zoetis 78938c3). Docstring reworld.py enrichie (chronologie + nature du volume). Sync isolé rejoué ×2 : found=0 stable, ok=1, 10,7-11,4 s ; non-régression plateforme workday sur tenant vivant cineplex : found=1, ok=1, 2,5 s. Fiches docs/connecteurs/ reworld.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +234 −234
    2. [ka6] fix connecteur pwc: « broken » 3 syncs à 0 — le volet campus était un faux positif structurel (dépublication en bloc à l'échéance des candidatures), RÉPARATION RÉELLE par couverture du site frère Global_Experienced_Careers (1re intervention sur cette source). Chronologie (sync_log VERT en continu ok=1) : found 61 → 10 → 5 (08:41) → 0 ×3 (11:08/13:28/15:44) le 2026-10-05 — les ~65 offres campus QC (Montréal + Ville de Québec, parues fin août-début sept., cohortes janvier/mai/sept. 2027-2028) dépubliées EN BLOC par PwC à la date limite des candidatures universitaires d'automne. Marqueur vérifié live : détail cxs = 403 S22 (dépublié) sur 4 offres échantillonnées ; gotcha neuf sur ce tenant : le détail cxs exige l'externalPath COMPLET avec suffixe d'anchor (…_753347WD-2) — slug arbitraire + id nu → 404 S21 trompeur (testé contre une offre vivante). Board campus re-vérifié : 200, 1350 offres mondiales vivantes, facette locations SANS aucune ville QC (seul Canada : Vaughan ON count=1 — la facette couvre aussi les lieux secondaires des offres multi-lieux, donc zéro angle mort rbc c095c66) ; searchText Montreal/Montréal/Quebec/Québec → 0 ; façade Phenom jobs-ca.pwc.com/campus → totalHits=0 pour Montreal (purge propre). Aucune migration d'ATS : www.pwc.com/ca/en/careers.html (403 anti-bot direct, 200 via Scrapfly) référence jobs-ca.pwc.com, façade Phenom du même tenant Workday. FIX : sondage des sites frères du tenant (leçon silabs d96f5e0) → Global_Experienced_Careers (3863 offres) porte un volume QC RÉEL et permanent : 53 offres live (facette locations Montreal 49 + Montreal-1250 René-Lévesque 1 + Québec City 17, filtre serveur vérifié non factice, repli _find_qc_facet opérationnel — is_quebec_location reconnaît les 3 libellés). Couverture ajoutée via le pattern maison EXTRA_SITES + fetch() avec dédup par external_id (shell.py 28ff173 / quadreal.py) : le connecteur ne dépend plus du seul cycle campus saisonnier. Au passage, artefacts vague C corrigés : EMPLOYER/name « January 2027 » (un libellé de COHORTE campus pris pour le nom d'employeur, affiché publiquement sur le site !) → « PwC Canada », url employeur vide → https://www.pwc.com/ca — sources.json édité de façon ciblée, JSON valide. Sync isolé rejoué ×2 : found=53 stable (ajout 53, retrait propre des 5 dernières offres campus dépubliées), ok=1, 109-174 s ; en base : 53 actives (Montréal 33, Québec 5, 15 multi-lieux sans ville unique — comportement standard plateforme, cf. circlek/walmart) ; non-régression workday sur tenant vivant mcgill : found=570, ok=1. Fiches docs/connecteurs/ pwc.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +234 −234
    3. [ka6] fix connecteur rbc: faux positif de supervision « volume QC nul » (37e cas du pattern, 2e intervention sur cette source) — le connecteur est SAIN, found=0 est le comportement CORRECT (médiane historique 0.5, portail Workday early talent RBCEARLYTALENT1 dominé par Toronto/US/Malaisie, le QC n'y a que 0-1 poste par vagues de stages). Le stale de 5,9 h vient de la définition de succès de la supervision (dernier sync found>0 = 2026-10-04 22:02) : l'unique offre QC en base (R-0000186549 « 2027 Winter Change Management Intern (4 months) », Montréal, parue 2026-09-10 — celle-là même récupérée par le fix multi-lieux c095c66 du 2026-09-28) a été DÉPUBLIÉE par RBC entre 22:02 et 00:00 EDT (found 1 → 0, missed=1, puis removed=1 via le garde-fou 2-miss). sync_log VERT en continu (ok=1). Détail cxs de R-0000186549 : 403 S22 = marqueur Workday classique « dépublié ». Re-vérification live du board /wday/cxs/rbc/RBCEARLYTALENT1/jobs : 200, 34 offres paginées (limit max 20 sur ce tenant, 400 au-delà), publication active (postes 2027), searchText Quebec/Québec/Montreal/Montréal → 0 ; l'unique offre multi-lieux « 2 Locations » (R-0000187346, leçon rbc c095c66) vérifiée au détail cxs : Jersey City + New York, 100 % US. Topologie du tenant sondée (leçon silabs d96f5e0) : 8 noms de sites frères → 404, seul RBCEARLYTALENT1 existe. Aucune migration d'ATS : Google référence toujours RBCEARLYTALENT1 comme portail early talent (y compris l'offre dépubliée en cache) ; jobs.rbc.com = façade Phenom du volet carrières général, hors périmètre de ce connecteur. sources.json déjà propre (name/url/EMPLOYER corrigés au passage précédent). Tant que RBC ne republie rien au Québec sur le portail early talent (cycles saisonniers de stages), ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que zoetis 78938c3 / cclfg 43526d3 / ghgsat 5e2c122 / poolcorp 3e3fd59). Docstring rbc.py enrichie (chronologie + marqueur + topologie du tenant). Sync isolé rejoué ×2 : found=0 stable, ok=1, ~9 s ; non-régression plateforme workday sur tenant vivant mcgill : found=545, ok=1. Fiches docs/connecteurs/ rbc.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +234 −234
  13. Sat, Oct 3, 2026 2

    1. [ka6] fix connecteur zoetis: faux positif de supervision « volume QC nul » (36e cas du pattern, 1re intervention sur cette source) — le connecteur est SAIN, found=0 est le comportement CORRECT (médiane historique 1.0, Zoetis santé animale, bureau canadien à Kirkland QC publiant sporadiquement sur le site international du tenant Workday zoetis.wd5). Le stale de 4,1 h vient de la définition de succès de la supervision (dernier sync found>0 = 2026-10-02 23:47) : l'unique offre QC en base (JR00021548 « Chef.fe de territoire, animaux de compagnie/Territory Manager, Companion Animal », CA-Quebec-Remote, parue 2026-09-03) a été DÉPUBLIÉE par Zoetis entre 23:47 et 01:54 EDT (found 1 → 0, missed=1, puis removed=1 au sync rejoué via le garde-fou 2-miss). sync_log VERT en continu (ok=1). Détail cxs de JR00021548 : 403 S22 = marqueur Workday classique « dépublié ». Re-vérification live du board /wday/cxs/zoetis/zoetis_intl/jobs : 200, 57 offres, board international vivant (Sao Paulo/Hyderabad/Europe), 0 offre Canada ; searchText Quebec/Québec/Montreal/Montréal/Kirkland → 0 ; l'unique offre multi-lieux « 5 Locations » (JR00021645, leçon rbc c095c66) vérifiée au détail cxs : lieux 100 % UK (Exeter, Leeds, Hitchin, Bristol, Ringwood). Topologie du tenant sondée (leçon silabs d96f5e0) : sites frères zoetis/Zoetis = même board US (112 offres, 0 QC — les 3 résultats searchText « Canada » sont des correspondances TEXTE à lieux US Parsippany/US-DE-Remote/US-AR-Remote), 8 autres noms → 404. Aucune migration d'ATS : zoetis.com/join-us (200) référence toujours myworkdayjobs.com/zoetis ; zoetis.ca (www2.zoetis.ca) n'a pas de portail carrières distinct (vérifié + Serper). Aucun angle mort. Au passage, artefact vague C comblé dans sources.json (pattern telus_health 5134fa5 / cclfg 43526d3) : url employeur vide → https://www.zoetis.com (vérifié 200) — édition ciblée 1 ligne, format préservé, JSON valide. Tant que Zoetis ne republie rien au Québec, ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que ghgsat 5e2c122 / poolcorp 3e3fd59 / cclfg 43526d3 / geox f785ff4). Docstring zoetis.py enrichie (chronologie + marqueur + topologie du tenant). Sync isolé rejoué ×2 : found=0 stable, ok=1, 2,7 s, retrait propre de JR00021548 (removed=1) ; non-régression plateforme workday sur tenant vivant mcgill : found=564, ok=1. Fiches docs/connecteurs/ zoetis.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +46 −46
    2. [ka6] fix connecteur altusgroup: faux positif de supervision « volume QC nul » (35e cas du pattern, 4e intervention sur cette source) — le connecteur est SAIN, found=0 est le comportement CORRECT, et la cause est désormais prouvée STRUCTURELLE sous un angle neuf (M&A, leçon tsys ad3ad36) : Altus Group démantèle ses services-conseils par cessions successives — Property Tax → Ryan LLC (clôturé 2025), évaluations canadiennes → Newmark (clôturé ~2026-03-01), et Development Advisory (ex-Cost & Project Management, la division de l'UNIQUE offre QC historique R0013818 « Cost Consultant/Conseiller(ère) en analyse de coûts », Montréal, dépubliée 2026-08-26) → Newmark (annoncé 2026-08-04, clôture 2026-09-01, communiqué officiel altusgroup.com vérifié live). Le board Workday résiduel altusgroup.wd3/AltusGroup ne porte plus que logiciel/données : re-vérifié live 200, 42 offres (Toronto/US/UK/Inde/Singapour), searchText Quebec/Québec/Montréal/Montreal → 0, offre multi-lieux « 21 Locations » R0014026 vérifiée au détail cxs = 21 lieux 100 % US. Aucun site frère sur le tenant (9 noms sondés → 404, seul AltusGroup existe). Aucune migration d'ATS : careers.altusgroup.com reste la façade Phenom AGYAGUGLOBAL (200) au-dessus du même board. ANGLE MORT DOCUMENTÉ (pas de nouveau connecteur créé, hors périmètre) : les équipes montréalaises ex-Altus publient désormais chez NEWMARK sur Oracle Cloud HCM (hdow.fa.us6.oraclecloud.com, site CX_1001) — ≥1 offre QC vérifiée live (249132 « Billing Coordinator », Montréal, parue 2026-07-29) ; Newmark (et Ryan) non couverts par job-ka → connecteur candidat pour récupérer ce volume. Le stale de 901 h vient de la définition de succès de la supervision (dernier found>0 = 2026-08-26) : sync_log VERT en continu depuis (146/148 ok), les rares échecs = fenêtre de maintenance nocturne Workday ~03 h EDT (38 sources touchées simultanément le 2026-10-03 03:11, transitoire systémique déjà retryé). Tant qu'Altus ne republie rien au Québec — improbable vu la cession de la division concernée — ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que cclfg 43526d3 / ghgsat 5e2c122 / poolcorp 3e3fd59 / tsys ad3ad36). sources.json déjà propre (url + sectors corrigés aux passages précédents). Docstring altusgroup.py enrichie (chronologie M&A + angle mort Newmark + tenant sans site frère). Sync isolé rejoué ×2 : found=0 stable, ok=1, ~4 s ; non-régression plateforme workday sur tenant vivant mcgill : found=564, ok=1. Fiches docs/connecteurs/ altusgroup.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +234 −234
  14. Fri, Oct 2, 2026 1

    1. [ka6] fix connecteur poolcorp: faux positif de supervision « volume QC nul » (32e cas du pattern, 1re intervention sur cette source) — le connecteur est SAIN, found=0 est le comportement CORRECT (médiane historique 1.0, distributeur US de produits de piscine dont seul le centre de vente de Boucherville publie au QC, industrie SAISONNIÈRE). Le stale de 4,4 h vient de la définition de succès de la supervision (dernier sync found>0 = 2026-10-02 07:34) : l'unique offre QC en base (R22014 « Expéditeur/Shipping Clerk », Boucherville, parue 2026-09-24) a été DÉPUBLIÉE par POOLCORP entre 07:34 et 10:03 EDT (found 1 → 0, missed=1, puis removed=1 au sync rejoué via le garde-fou 2-miss). sync_log VERT en continu (ok=1). Détail cxs de R22014 (et R21681) : 403 S22 = marqueur Workday documenté « dépublié ». Re-vérification live du board /wday/cxs/poolcorp/POOLCORP/jobs : 200, 168 offres, publication ACTIVE (« Posted 2 Days Ago »), facette locationRegionStateProvince SANS Québec (Canada = 3 offres, toutes en Ontario, correctement filtrées) ; searchText Quebec/Québec/Boucherville/Montreal → 0 ; les 2 offres multi-lieux « 3/4 Locations » (leçon rbc c095c66) vérifiées au détail cxs : lieux 100 % US. Aucune migration d'ATS : www.poolcorp.com/careers (403 anti-bot direct, 200 via Scrapfly) référence toujours le même tenant poolcorp.wd1. Au passage, artefacts vague C corrigés dans sources.json (pattern silabs/trugreen/reddyice) : name 'Poolcorp' → 'POOLCORP' (graphie officielle, EMPLOYER aligné dans poolcorp.py — 0 offre active, aucun impact dédup) et url employeur vide → https://www.poolcorp.com (vérifié 200 via Scrapfly) — éditions ciblées, format préservé, JSON valide. Tant que POOLCORP ne republie rien à Boucherville (attendre la saison des piscines), ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe saisonnière que reddyice 3a6cc61 / trugreen a99c362 / samsara 76fd913 ; même classe générale que geox f785ff4 / silabs d96f5e0 / telus_health 5134fa5 / findevcanada 5b0ba42). Docstring poolcorp.py enrichie (chronologie + facette lieux + vérif multi-lieux). Sync isolé rejoué ×2 : found=0 stable, ok=1, 11-12 s, retrait propre de R22014 (removed=1) ; non-régression plateforme workday sur tenant vivant mcgill : found=576, ok=1. Fiches docs/connecteurs/ poolcorp.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +234 −234
  15. Thu, Oct 1, 2026 2

    1. [ka6] fix connecteur reddyice: faux positif de supervision « volume QC nul » (31e cas du pattern, 1re intervention sur cette source) — le connecteur est SAIN, found=0 est le comportement CORRECT (médiane historique 0.5, fabricant de glace US dont l'usine de Montréal publie sporadiquement, pointe SAISONNIÈRE estivale : les 4 « Associé à la production saisonnière » JR24314-17 avaient déjà disparu mi-septembre). Le stale de 5,1 h vient de la définition de succès de la supervision (dernier sync found>0 = 2026-10-01 12:49) : l'unique offre QC en base (JR24467 « Directeur d'usine (Plant Manager) », Montréal, parue 2026-09-01) a été DÉPUBLIÉE par Reddy Ice entre 12:49 et 15:22 EDT (found 1 → 0, missed=1, puis removed=1 à 17:21 via le garde-fou 2-miss). sync_log VERT en continu (ok=1). Variante de marqueur Workday documentée sur ce tenant : détail cxs dépublié = 404 {"errorCode":"HTTP_404"} SANS sous-code S21/S22 (≠ le 403 S22 habituel) ; détail vivant = 200 + jobPostingInfo (vérifié sur JR24661 Manager, Distribution Center, Calgary). Re-vérification live du board /wday/cxs/reddyice/ReddyIceExternal/jobs : 200, 77 offres, publication ACTIVE (« Posted Today »), facette locations = 46 lieux TOUS US sauf « Calgary 3 » (1 offre, hors QC, correctement filtrée) ; searchText Montreal/Montréal/Quebec/Québec → 0. Aucune migration d'ATS : www.reddyice.com/careers/jobs/ (200) embarque toujours les liens du même tenant reddyice.wd5. Au passage, artefacts vague C corrigés dans sources.json (pattern silabs/trugreen) : name 'Reddyice' → 'Reddy Ice' (graphie officielle, EMPLOYER aligné dans reddyice.py — 0 offre active, aucun impact dédup) et url employeur vide → https://www.reddyice.com (vérifié 200) — éditions ciblées, format préservé, JSON valide. Tant que Reddy Ice ne republie rien à Montréal (attendre la saison chaude), ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe saisonnière que trugreen a99c362 / samsara 76fd913 ; même classe générale que geox f785ff4 / silabs d96f5e0 / telus_health 5134fa5 / findevcanada 5b0ba42). Docstring reddyice.py enrichie (chronologie + facette lieux + variante de marqueur 404). Sync isolé rejoué ×2 : found=0 stable, ok=1, 4,9 s ; non-régression plateforme workday sur tenant vivant mcgill : found=566, ok=1. Fiches docs/connecteurs/ reddyice.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +234 −234
    2. [ka6] fix connecteur trugreen: faux positif de supervision « volume QC nul » (30e cas du pattern, 1re intervention sur cette source) — le connecteur est SAIN, found=0 est le comportement CORRECT (médiane historique 4.0, source SAISONNIÈRE : entretien de pelouse). Le stale de 5,3 h vient de la définition de succès de la supervision (dernier sync found>0 = 2026-10-01 10:36) : les 4 offres QC en base (2× « Travail Général - Technicien entretien de pelouse! » + 2× « Représentant(e) aux ventes – Temps plein », Montréal H4R 2A4 et Québec G2E 5P3, parues 2026-09-01) ont été DÉPUBLIÉES EN BLOC par TruGreen entre 10:36 et 12:58 EDT (found 4 → 0, missed=4) — fin de saison de l'entretien de pelouse au Québec, début octobre. sync_log VERT en continu (ok=1). Détail cxs des reqs R35335/R35491 : 403 S22 (marqueur Workday documenté = dépublié). Re-vérification live du board /wday/cxs/trugreen/CanadaExternalCareers/jobs : 200, 3 offres, publication ACTIVE (« Posted 2 Days Ago »), mais toutes corporate en Ontario (Barrie, Mississauga, Oshawa), searchText Quebec/Montreal → 0. Aucun angle mort : le site frère du tenant USExternalCareers (330 offres, leçon silabs d96f5e0) n'a que des villes US, searchText Quebec/Montréal → 0. NOUVEAU MARQUEUR documenté — façade Paradox.ai (chatbot Olivia) : le site carrières officiel www.trugreenjobs.com (/fr/) est un front Paradox AU-DESSUS du même tenant Workday (pages détail P1-XXXXXXX → reqs R35XXX, apply_url_destination=job_details) qui listait ENCORE les 4 offres QC dépubliées (datePosted rafraîchie 2026-09-21, purge différée) — même classe que la façade Phenom : trancher au détail cxs Workday, jamais à la façade. Aucune migration d'ATS. Tant que TruGreen ne republie pas d'offres terrain QC (attendre le printemps), ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que geox f785ff4 / silabs d96f5e0 / telus_health 5134fa5 / findevcanada 5b0ba42 ; cycle saisonnier à prévoir comme samsara 76fd913). Au passage, artefacts vague C corrigés dans sources.json (pattern silabs ad3ad36) : name 'Trugreen' → 'TruGreen' (graphie officielle, EMPLOYER aligné dans trugreen.py — les 4 offres étaient en cours de retrait, aucun impact dédup) et url employeur vide → https://www.trugreen.ca (vérifié 200, vrai site canadien sans redirection vers le .com) — éditions ciblées, format préservé, JSON valide. Docstring trugreen.py enrichie (chronologie + topologie 2 sites + marqueur Paradox). Sync isolé rejoué ×2 : found=0 stable, ok=1, 0,4 s, les 4 offres retirées proprement par le garde-fou 2-miss (removed=4) ; non-régression plateforme workday sur tenant vivant mcgill : found=565, ok=1. Fiches docs/connecteurs/ trugreen.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +234 −234
  16. Wed, Sep 30, 2026 1

    1. [ka6] fix connecteur silabs: faux positif de supervision « volume QC nul » (27e cas du pattern, 1re intervention sur cette source) — le connecteur est SAIN, found=0 est le comportement CORRECT (médiane historique 0.5). Le stale de 5,1 h vient de la définition de succès de la supervision (dernier sync found>0 = 2026-09-30 14:52) : l'unique offre QC en base (20984 « Développeur logiciel I / Software Engineer I », Montréal, parue 2026-08-22) a été DÉPUBLIÉE par Silicon Labs le jour même (found 1 → 0 avec missed=1 à 17:05, removed=1 à 19:15), confirmé au détail cxs : 403 S22 (marqueur Workday documenté : dépublié). sync_log VERT en continu (ok=1). Re-vérification live du board /wday/cxs/silabs/SiliconlabsCareers/jobs : 200, 83 offres mondiales, publication ACTIVE (« Posted Today »), mais la facette locationCountry ne contient PLUS le Canada (China ×2, Finland ×2, Hungary ×7, India ×27, Norway ×4, Singapore ×17, Taiwan ×2, USA ×22) et searchText=Montreal → 0. Aucune migration d'ATS : www.silabs.com/about-us/careers (403 en accès direct — anti-bot, vérifié via Scrapfly) référence toujours le tenant silabs.wd1. Aucun angle mort : les 3 AUTRES SITES du tenant (ExperiencedJobs 66, Internships 2, NewCollegeGraduates 13) sont vivants mais sans aucune offre canadienne non plus (Montreal → 0 partout) ; SiliconlabsCareers reste le super-ensemble. Tant que Silicon Labs ne publie rien au Québec (bureau R&D de Montréal), ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que geox f785ff4 / gearboxquebec 0373c30 / samsara 76fd913 / novistofr 894eb9d / quenchwater f1b4e0a / tsys ad3ad36 / produits_kruger e25471e / oliverbonacini d461e83). Au passage, artefacts vague C corrigés dans sources.json (pattern tsys ad3ad36) : name 'Silabs' → 'Silicon Labs' (vrai nom de l'employeur, EMPLOYER aligné dans silabs.py — 0 offre active, aucun impact dédup) et url employeur vide → https://www.silabs.com (vérifié 200 via Scrapfly) — éditions ciblées, format préservé, JSON valide. Docstring silabs.py enrichie (re-vérif 2026-09-30 + chronologie + topologie des 4 sites du tenant). Sync isolé rejoué ×2 : found=0 stable, ok=1, 6-7 s ; non-régression plateforme workday sur tenant vivant mcgill : found=314, ok=1. Fiches docs/connecteurs/ silabs.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +234 −234
  17. Tue, Sep 29, 2026 1

    1. [ka6] fix connecteur tsys: faux positif de supervision « volume QC nul » (24e cas du pattern, 1re intervention sur cette source) — le connecteur est SAIN, found=0 est le comportement CORRECT : les 6 offres Canada du board ont été dépubliées EN BLOC par l'employeur le matin même (found 6 → 5 à 09:04 → 0 à 11:21, removed=5 à 13:35), sync_log VERT en continu (ok=1). Détail cxs des offres retirées (R0071963 Montréal, R0075053 Toronto…) = 403 S22 (marqueur Workday documenté : dépublié), page publique 200 (shell SPA). Re-vérification live du board /wday/cxs/tsys/TSYS/jobs : 200, 214 offres mondiales, publication active (« Posted Today »), mais la facette locations ne contient PLUS AUCUNE ville canadienne et searchText=Montreal → 0. Cause vraisemblable documentée : restructuration Global Payments 2025-2026 (TSYS/Issuer Solutions vendu à FIS, Worldpay acquis) — vérifié live : www.tsys.com redirige vers fisglobal.com/products/total-issuing, tsys.com/careers = 404 pointant careers.fisglobal.com, le board tsys.wd1 s'intitule désormais « Global Payments & Our Family of Brands », et la façade jobs.globalpayments.com agrège tsys.wd1/TSYS + worldpay.wd5/Worldpay_External_Careers_Site. Angles morts sondés : aucun autre site sur le tenant tsys (S21 partout), Montreal → 0 aussi sur worldpay.wd5 et fis.wd5/SearchJobs → couverture intacte au 2026-09-29 ; si les offres QC réapparaissent chez FIS/Worldpay, créer un connecteur frère plutôt que modifier celui-ci. Tant que Global Payments ne publie rien au Québec sur ce board, ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que geox f785ff4 / gearboxquebec 0373c30 / samsara 76fd913 / novistofr 894eb9d / quenchwater f1b4e0a). Au passage, artefacts vague C corrigés (pattern rbc c095c66) : EMPLOYER 'Tsys' → 'TSYS' (tsys.py) et name 'Tsys' → 'TSYS' + url employeur vide → https://www.tsys.com (vérifié 200 via Scrapfly, redirige vers FIS) dans sources.json — éditions ciblées, format préservé. Docstring tsys.py enrichie (re-vérif 2026-09-29 + chronologie + contexte corporatif). Sync isolé rejoué ×2 : found=0 stable, ok=1, 12,6-14,8 s. Fiches docs/connecteurs/ tsys.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +235 −235
  18. Mon, Sep 28, 2026 1

    1. [ka6] fix connecteur rbc: angle mort réel « poste multi-lieux » derrière un stale volume-QC-nul (1re intervention) — contrairement aux 19 faux positifs précédents, il y avait une VRAIE offre QC manquée. Contexte : site early talent Workday rbc.wd3/RBCEARLYTALENT1 (stages/co-op, médiane QC 0.5), l'unique offre QC en base (« 2027 Capital Markets, Global Markets Program Summer Analyst » R-0000180191, Montréal) dépubliée par RBC dans la nuit → found=0 ×2, sync_log VERT en continu (ok=1, 233+ syncs). Re-vérification live du board : 200 JSON, 46 postes (Toronto/USA/Malaisie), searchText=Quebec → 1 poste VIVANT : « 2027 Winter Change Management Intern (4 months) » R-0000186549, lieu principal MONTRÉAL Quebec + secondaire Toronto, publié 2026-09-10 — mais sa ligne de liste affiche locationsText=« 2 Locations » sans nommer les villes, que le filtre client is_quebec_location rejetait ; et ce tenant n'expose AUCUNE facette de province (State_Province sans Quebec ni Ontario) donc pas de filtre serveur possible. FIX dans workday.py (_keep) : repli sur le slug de lieu de l'externalPath (…/job/MONTRAL-Quebec-Canada/…, porte le lieu PRINCIPAL) quand le libellé est vide ou « N Locations » — zéro requête additionnelle, ne touche que les tenants filtrés client ; limite assumée documentée : un poste dont seul un lieu SECONDAIRE est QC reste manqué. La page détail remplace déjà « 2 Locations » par le vrai lieu (mécanique existante) → l'offre entre en base avec city=Montréal. Au passage, artefacts vague C corrigés (pattern ci/geox) : EMPLOYER 'Rbc' → 'RBC' (rbc.py, docstring re-vérif 2026-09-28 + chronologie), name 'Rbc' → 'RBC' et url vide → https://www.rbc.com (vérifié 200) dans sources.json — éditions ciblées, format préservé. Sync isolé rejoué : found=1 (added=1 puis stable ×2), ok=1, ~14 s ; non-régression Workday : cibc found=69 ≈ médiane 73. Fiches docs/connecteurs/ rbc.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +234 −234
  19. Sat, Sep 26, 2026 7

    1. [ka6] fix connecteur cibc: faux positif de supervision, variante « cycle interrompu » (4e cas après childrensplace 5ed90ff, churchdwight 43ac4f4 et ci 14dfdf4) — le connecteur est SAIN (71 offres QC live ≈ médiane 73.25), rien à corriger dans le code. Le statut stale vient de la nuit : dernier succès 00:29 (found=71), échec unique à 03:14 (« Workday non-JSON après 3 essais, HTTP 200 text/html » = fenêtre de maintenance nocturne ~03 h EDT déjà documentée, non reproduite au matin), puis cycles de sync interrompus par des restarts pm2 d'autres missions (KeyboardInterrupt à 05:21, 05:37, 05:55, 06:34, 06:52, 07:06 et 07:26 au log — même paquet de stales dans la plage alphabétique c–f), si bien que le scan de supervision n'a vu aucun succès entre 00:29 et son passage ; dès la reprise du cycle, syncs de 06:10 (found=71, updated=71), 06:49 et 07:21 (found=71) ok=1. Re-vérification live du board Workday cibc.wd3/search : 200 JSON, cxs searchText=Quebec → 106 correspondances (filtre QC client is_quebec_location fait le tri → 71). Contrairement à childrensplace/ci, PAS d'artefact vague C : EMPLOYER='Banque CIBC' et name déjà corrects (connecteur vague initiale 4657429) ; seule l'url employeur était vide dans sources.json → comblée (https://www.cibc.com, vérifié 200) — édition ciblée 1 ligne, format préservé. Docstring cibc.py enrichie (re-vérif 2026-09-26 + chronologie). Sync isolé rejoué ×2 : found=71 stable, ok=1, 6,6-7,1 s. Fiches docs/connecteurs/ cibc.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +56 −56
    2. [ka6] fix connecteur ci: faux positif de supervision, variante « cycle interrompu » (3e cas après childrensplace 5ed90ff et churchdwight 43ac4f4) + correction de l'artefact vague C EMPLOYER=titre de poste — le connecteur est SAIN (3 offres QC live = médiane exacte 3.0). Le statut stale vient de la nuit : dernier succès 00:29 (found=3), échec unique à 03:13 (« Workday non-JSON après 3 essais, HTTP 200 text/html » = fenêtre de maintenance nocturne ~03 h EDT déjà documentée, non reproduite au matin), puis cycles de sync interrompus par des restarts pm2 d'autres missions (KeyboardInterrupt à 05:21, 05:37, 05:55, 06:34, 06:52 et 07:06 au log — même paquet de stales dans la plage alphabétique c–f), si bien que le scan de supervision n'a vu aucun succès entre 00:29 et son passage ; dès la reprise du cycle, syncs de 06:09 (found=3, updated=2), 06:49 et 07:21 (found=3) ok=1. Re-vérification live du board Workday ci.wd3/CI_FINANCIAL_EXTERNAL_CAREER-SITE : 200 JSON, searchText=Quebec → total=3 (Adjoint(e) aux ventes Montréal, Associé(e) au service Dorval, Vice-président régional Conseils en gestion de patrimoine Montréal) = médiane historique 3.0 — aucune migration d'ATS, aucun angle mort. CORRECTION RÉELLE au passage : artefact du générateur vague C (c45c753) — EMPLOYER/'name' était le TITRE DE POSTE « Associé(e) au service » au lieu de l'employeur CI Financial (même classe que childrensplace 5ed90ff), url vide et secteurs erronés (« Services, Commerce de détail » inférés du titre) dans sources.json ; les 3 offres publiques affichaient « Postuler chez Associé(e) au service ». Fix : EMPLOYER='CI Financial' dans ci.py (docstring re-vérif enrichie), name + url (https://www.cifinancial.com, vérifié 200 direct, titre « CI Financial ») + sectors=['Finance'] (cohérent avec cibc/sunlife/fieracapital) dans sources.json — édition ciblée, format du fichier préservé. Sync isolé rejoué ×2 : found=3 stable (updated=3 puis 0), ok=1, 2,2-2,3 s, les 3 offres actives en base portent maintenant l'employeur correct. Fiches docs/connecteurs/ ci.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +69 −69
    3. [ka6] fix connecteur churchdwight: faux positif de supervision, variante « cycle interrompu » (2e cas après childrensplace 5ed90ff) — le connecteur est SAIN (5 offres QC live = médiane exacte), rien à corriger dans le code ni sources.json. Le statut stale vient de la nuit : dernier succès 00:29 (found=5), échec unique à 03:12 (« Workday non-JSON après 3 essais, HTTP 200 text/html » = fenêtre de maintenance nocturne ~03 h EDT déjà documentée, non reproduite au matin), puis cycles de sync interrompus par des restarts pm2 d'autres missions (KeyboardInterrupt à 05:21, 05:37, 05:55, 06:34 et 06:52 au log — d'où le paquet de stales dans la même plage alphabétique c–f : ci, cibc, cineplex, circlek, conagrabrands, danaher…), si bien que le scan de supervision n'a vu aucun succès entre 00:29 et son passage ; dès la reprise du cycle, syncs de 06:09 (found=5, updated=2) et 06:49 (found=5) ok=1. Re-vérification live du board Workday churchdwight.wd1/chdcanadacareers : 200 JSON, 13 offres au total dont exactement 5 à Montréal QC (Superviseur Validation Qualité, Spécialiste Systèmes de la Qualité, Spécialiste Gestion d'inventaire, Chimiste-Analyste réviseur des données, Monteur-ajusteur) = médiane historique 5.0 — aucune migration d'ATS, aucun angle mort ; contrairement à childrensplace, PAS d'artefact vague C : EMPLOYER='Church & Dwight Canada' et sources.json (name/url https://churchdwight.ca) déjà corrects (connecteur vague 5a66f48). Seule la docstring est enrichie (re-vérif 2026-09-26 + chronologie documentée). Sync isolé rejoué ×2 : found=5 stable, ok=1, 1,9 s. Fiches docs/connecteurs/ churchdwight.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +50 −50
    4. [ka6] fix connecteur childrensplace: faux positif de supervision (le connecteur est sain — 27 offres QC live = médiane) + correction de l'artefact vague C EMPLOYER=titre de poste — le statut stale vient de la nuit : échec unique à 03:11 (« Workday non-JSON après 3 essais, HTTP 200 text/html » = fenêtre de maintenance nocturne ~03 h EDT déjà documentée, non reproduite au matin) suivi de cycles de sync interrompus par des restarts pm2 d'autres missions (KeyboardInterrupt à 05:55 et 06:34 dans guichet_emplois visibles au log), si bien que le scan de supervision n'a vu aucun succès entre 00:28 et son passage ; dès la reprise du cycle, syncs de 06:08 et 06:49 ok=1 found=27. Re-vérification live du board Workday childrensplace.wd1/TCP05 : 200 JSON, 171 offres au total, searchText=Quebec → total=27 = exactement la médiane historique (Place Laurier, Galeries de la Capitale, Place Versailles…) — aucune migration d'ATS, aucun angle mort. CORRECTION RÉELLE au passage : artefact du générateur vague C (c45c753) — EMPLOYER/'name' était le TITRE DE POSTE « Associé des ventes » au lieu du nom de l'employeur (même classe que x49_solutions_1 99dccba et le piège Recruitee documenté), et url vide dans sources.json ; les 27 offres publiques affichaient « Postuler chez Associé des ventes ». Fix : EMPLOYER="The Children's Place" dans childrensplace.py (docstring re-vérif enrichie), name+url (https://www.childrensplace.com, vérifié via Scrapfly asp : 200, titre « The Children's Place Canada », le direct rend 403 anti-bot retail) dans sources.json — édition ciblée 3 lignes, format du fichier préservé. Sync isolé rejoué ×2 : found=27 stable (updated=27 puis 0), ok=1, 3,4-3,6 s, les 27 offres actives en base portent maintenant l'employeur correct. Fiches docs/connecteurs/ childrensplace.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +104 −104
    5. [ka6] fix connecteur gilead: faux positif de supervision re-confirmé sous un angle NOUVEAU — le portail carrières officiel exclut migration d'ATS et angle mort (0 offre QC légitime, 19e cas du pattern) — le statut stale vient toujours de la définition de succès de la supervision : le board Workday gilead.wd1/gileadcareers n'a AUCUNE offre QC (516 offres live re-scannées ce jour, 0 occurrence de montréal/québec/laval/gatineau/sherbrooke/longueuil/trois-rivières, facette locations Canada = Edmonton 9 + Ontario 1 + Mississauga 4, searchText=Quebec → total=0, les 59 offres multi-lieux TOUTES re-inspectées une à une au détail cxs : aucune localisation canadienne, encore moins québécoise), donc les syncs horaires rendent ok=1 found=0 (médiane 0.0) comptés comme non-succès ; le seul échec réel (03:45 cette nuit, « Workday non-JSON après 3 essais, HTTP 200 text/html ») est la fenêtre de maintenance nocturne ~03 h EDT déjà documentée, non reproduite au matin. ANGLE NEUF (jamais couvert par l'intervention précédente 0760e1f qui re-vérifiait seulement l'API cxs) : inspection de la page carrières OFFICIELLE www.gilead.com/careers (200 direct, 116 Ko) → les seuls liens ATS pointent vers CE board Workday gilead.wd1.myworkdayjobs.com/gileadcareers — patterns challenger (migration JazzHR→Dayforce) et altusgroup (façade Phenom avec cache fantôme) EXCLUS ; sondage d'autres sites de publication du tenant (External, Ext, Careers, GileadExternal, Canada, GileadCanada, KiteCareers) → tous 404 (GileadCareers 200 = même site, casse insensible, même total 516), gileadcareers est l'unique portail externe (pas d'angle mort type autodesk « uni »). Le connecteur est INTACT : rien à corriger dans le code ni sources.json (propre depuis 0760e1f), seule la docstring est enrichie (re-vérif 2026-09-26 + angle portail officiel documenté). Fiches docs/connecteurs/ gilead.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). Sync isolé rejoué ×2 : found=0 en 38,3 s, ok=1 — 0 reste le volume légitime tant que Gilead Sciences (biopharma, sites canadiens à Edmonton et Mississauga) ne publie pas au Québec ; toute publication réelle apparaîtra dans le cxs et sera capturée (filtre client is_quebec_location opérationnel). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +52 −52
    6. [ka6] fix connecteur coorstek: faux positif de supervision re-confirmé sous un angle NOUVEAU — le portail carrières officiel exclut migration d'ATS et angle mort (0 offre QC légitime, 18e cas du pattern) — le statut stale vient toujours de la définition de succès de la supervision : le board Workday coorstek.wd1/CoorsTekCareers n'a AUCUNE offre QC (100 offres live re-scannées ce jour, 0 occurrence de montréal/québec/laval/gatineau/sherbrooke/longueuil/trois-rivières, seule offre canadienne = Ottawa ON R-114322, les 4 offres multi-lieux R-114408/R-113714 (29 lieux)/R-113978/R-112832 re-inspectées au détail cxs : lieux tous US dont Virtual USA), donc les syncs horaires rendent ok=1 found=0 (médiane 0.0) comptés comme non-succès ; le seul échec réel (03:24 cette nuit, « Workday non-JSON après 3 essais, HTTP 200 text/html ») est la fenêtre de maintenance nocturne ~03 h EDT déjà documentée dans workday.py, non reproduite au matin. ANGLE NEUF (jamais couvert par les 2 interventions précédentes b7ebb74/2c4caea qui re-vérifiaient seulement l'API cxs) : inspection de la page carrières OFFICIELLE www.coorstek.com/en/careers (200 direct, 104 Ko) → un SEUL lien ATS, vers CE board Workday coorstek.wd1.myworkdayjobs.com/en-US/CoorsTekCareers — patterns challenger (migration JazzHR→Dayforce) et altusgroup (façade Phenom avec cache fantôme) EXCLUS ; sondage d'autres sites de publication du tenant (External, Ext, Careers, CoorsTek, CoorsTekCanada, Canada, CoorsTekExternal, CoorsTekCareersCanada) → tous 404, CoorsTekCareers est l'unique portail externe (pas d'angle mort type autodesk « uni »). Le connecteur est INTACT : rien à corriger dans le code ni sources.json (propre depuis 2c4caea), seule la docstring est enrichie (re-vérif 2026-09-26 + angle portail officiel documenté). Fiches docs/connecteurs/ coorstek.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). Sync isolé rejoué ×2 : found=0 en 6,3-6,6 s, ok=1 — 0 reste le volume légitime tant que CoorsTek (céramiques techniques, usines US/Europe/Asie) ne publie pas au Québec ; toute publication réelle apparaîtra dans le cxs et sera capturée (filtre client is_quebec_location + garde-fou _NON_QC_REGION_RE opérationnels). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +33 −33
    7. [ka6] fix connecteur altusgroup: faux positif de supervision re-confirmé sous un angle NOUVEAU — le portail carrières officiel exclut migration d'ATS et angle mort (0 offre QC légitime, 17e cas du pattern) — le statut stale vient toujours de la définition de succès de la supervision : le board Workday altusgroup.wd3/AltusGroup n'a AUCUNE offre QC (44 offres live re-scannées ce jour, 0 occurrence de montréal/québec/laval/gatineau/sherbrooke, les 8 offres multi-lieux inspectées au détail cxs : 21+9+5+2×5 localisations toutes US/UK/Canada hors QC), donc les syncs horaires rendent ok=1 found=0 (médiane 0.0) comptés comme non-succès. ANGLE NEUF (jamais couvert par les 3 interventions précédentes f092997/09-18/09-19 qui re-vérifiaient seulement l'API cxs) : inspection de la page carrières OFFICIELLE www.altusgroup.com/careers → careers.altusgroup.com = façade Phenom People (tenant AGYAGUGLOBAL, CDN phenompeople.com) — pattern challenger/autodesk d'une migration d'ATS EXCLU car chaque applyUrl Phenom pointe vers CE board Workday (altusgroup.wd3.myworkdayjobs.com/AltusGroup/.../apply). Le portail Phenom affiche 53 offres dont UNE au Québec (« Cost Consultant/Conseiller(ère) en analyse de coûts », R0013818, Montréal, 60-75 k$, parue 2026-05-12) ABSENTE du board Workday : vérification décisive au détail cxs → 403 S22 « permission denied » (les deux variantes R0013818 et R0013818-1, avec et sans cookies de session fr-CA) = posting existant mais DÉPUBLIÉ du site externe, signature démontrée par triangulation (ID bidon → 404 S21 « not found », offre vivante témoin R0013639 → 200) et confirmée sur échantillon (R0013662, R0013813 aussi 403 = fantômes ; R0013890 présent au board → 200) : Phenom sert un CACHE jamais purgé (~31 offres périmées sur 53), le board Workday cxs est la source de vérité. Hypothèse « partition par locale » (pattern Dayforce) testée et écartée : pagination complète du board en session fr-CA = mêmes 44 offres, sans R0013818 ; la page publique 200 de l'offre est une coquille SPA vide (6 Ko, 0 JSON-LD) qui rendrait « not found » via le même cxs 403. Le connecteur est INTACT : rien à corriger dans le code (sources.json déjà propre depuis 09-18), seule la docstring est enrichie (re-vérif 2026-09-26 + signature 403 S22 documentée). Fiches docs/connecteurs/ altusgroup.md + ats-workday.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1130 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). Sync isolé rejoué : found=0 en 4,0 s, ok=1 — 0 reste le volume légitime tant qu'Altus ne republie pas au Québec ; toute republication réelle apparaîtra dans le cxs et sera capturée (filtre client + facette serveur opérationnels). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +234 −234
  20. Fri, Sep 25, 2026 1

    1. [ka6] fix connecteur autodesk: migration Workday → Eightfold PCSX (nouvelle plateforme jobka/connectors/eightfold.py) — le statut stale vient du sync de 12:19 en 404 sur https://autodesk.wd1.myworkdayjobs.com/wday/cxs/autodesk/Ext/jobs, corps Workday « not found: Job_Posting_Site_ID=Ext » : le site de publication Ext du tenant est DÉCOMMISSIONNÉ (toutes les variantes de nom testées → 404 ; seul survit le portail stages « uni », 27 postes hors périmètre) et la page carrières officielle autodesk.com/careers (403 Akamai en direct, lue via Scrapfly render_js) pointe désormais vers jobs.autodesk.com/careers = Eightfold AI variante PCSX (l'endpoint Eightfold classique /api/apply/v2/jobs répond 403 « Not authorized for PCSX »). Première plateforme Eightfold du repo, écrite dans le style des voisines (workday.py/workable.py) : liste GET /api/pcsx/search?domain=…&start=N&num=10&sort_by=timestamp (num plafonné serveur à 10, pagination INSTABLE — count fluctuant et lignes répétées — dédup par id + garde-fou max_pages), filtre client is_quebec_location sur TOUTES les valeurs de locations[]+standardizedLocations[] (les remote pancanadiens listent le Québec parmi des dizaines de lieux ; la facette serveur location=QC,Canada matche à tort un poste remote 100 % US, vérifié — le filtre client fait foi), détail via la page publique /careers/job/<id> rendue serveur avec JSON-LD JobPosting COMPLET (réutilise _jsonld.py : description AVEC la section transparence salariale — l'API position_details la tronque : 9 830 car. vs 11 683, ce qui déclenchait l'alerte « 96 % des offres sans salaire » au premier essai —, employmentType normalisé FULL_TIME→FULL TIME, validThrough, re-sélection de l'adresse QC parmi les jobLocation multi-lieux pour ne pas étiqueter Toronto sur une offre QC), repli position_details si le balisage disparaît ; UA JobKaBot vérifié accepté partout. Continuité des IDs préservée : les req IDs Workday (26WDxxxxxx) survivent dans atsJobId → les 22 offres QC encore publiées se METTENT À JOUR (URLs migrées vers jobs.autodesk.com, vérifiées en base) au lieu d'être recréées ; les 28 dépubliées pendant la migration (sondage individuel par req ID → 0 hit) sont retirées proprement par le garde-fou 2-miss. Sync isolé rejoué ×3 : found=22 stable, ok=1, ~15-42 s — 22 est le volume QC réel du nouveau board (126 postes monde, re-mesuré ×2 en connecteur et en urllib nu ; la médiane 50 datait du board Workday d'avant la purge de migration), fiches complètes : 22/22 ville+type+date+description, 15/22 salaire (les stages n'en publient pas), work_mode 5/22 (≈ 20 % historique). sources.json : careers_url → jobs.autodesk.com/careers, connector → eightfold, url vide → autodesk.com (même artefact que les vagues précédentes). Fiches docs/connecteurs/ autodesk.md + ats-workday.md + ats-eightfold.md (nouvelle) + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1129 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +235 −236
  21. Mon, Sep 21, 2026 1

  22. Tue, Aug 25, 2026 2

    1. Vague E — 3 nouvelles familles ATS (JazzHR, Teamtailor, Zoho Recruit) + 60 connecteurs, ~547 offres QC
      …
      - Nouvelles classes de plateforme : jazzhr.py (liste /apply/ + JSON-LD),
        teamtailor.py (sitemap + JSON-LD), zoho_recruit.py (flux RSS public) —
        filtre QC au détail avec report si budget épuisé (doctrine taleo_tbe/adp).
      - serper_scout.py : 5 nouveaux motifs (jazzhr, teamtailor, zohorecruit,
        talentnest, njoyn avec CLID/CL/hôte) + CLID dans le dédoublonnage.
      - 60 connecteurs : 31 JazzHR (Optel 13, Playground 21, Ultium CAM,
        Altitude Aérospatiale, FortNine, XTL 21, Valnet 22…), 17 Zoho Recruit
        (Mallette Saguenay 26, DRB 22, dentago 20, Carnaval de Québec, FÉRIQUE,
        Altitude Sports, Excavations Lafontaine…), 9 Teamtailor (Norda Stelo 50,
        Workin Group 34, Humanise 13, CAM Mécanique, Synertek…), 3 Njoyn
        (IR-CUSM 37, RTL 17, Groupe Master 17).
      - njoyn.py : correctif _keep — certains habillages mettent la date dans la
        colonne pays (Groupe Master 0 -> 17) ; n'exclure que les pays reconnus.
      - sources.json : 1 108 sources, 23 familles ATS ; docs/connecteurs
        régénérées (1 133 fiches) ; rapport docs/prospection-vagueE.md
        (écartés motivés + reliquats vague F : TalentNest, ENPQ/APCHQ, CUSM).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +123 −123
    2. Vague D implémentée — 75 nouveaux connecteurs (968 -> 1044 employeurs), ~768 offres QC
      …
      - 55 connecteurs générés depuis feeds-vagueD.json (gen_connectors), tous
        synchronisés sans échec (333 offres). Sandvik re-pointé sur le babillard
        public sandvik-jobs.
      - 20 connecteurs manuels sur familles existantes (435 offres) : ADP ×12
        (Nordik, Uniboard, Richelieu, UV Assurance, Strathmore, H2O, Cook It,
        Canadian Royalties, Niobec, Nemaska, Abritek, Triple Boris), Alstom
        SuccessFactors (227 offres, La Pocatière/MTL), Kiewit-Ganotec (50),
        Groupe Bellemare Njoyn (27), Ville de Mirabel, Sel Windsor, Global Excel,
        Graymont TBE, IAMGOLD Taleo.
      - Correctifs de familles : adp.py FORCE_CITY (mono-sites QC sans
        requisitionLocation) ; taleo_tbe.py secours og:title variante
        « - Canada - QC - Ville » (Graymont 0 -> 4) ; successfactors.py slug
        « -queb » final + garde-fou is_quebec_location contre les faux « QC »
        (quality control, 3 offres US interceptées ; Kiewit 3 -> 50).
      - 9 pistes écartées avec raison (babillards US/vides, iCIMS SPA) —
        détail dans docs/prospection-vagueD.md.
      - sources.json : 1 048 sources ; docs/connecteurs régénérées (1 070 fiches).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +236 −209
  23. Sun, Aug 23, 2026 1

    1. Vague C — +620 connecteurs employeurs directs (350 -> 968)
      …
      Campagne de découverte massive en 3 angles : éclaireur Serper élargi
      (60 termes x 10 ATS x 3 pages), reprise des 266 flux confirmés le 22-08
      jamais intégrés, et sondage par nom de 182 grands employeurs QC sur 10 ATS.
      Fusion/nettoyage (scripts/merge_confirmed.py : dédoublonnage multi-vagues,
      filtre des faux positifs Québec hors province, nettoyage des noms issus des
      titres Google, exclusion des babillards de démo) puis secteurs attribués par
      lots (scripts/classify_sectors.py).
      
      - Workday +148, SmartRecruiters +118, Dayforce +96, Greenhouse +93,
        Breezy +50, Workable +40, Lever +32, Ashby +25, Recruitee +12, BambooHR +3
      - SuccessFactors +4 vérifiés main : TELUS, Énergir, VIA Rail, Canada Vie
      - prises notables : Thales, Fiera Capital, Fednav, Wolseley, Cominar, Ludia,
        Granit Design, Vortex Structures Aquatiques, Warner Bros. Discovery
      - 973 sources au registre ; docs/connecteurs régénérées (995 fiches) ;
        docs/CONFORMITE.md : section Vague C + écartés (Air Canada -> Phenom, TÉLUQ,
        Valero, faux QC)
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +209 −61
Menu

Theme