SPB Git

spb/job-ka

Public
History of docs/connecteurs/ats-jazzhr.md Clear filter
page 1
  1. Fri, Oct 30, 2026 1

    1. [ka6] fix connecteur mcgillstlaurent: retrait définitif de la source (pattern derumarketcatering 6744631f) — le tenant JazzHR mcgillstlaurent.applytojob.com est fermé en PERMANENCE (« Inactive Career Page » 200, re-vérifié live le 2026-10-30, 8 jours et 67 échecs consécutifs depuis le 2026-10-22 — bien au-delà des lapses transitoires ~35 h type xtl) : 3e sortie JazzHR délibérée du groupe McGill St Laurent, migration Lever achevée. Deux missions ka6 (2026-10-22, 2026-10-23) avaient conclu site_source_mort en conservant le connecteur : la supervision le resynchronisait donc en boucle (statut broken), exactement le cas derumarketcatering. Couverture TOTALE prouvée par le frère mcgillstlaurentb8 (Lever org mcgillstlaurent, board unifié du groupe) : vert found=15 au sync du 2026-10-29 23:52, API Lever live = 16 offres dont les CWP Energy QC (Junior Power Trader, Agentic Innovation Specialist + versions FR) ; invariant « un seul connecteur Lever par org » → pas de réécriture. Les offres JazzHR résiduelles sont déjà expirées (0 active en base, expire_stale 7 j passé le 2026-10-29). Retrait complet pattern maison : suppression de jobka/connectors/mcgillstlaurent.py (registre auto-découvrant), de l'entrée data/sources.json (1108→1107 sources, employeurs_directs 1047→1046, updated 2026-10-30, /api/sources vérifié sans CWP Energy) et de la fiche docs/connecteurs/mcgillstlaurent.md ; INDEX.md et ats-jazzhr.md régénérés (28→27 tenants, 1133 autres fiches restaurées hors périmètre). run.py sync mcgillstlaurent → « connecteur inconnu » (attendu) ; non-régression plateforme jazzhr : xtltransportlogistics vert found=32 en 1,5 s. 108 tests pytest verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200. La supervision passera broken→retired d'elle-même (~14 j).
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +30 −31
  2. Wed, Oct 28, 2026 1

    1. [ka6] connecteur makeitbloom: stale = « Inactive Career Page » JazzHR probablement TRANSITOIRE, rien à réparer — lapse du tenant survenu le soir même (2026-10-28). Chronologie : vert found=3 (= médiane 3.0) en continu jusqu'à 18:28 EDT, puis « this account is no longer active » dès 20:54 (RuntimeError de la détection adb8637). Vérifié live : board /apply/ et pages détail des 3 offres en base renvoient 200 Inactive ; employeur VIVANT (les 3 postes relayés LinkedIn/Indeed après la coupure) ; ZÉRO migration — makeitbloom.com/careers pointe toujours le board JazzHR, pages /careers-marketing/ du sitemap datées 2018-2019, aucun board sur Lever/Greenhouse/Workable/BambooHR/Recruitee/Teamtailor/Breezy/Ashby (orgs « bloom » = homonymes Toronto/Paris), Serper → néant. PRÉCÉDENT DÉCISIF xtltransportlogistics : même marqueur du 2026-09-29 21:20 au 2026-10-01 08:30 (~35 h) puis retour vert TOUT SEUL (found=38, encore vert aujourd'hui à 32) — « Inactive Career Page » n'est pas toujours une résiliation définitive (contra mcgillstlaurent). Sync isolé rejoué : toujours Inactive, échec attendu, offres préservées. Connecteur conservé tel quel, docstring chronologie seulement ; si le tenant revient le sync repart seul, sinon expire_stale archivera les 3 offres (7 j, ~2026-11-04) et la supervision passera la source en retired (~14 j). Fiches makeitbloom.md/ats-jazzhr.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 +30 −30
  3. Fri, Oct 23, 2026 1

    1. [ka6] connecteur mcgillstlaurent: restauration après rollback automatique (2e intervention) — le diagnostic site_source_mort du 2026-10-22 (35756e9b) reste valide, le broken actuel vient du revert cff3361f de la supervision (verdict JSON tronqué → « inconnu », même mécanique que le cas enercare f5248721), pas de la source. Re-vérifié live le 2026-10-23 : tenant JazzHR mcgillstlaurent.applytojob.com toujours 200 « Inactive Career Page » (compte résilié chez l'ATS) ; board Lever unifié du groupe jobs.lever.co/mcgillstlaurent toujours vivant (7 offres dont 3 CWP Energy : Junior Power Trader QC, Agentic Innovation Specialist QC, Power Trader US filtrée) et DÉJÀ COUVERT par le frère mcgillstlaurentb8 (sync isolé rejoué ok=1 found=6 en 1,0 s). Restauration CHIRURGICALE (pas de revert du revert, les fiches docs ayant été régénérées entre-temps par les missions sobeys/gevgroupltd) : git checkout 35756e9b -- mcgillstlaurent.py (docstring chronologie) + réédition sources.json (url https://mcgillstlaurent.com/cwp-energy/ re-vérifiée 200, sectors [Énergie, Finance]) + note 2e intervention anti-récidive dans la docstring (« ne PAS re-reverter »). Sync isolé mcgillstlaurent rejoué : échec explicite attendu « compte JazzHR désactivé » (détection adb8637, comportement conçu) — aucun code de fetch modifié, le connecteur repartira seul si le tenant revenait. Fiches mcgillstlaurent.md/ats-jazzhr.md/INDEX.md régénérées (1131 autres fiches restaurées, hors périmètre). 108 tests 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 +31 −30
  4. Thu, Oct 22, 2026 2

    1. Revert "[ka6] connecteur mcgillstlaurent: compte JazzHR désactivé chez l'ATS, recrutement ABSORBÉ par le board Lever unifié du groupe déjà couvert par le frère mcgillstlaurentb8 — verdict site_source_mort, connecteur conservé intact (1re intervention). Chronologie (sync_log) : dernier sync OK 2026-10-22 12:58 EDT found=5 (médiane 5.0), puis « Inactive Career Page » à 14:44 — TOUT le tenant mcgillstlaurent.applytojob.com (CWP Energy, division trading d'énergie du groupe McGill St Laurent) fermé : liste /apply/ ET pages détail des offres en base → 200 « Inactive Career Page », vérifié live. 2e tenant JazzHR du même groupe fermé après mcgillstlaurentb8 le 2026-09-30 (93b0c2c3) : sortie de JazzHR délibérée, migration Lever achevée. REPRENEUR identifié et DÉJÀ COUVERT : cwpenergy.com redirige désormais vers mcgillstlaurent.com/cwp-energy/, la page carrières du groupe (mcgillstlaurent.com/career/) liste le board Lever unifié jobs.lever.co/mcgillstlaurent par compagnie (All 7 · CWP Energy 3 · CWP Wood 1 · GSL Grain 2 · MSL Climate 1, compagnie = categories.department côté API) ; les 3 offres CWP Energy du board (Junior Power Trader QC, Agentic Innovation Specialist QC, Power Trader US filtrée) sont déjà ingérées par le connecteur frère mcgillstlaurentb8 (found=6, sync vert). PAS de réécriture sur Lever : un 2e connecteur sur le même org violerait l'invariant « aucun autre connecteur Lever sur cet org » (93b0c2c3) et ne produirait que des doublons ; aucun ATS propre à CWP Energy (tenants cwpenergy inexistants chez Lever/Greenhouse/JazzHR/Workable/BambooHR, balayage Serper → copies agrégateurs tierces seulement). Les 3 offres JazzHR actives (Trading Risk & Performance Analyst, Risk Analyst, Electrical Engineer - Power Flow) NON reconduites sur le board Lever (postes abandonnés ou pourvus) : archivage automatique via expire_stale (7 j sans last_seen, vers le 2026-10-29), aucune purge manuelle. Sync isolé rejoué : échec explicite attendu « compte JazzHR désactivé » (détection adb8637), comportement conçu. Artefacts vague E corrigés dans sources.json (pattern xtl c4a681e1) : url vide → https://mcgillstlaurent.com/cwp-energy/ (200 vérifié live) et sectors [] → [Énergie, Finance] (vocabulaire établi : 24 et 59 sources). Docstring mcgillstlaurent.py enrichie (chronologie + re-vérifs + décision). Non-régression jazzhr sur tenant vivant motosillimitees found=2 ok=1 ; frère mcgillstlaurentb8 found=6 ok=1. Fiches docs/connecteurs/ mcgillstlaurent.md + ats-jazzhr.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1131 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 108 tests verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200."
      …
      This reverts commit 35756e9b10b910c87c5a5e0208521f2db7130c95.
      Simon-Pierre Boucher · 1 file +30 −31
    2. [ka6] connecteur mcgillstlaurent: compte JazzHR désactivé chez l'ATS, recrutement ABSORBÉ par le board Lever unifié du groupe déjà couvert par le frère mcgillstlaurentb8 — verdict site_source_mort, connecteur conservé intact (1re intervention). Chronologie (sync_log) : dernier sync OK 2026-10-22 12:58 EDT found=5 (médiane 5.0), puis « Inactive Career Page » à 14:44 — TOUT le tenant mcgillstlaurent.applytojob.com (CWP Energy, division trading d'énergie du groupe McGill St Laurent) fermé : liste /apply/ ET pages détail des offres en base → 200 « Inactive Career Page », vérifié live. 2e tenant JazzHR du même groupe fermé après mcgillstlaurentb8 le 2026-09-30 (93b0c2c3) : sortie de JazzHR délibérée, migration Lever achevée. REPRENEUR identifié et DÉJÀ COUVERT : cwpenergy.com redirige désormais vers mcgillstlaurent.com/cwp-energy/, la page carrières du groupe (mcgillstlaurent.com/career/) liste le board Lever unifié jobs.lever.co/mcgillstlaurent par compagnie (All 7 · CWP Energy 3 · CWP Wood 1 · GSL Grain 2 · MSL Climate 1, compagnie = categories.department côté API) ; les 3 offres CWP Energy du board (Junior Power Trader QC, Agentic Innovation Specialist QC, Power Trader US filtrée) sont déjà ingérées par le connecteur frère mcgillstlaurentb8 (found=6, sync vert). PAS de réécriture sur Lever : un 2e connecteur sur le même org violerait l'invariant « aucun autre connecteur Lever sur cet org » (93b0c2c3) et ne produirait que des doublons ; aucun ATS propre à CWP Energy (tenants cwpenergy inexistants chez Lever/Greenhouse/JazzHR/Workable/BambooHR, balayage Serper → copies agrégateurs tierces seulement). Les 3 offres JazzHR actives (Trading Risk & Performance Analyst, Risk Analyst, Electrical Engineer - Power Flow) NON reconduites sur le board Lever (postes abandonnés ou pourvus) : archivage automatique via expire_stale (7 j sans last_seen, vers le 2026-10-29), aucune purge manuelle. Sync isolé rejoué : échec explicite attendu « compte JazzHR désactivé » (détection adb8637), comportement conçu. Artefacts vague E corrigés dans sources.json (pattern xtl c4a681e1) : url vide → https://mcgillstlaurent.com/cwp-energy/ (200 vérifié live) et sectors [] → [Énergie, Finance] (vocabulaire établi : 24 et 59 sources). Docstring mcgillstlaurent.py enrichie (chronologie + re-vérifs + décision). Non-régression jazzhr sur tenant vivant motosillimitees found=2 ok=1 ; frère mcgillstlaurentb8 found=6 ok=1. Fiches docs/connecteurs/ mcgillstlaurent.md + ats-jazzhr.md + INDEX.md régénérées via scripts/gen_connector_docs.py (les 1131 autres fiches, dont seuls les instantanés horodatés changeaient, restaurées — hors périmètre). 108 tests 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 +31 −30
  5. Tue, Oct 20, 2026 1

    1. [ka6] connecteur makeitbloom: stale = angle mort JazzHR réel — page détail sans JSON-LD JobPosting, repli HTML générique dans jazzhr.py (found 0→1). Les 3 offres SEO (UhDHyS6fne/xvSwVILniQ/qdFba5tbN5, Montréal) dépubliées le jour même entre les syncs de 06:38 (found=3) et 15:37 (found=0) du 2026-10-20, détails confirmés 410 Gone (marqueur JazzHR, cf. geox). MAIS le board n'était PAS vide : l'offre neuve dVcAlVM7ko « Spécialiste des médias payants » (republication du poste de sept. sous un id neuf, pattern du tenant) était rejetée par le filtre QC car sa page détail ne porte AUCUN bloc JSON-LD JobPosting (seul un Organization) — une première sur ce tenant, alors que le frère playground est toujours balisé. Vrai angle mort corrigé dans jazzhr.py : _detail_fields_from_html, repli quand extract_jobposting échoue — titre via h2 du job-header, lieu « Ville, QC, Canada » via le bloc job-attributes title=Location, type via resumator-job-employment, description via #job-description borné par resumator-mobile-apply-wrapper ; validé sur les pages live makeitbloom (sans LD → Montreal/QC) et playground (avec LD → chemin JSON-LD inchangé). Test de régression ajouté (QC gardée, ON lâchée, LD prioritaire). Sync isolé rejoué : found=1 added=1 ok=1 en 2,3 s, offre en base Montréal active. Artefact vague C : url vide dans sources.json → https://www.makeitbloom.com (200 vérifié live). Docstring chronologie 1re intervention, fiches makeitbloom.md/ats-jazzhr.md/INDEX.md régénérées. 108 tests 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 +30 −30
  6. Wed, Oct 14, 2026 1

    1. Simon-Pierre Boucher · 1 file +30 −30
  7. Tue, Oct 13, 2026 1

  8. Thu, Oct 1, 2026 1

    1. [ka6] fix connecteur mcgillstlaurentb8: migration JazzHR → Lever (org=mcgillstlaurent) — le statut stale vient de la migration d'ATS de l'employeur : le tenant JazzHR historique mcgillstlaurentb8.applytojob.com répond « Inactive Career Page » (200, this account is no longer active — compte désactivé chez l'ATS, 2e cas du marqueur après xtltransportlogistics c4a681e mais ici avec REPRENEUR identifié) depuis le 2026-09-30 ~20:50 EDT, dernier sync OK found=3 à 19:05 ; plateforme jazzhr saine par ailleurs (28 autres tenants verts le 2026-10-01). La page carrières officielle mcgillstlaurent.com/career (200, site vivant) n'embarque plus AUCUN ATS — formulaire Gravity Forms de candidature spontanée seulement, pattern identique à XTL — mais balayage Serper → board Lever VIVANT jobs.lever.co/mcgillstlaurent : 5 offres au 2026-10-01 dont 4 à Montréal (Junior Grain Trader, Junior Power Trader, Physical Commodities Trader, Senior Grain Trader, publiées 2026-09-09→09-22 : la migration était en cours depuis ~3 semaines avant la fermeture du tenant JazzHR) + 1 US (Power Trader, filtrée par quebec_only). Réécriture du connecteur sur la plateforme existante jobka/connectors/lever.py (pattern challenger 28ff173), même source_id. ATTENTION espaces de noms documentée : l'ORG Lever « mcgillstlaurent » (maison mère) ≠ le connecteur frère mcgillstlaurent (tenant JazzHR mcgillstlaurent.applytojob.com = CWP Energy, division énergie du groupe, toujours VIVANT, 4 offres QC) — aucun conflit (aucun autre connecteur Lever sur cet org), aucun chevauchement de titres entre les deux boards, la dédup inter-sources tranchera au besoin. Pas de continuité d'IDs (JazzHR alphanumériques → UUID Lever) : les 3 offres JazzHR actives retirées proprement par le garde-fou 2-miss (removed=3 au 2e sync), 4 offres Lever ajoutées à neuf. sources.json : connector jazzhr → lever, careers_url → jobs.lever.co/mcgillstlaurent (200), url vide → https://mcgillstlaurent.com (vérifié 200 — artefact vague E, pattern des missions précédentes). Sync isolé rejoué ×2 : found=4 stable (added=4 puis removed=3), ok=1, 0,5-0,6 s — au-dessus de la médiane 3.0 ; fiches complètes 4/4 ville Montréal + description (5,5-9,2 k) + date_posted, URL détail live 200. Non-régression plateforme lever sur tenant vivant bhvr : found=29, ok=1. Fiches docs/connecteurs/ mcgillstlaurentb8.md + ats-lever.md + ats-jazzhr.md + 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 +31 −32
  9. Wed, Sep 30, 2026 1

    1. [ka6] fix connecteur xtltransportlogistics: compte JazzHR désactivé chez l'ATS (verdict site_source_mort, 1re intervention sur cette source) — le connecteur est INTACT et détecte correctement la condition (marqueur « Inactive Career Page » ajouté en adb8637, cas derumarketcatering) : RuntimeError explicite à chaque sync, sync_log propre. Chronologie précise (sync_log) : dernier sync OK 2026-09-29 17:12 EDT avec found=36 (médiane 36.0), puis « Inactive Career Page » à 21:20 — TOUT le tenant xtltransportlogistics.applytojob.com est fermé (page liste /apply/, iframe /apply/jobs/ ET pages détail des offres en base → 200 « Inactive Career Page », vérifié live le 2026-09-30). L'employeur XTL Transport reste bien VIVANT et recrute (offres LinkedIn/Indeed postées APRÈS la fermeture, directement sur les agrégateurs, sans URL de candidature vers un ATS) mais AUCUNE migration d'ATS détectable : les pages carrières officielles xtl.com FR/EN embarquent toujours l'iframe JazzHR mort, aucun compte JazzHR renommé (xtl/xtltransport/xtlgroup/xtltransportinc inexistants), balayage Serper Workday/Dayforce/UKG/BambooHR/Lever/Greenhouse/SmartRecruiters/Workable/Recruitee/Zoho/Teamtailor → néant ; la page « conduisez-avec-xtl » n'offre qu'un formulaire Gravity Forms. Décision : connecteur CONSERVÉ (fermeture vieille de 30 h — possible incident de facturation ou migration en cours ; précédent derumarketcatering 6744631 : retrait seulement après confirmation sur plusieurs semaines ET faux positif d'employeur, ce qui n'est pas le cas ici). Si le tenant revient, le sync repart seul ; si XTL réapparaît sur un autre ATS, repointer ORG. Les 36 offres actives en base (liens désormais morts) s'archiveront d'elles-mêmes via expire_stale (7 j sans last_seen, vers le 2026-10-06) — mécanisme du repo, aucune purge manuelle. Couverture de repli partielle : XTL publie sur Guichet-Emplois (offres QC vues, ex. Bromont), déjà agrégé par job-ka. Au passage, artefacts vague E corrigés dans sources.json (pattern cliniqued 51913fe) : url employeur vide → https://www.xtl.com (vérifié 200) et sectors [] → [Transport, Logistique] (vocabulaire établi : 32 et 41 sources) — éditions ciblées, format multiligne préservé, JSON valide. Docstring xtltransportlogistics.py enrichie (chronologie + re-vérifs + décision). Sync isolé rejoué : échec explicite attendu « compte JazzHR désactivé », comportement conçu ; non-régression plateforme jazzhr sur tenant vivant motosillimitees : found=2, ok=1. Fiches docs/connecteurs/ xtltransportlogistics.md + ats-jazzhr.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 +30 −30
  10. Sun, Sep 27, 2026 1

    1. [ka6] fix connecteur geox: faux positif de supervision « volume QC nul » (19e 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,7 h vient de la définition de succès de la supervision (dernier sync found>0 = 2026-09-27 08:16) : l'unique offre QC en base (rkgocT7cPQ « Associé(e) à la vente – temps partiel » Pointe-Claire) a été dépubliée par GEOX dans la matinée — page détail HTTP 410 Gone (nouveau marqueur documenté : JazzHR détail dépublié = 410). Le sync_log local est VERT en continu (ok=1, aucune erreur, 250+ syncs) ; le garde-fou anti-faux-zéro de jazzhr.py (marqueur resumator) écarte l'hypothèse d'une page challenge. Re-vérification live du board geox.applytojob.com/apply/ : 200, marqueur resumator présent, 2 offres publiées, TOUTES deux en Ontario (Store Manager Heartland Town Centre Mississauga, Part-Time Sales Associate Mapleview Mall Burlington), zéro Québec — aucune migration d'ATS, compte JazzHR actif. Tant que GEOX ne publie rien au Québec, ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que lifestance a4e473a). Au passage, artefacts vague E dans sources.json comblés (pattern lifestance/cibc) : url employeur vide → https://www.geox.com (vérifié 200) et sectors vide → « Commerce de détail » — édition ciblée, format préservé. Docstring geox.py enrichie (re-vérif 2026-09-27 + chronologie). Sync isolé rejoué ×2 : found=0 stable, ok=1, 0,1-0,2 s. Fiches docs/connecteurs/ geox.md + ats-jazzhr.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 +31 −31
  11. Fri, Sep 25, 2026 1

    1. [ka6] fix connecteur challenger: migration JazzHR → Dayforce (ns=fastfrate) — le statut stale vient de la migration d'ATS de l'employeur : le board JazzHR historique challenger.applytojob.com sert une vraie page « There are no open positions at this time. » (200, marqueur resumator présent — board vidé, pas un challenge) et les anciennes offres répondent HTTP 410 Gone ; la page carrières officielle challenger.com/careers (403 Cloudflare en direct, lue via Scrapfly render_js) embarque désormais le portail Dayforce jobs.dayforcehcm.com/<culture>/fastfrate/CANDIDATEPORTAL (Challenger fait partie du Groupe Fastfrate — le board JazzHR mêlait déjà les deux marques, ex. « Fastfrate Group (Lachine) »). Les 3 syncs found=0 étaient donc ok=1 sur un board réellement vidé, et les 2 dernières offres QC ont été retirées proprement par le garde-fou 2-miss. Réécriture du connecteur sur la plateforme existante jobka/connectors/dayforce.py, avec fusion des cultures fr-CA + en-CA (fr prioritaire, pattern fnfmb.py/euromoneyplc.py) car la recherche Dayforce est PARTITIONNÉE par culture de publication : le 2026-09-25 fr-CA ne voyait que 4 offres (les 4 QC, traduites) contre 26 en en-CA — sans la fusion, une future offre QC publiée seulement en anglais serait invisible. Aucun conflit de tenant : fastfrate n'était utilisé par aucun autre connecteur. sources.json : careers_url → jobs.dayforcehcm.com/fr-CA/fastfrate/CANDIDATEPORTAL, connector → dayforce, url vide → challenger.com (même artefact que les vagues précédentes ; vérifié 200 via Scrapfly, « Transportation and Logistics Provider | Challenger »). Sync isolé rejoué ×2 : found=4 stable (added=4 puis 0), ok=1, ~22 s — 4 est le volume QC réel du nouveau portail (26 offres groupe en en-CA, 4 QC re-comptées à la main dans les deux cultures), au-dessus de la médiane 1.0 ; fiches complètes 4/4 ville+description+date_posted, 1/4 salaire (43 000–53 000 $, les postes chauffeur/coordo n'en publient pas), URLs live 200. Pas de continuité d'IDs possible (IDs JazzHR alphanumériques → jobPostingId Dayforce numériques) : les 12 anciennes offres JazzHR restent inactives en base, les 4 nouvelles sont ajoutées. Fiches docs/connecteurs/ challenger.md + ats-dayforce.md + ats-jazzhr.md + 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 +32 −33
  12. Mon, Sep 21, 2026 2

    1. [ka6] fix connecteur cliniqued: faux positif de supervision (0 offre QC légitime — Clinique D n'a plus de poste ouvert) — aucun défaut du connecteur, correction d'artefacts sources.json (url vide, secteurs vides) — le statut stale vient de la définition de succès de la supervision : le compte JazzHR cliniqued est ACTIF (marqueur « resumator » présent, pas d'« Inactive Career Page » type derumarketcatering) mais la page liste affiche « no open positions at this time » depuis la dépublication de l'unique offre « Concierge Esthétique / Technicienne en laser – Laval » 0CYFU0oxZp (Laval, first_seen 2026-08-25 ; détail live 410 Gone confirmé ; found passé de 1 à 0 au sync de 16:50, miss_count=2 → active=0), donc les syncs horaires rendent ok=1 found=0 (médiane 0.5) et sont comptés comme non-succès — même profil que capintel f80c8d4, canderel 32f1e24 (volet dépublication), coorstek 2c4caea, altusgroup f092997 : tenant à volume QC temporairement nul. Le connecteur est INTACT et re-vérifié live : page liste 200 avec structure jobboard valide (le garde-fou anti-faux-zéro de jazzhr.py — marqueur resumator + détection compte fermé — fonctionne), zéro lien /apply/<id>/ dans le HTML complet, mention explicite « no open positions at this time. » ; JazzHR n'est pas partitionné par langue (contrairement à Dayforce), pas d'angle mort. Correction au passage des artefacts du générateur vague E dans data/sources.json : url vide → https://www.cliniqued.com (vérifié 200, titre « Clinique D | Dermatologie esthétique et photothérapie à Laval », retrouvé via Serper — la fiche affichait « Site : [Clinique D]() ») et sectors [] → [Santé, Esthétique] (secteurs déjà au vocabulaire — 58 et 1 sources ; la fiche affichait « Secteurs : n/d »). Docstring du connecteur ajoutée (re-vérif 2026-09-21). Fiches docs/connecteurs/ cliniqued.md + ats-jazzhr.md + 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). Sync isolé rejoué : found=0 en 0,2 s, ok=1 — 0 reste le volume légitime tant que Clinique D ne republie pas ; les offres reviendront d'elles-mêmes si republiées (liste + filtre Québec au détail opérationnels). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +32 −32
  13. Tue, Aug 25, 2026 1

    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 +85
Menu

Theme