SPB Git

spb/job-ka

Public
History of docs/connecteurs/ats-greenhouse.md Clear filter
page 1
  1. Tue, Nov 3, 2026 1

    1. [ka6] connecteur cclfg: faux positif « volume QC nul », 2e récidive — AUCUN code de fetch modifié (verdict rien_a_faire). Le stale vient de l'unique offre QC 4424797009 « Associé(e), Solutions de placement » (Montréal, parue 2026-10-06) DÉPUBLIÉE par CC&L entre les syncs verts du 03/11 09:11 (found=1) et 11:47 (found=0), retrait propre removed=1 à 14:19 (règle des 2 absences) ; la supervision compte found=0 comme non-succès (médiane 0.0, fiche stale-volume-zero-faux-positif). Preuves live : marqueur Greenhouse de dépublication confirmé deux fois — détail API v1 404 ET page publique 302 → /cclfg?error=true (même marqueur que la 1re intervention 43526d3d), offre vivante en contrôle → 200 ; board API 200 avec 71 offres monde (Toronto 28, Vancouver 25, Gurugram 17, Londres 1), 0 mention Québec dans le JSON complet (content=true) = pas d'aveuglement QC, le board corporatif ne publie à Montréal que sporadiquement (structurel, documenté depuis 2026-10-02) ; pas de migration : cclfg.cclgroup.com/careers/opportunities/ charge toujours GreenhouseBoard (gotcha noté : cette page renvoie 403 à un UA bot, 200 avec en-têtes navigateur). Sync isolé rejoué vert ok=1 found=0 en 5,5 s. Docstring chronologie mise à jour (2e récidive + gotcha 403 UA), fiches cclfg.md/ats-greenhouse.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 CC&L republie un poste à Montréal, il reviendra seul au prochain sync horaire.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +134 −134
  2. Fri, Oct 30, 2026 4

    1. [ka6] fix connecteur valtech: restauration chirurgicale du fix 3f719c8a emporté par un rollback automatique (verdict de mission illisible), re-testé vert found=7 (= médiane 7.0) — le fix était BON, le revert 2a50302b était la panne. Chronologie : fix valtech committé à 15:13 EDT le 2026-10-30 (bascule boards-api.greenhouse.io → site carrières officiel valtech.com après disparition du board Greenhouse de l'API publique, testé vert found=7), auto-reverté par la supervision à 15:17 parce que le verdict JSON de la mission était tronqué → « inconnu » (cas identique à enercare f5248721, fiche mémoire rollback-automatique-collateral) ; retour au code boards-api → 404 « Job board not found » à chaque cycle → stale re-signalé. Prémisse du fix re-vérifiée live AVANT restauration : boards-api 404 racine (inchangé), silo EU job-boards.eu.greenhouse.io/valtech désormais 404 franc (il 500ait ?error=true le matin — le retrait du board EU s'est achevé), joblist valtech.com/joblist/getjsonresult fonctionnel. Restauration CHIRURGICALE (doctrine enercare : jamais revert du revert, les docs générées ont bougé depuis via neweratech/alliedreit) : git checkout 3f719c8a -- jobka/connectors/valtech.py + réédition careers_url dans data/sources.json + note « NE PAS RE-REVERTER » dans la docstring. Sync isolé rejoué : vert ok=1 found=7 removed=0 en 2,4 s, les MÊMES 7 offres actives (Montréal) — le revert n'avait touché que le code, pas la base. Fiches valtech.md/ats-greenhouse.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 valtech est re-signalé : lire la docstring du connecteur et git log d'abord.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +133 −133
    2. [ka6] connecteur neweratech: stale = faux positif « volume QC nul » (récidive, 2e intervention), rien à réparer — la paire QC « Infraction Review Technician / Représentant service à la clientèle - Révision des infractions » (Saint-Jean-sur-Richelieu, republiée depuis le 2026-10-06 sous les NOUVEAUX ids 8871458002/8871462002 — l'employeur recycle les mêmes postes par vagues, classe samsara/pouletrouge) a été DÉPUBLIÉE par New Era entre 13:26 et 16:31 EDT le 2026-10-30. Chronologie : vert found=2 en continu jusqu'à 13:26, found=0 dès 16:31, removed=2 au sync de 17:39 (garde-fou 2-miss), sync_log VERT sans interruption (ok=1, aucune erreur technique). Vérification live : détail boards-api 404 sur les deux ids (marqueur Greenhouse de dépublication), board racine 200 avec 73 offres sur 32 lieux TOUS hors Québec (É.-U./Inde/NZ/Malaisie/UK/Singapour/Remote) — tenant VIVANT, zéro migration d'ATS. Profil connu « ok=1 found=0 médiane ≤1.5 » (70+ cas) : multinationale TI américaine dont seuls les postes de contrôle du stationnement à Saint-Jean sont québécois, found=0 est le reflet EXACT de la source ; reverdira seul à la prochaine vague QC (déjà observé : 1re vague close le 2026-09-08 commit c0f89464, 2e vague 2026-10-06→30). Sync isolé rejoué : vert ok=1 found=0 en 0,2 s, 0 offre active en base. Aucun code de fetch modifié, docstring chronologie seulement. Fiches neweratech.md/ats-greenhouse.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.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +134 −134
    3. [ka6] fix connecteur valtech: board Greenhouse disparu de l'API publique (migration silo EU cassée) → bascule sur le site carrières officiel valtech.com, IDs Greenhouse préservés — vert found=7 (= médiane 7.0)
      …
      Chronologie : vert found=7 en continu jusqu'à 10:11 EDT le 2026-10-30, puis
      404 « Job board not found » sur boards-api.greenhouse.io/v1/boards/valtech
      dès 11:53 (2 échecs consécutifs, stale). Diagnostic : le tenant vit sur le
      silo EU de Greenhouse (les absolute_url pointaient déjà sur
      job-boards.eu.greenhouse.io/valtech) mais TOUT le board y renvoie 500
      ?error=true (liste, détail, embed — un slug bidon donne 404, donc le board
      existe mais n'est plus servi), alors que l'API globale sert d'autres
      tenants EU (riverlane, eversports vérifiés 200) et que status.greenhouse.io
      est vert : board désactivé/mal migré côté Greenhouse, aucun slug de
      remplacement (Google n'indexe que « valtech », le site de l'employeur
      génère encore ces URLs). Réparation (doctrine autodesk→eightfold : suivre
      l'employeur) : fetch() réécrit sur le site carrières officiel —
      liste JSON /joblist/getjsonresult (paginée, 147 offres monde, garde-fou
      structure = erreur franche jamais un faux 0) + pages détail SSR
      /en-ca/career/jobs/<ghid>/ (description complète dans article.rte-block,
      datePosted JSON-LD = first_published Greenhouse vérifié, cache BD). Les IDs
      Greenhouse survivent en fin d'URL → continuité totale des external_id :
      sync isolé vert ok=1 found=7 updated=7 removed=0 en 14,8 s, les MÊMES
      7 offres actives (Montréal) qu'avant la panne, URLs repointées vers
      valtech.com (les anciennes job-boards.eu 500ent), dates de parution
      intactes (ex. 4999182101 → 2026-10-07). careers_url de sources.json
      repointée. Fiches valtech.md/ats-greenhouse.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.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +134 −134
  3. Fri, Oct 23, 2026 2

  4. Thu, Oct 22, 2026 3

    1. [ka6] fix connecteur vaco: tenant Greenhouse renommé vaco → vacobyhighspring (rebranding Highspring) — stale réel, migration d'org détectée et réparée. Le board « vaco » a disparu le 2026-10-22 entre les syncs de 11:15 (found=3 ok) et 13:23 (404 « Job board not found » à la racine de l'API, pas seulement sur /jobs) : rebranding Vaco → Highspring, nouvelle org « vacobyhighspring » (name API « Vaco by Highspring »), IDs d'offres renumérotés (format …003 → IDs courts). Nouveau board vérifié live : hosted 200, API content=true 200, 36 offres mondiales dont 1 QC (8274549 « Executive Finance and Accounting Recruiter (Full Desk) », Montréal — même poste que l'ancienne 7768571003) ; les 2 autres offres QC (Consulting PS Sales Director, Senior Account Executive) non reconduites dans la migration → volume QC réel = 1 (médiane 3.0 à recalibrer). Correctifs : BOARD=vacobyhighspring + EMPLOYER=Vaco by Highspring dans vaco.py (docstring chronologie), sources.json (name, careers_url, artefact vague C url vide → https://www.vaco.com, 200 vérifié), feeds.json (org + source_id:vaco épinglé pour préserver l'identifiant à la régénération, employer). Employer harmonisé sur les 5 lignes historiques (UPDATE, gotcha orthoclinical). Syncs réels : ok=1 found=1 added=1 (0,4 s) puis ok=1 found=1 removed=3 (garde-fou 2-miss, anciennes URLs 404). Fiches vaco.md/ats-greenhouse.md/INDEX.md régénérées. Non-régression greenhouse via laportefr found=61. 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 +134 −134
  5. Wed, Oct 14, 2026 1

    1. Simon-Pierre Boucher · 1 file +134 −134
  6. Tue, Oct 13, 2026 1

  7. Fri, Oct 9, 2026 1

    1. [ka6] fix connecteur ponsera: faux positif supervision « volume QC nul » (57e cas du pattern, 1re intervention) — le connecteur est SAIN, found=0 est le comportement CORRECT. Ponsera (ponsera.com, deep-tech montréalaise de désinfection au plasma froid atmosphérique, spin-off de l'incubateur TandemLaunch) a une présence QC intermittente (médiane 0.5) : son unique offre QC restante (8291085002 « Directeur général (PDG) | Chief Executive Officer (CEO) », Montréal, parue 2025-11-13) a été DÉPUBLIÉE par l'employeur entre 14:45 et 17:24 EDT le 2026-10-09 (found 1 → 0, missed=1, puis removed=1 via le garde-fou 2-miss à 19:42), sync_log VERT en continu (ok=1). Marqueur Greenhouse confirmé live sur les 2 offres historiques : détail 302 → /ponsera?error=true + API détail 404 (même marqueur que gearboxquebec/studiokraftonboard/national). TOPOLOGIE DE TENANT DOCUMENTÉE (neuve pour le repo) : le board « ponsera » est une VUE filtrée du tenant Greenhouse de TandemLaunch — /v1/boards/ponsera/departments expose les 32 départements du portefeuille (AAVAA, AIRY3D, Amphimo, Ponsera, …), tous jobs:[] quand la spin-off ne recrute pas ; le board parent « tandemlaunch » est déjà couvert par le connecteur frère (5 offres QC vivantes vérifiées, found=5, AUCUNE au département Ponsera) — pas d'angle mort inter-board, contrairement au cas enercare/CANDIDATEPORTAL. Board ponsera re-vérifié vivant : 200, total=0 toutes régions = creux d'embauche classe ghgsat/studiokraftonboard, PAS une migration d'ATS : ponsera.com (site vitrine Durable.co, route Next.js catch-all → soft-200 sur TOUT chemin, gotcha : /careers répond 200 sans page carrières réelle) n'embarque aucun ATS, le board Greenhouse reste l'unique canal d'embauche. Artefact vague C comblé dans sources.json : url employeur vide → https://ponsera.com (vérifié 200 ; édition chirurgicale 1 ligne, JSON valide). Tant que Ponsera ne republie pas de poste (TandemLaunch a vraisemblablement pourvu le poste de PDG après 11 mois d'affichage), ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe qu'acuity_insights 9caadce / alliedreit 5789d459). Docstring ponsera.py enrichie (chronologie + topologie du tenant partagé + gotcha soft-200). Sync isolé rejoué ×2 : found=0 stable, ok=1, 0,1 s ; non-régression plateforme greenhouse sur le tenant frère vivant tandemlaunch : found=5, ok. 107 tests pytest verts. Fiches docs/connecteurs/ ponsera.md + ats-greenhouse.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). 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 +136 −136
  8. Thu, Oct 8, 2026 2

    1. [ka6] fix connecteur studiokraftonboard: faux positif supervision « volume QC nul » (53e cas du pattern, 1re intervention) — le connecteur est SAIN, found=0 est le comportement CORRECT. KRAFTON Montréal Studio (kraftonmontreal.com, studio AAA de KRAFTON Inc./PUBG ouvert en 2023, développe « Project Windless » annoncé au State of Play de février 2026) publie peu (médiane 1.0, 4 offres distinctes vues depuis la création du connecteur). Son unique offre QC restante « Writer - Scenariste Senior » (8773420002, Montréal, parue 2026-09-03) a été DÉPUBLIÉE par l'employeur entre 12:36 et 14:59 EDT le 2026-10-08 (found 1 → 0, missed=1, puis removed=1 via le garde-fou 2-miss au re-test), sync_log VERT en continu (ok=1) ; le statut stale vient du trou de cadence du cycle complet des 1100+ sources + restart pm2 de 17:08 (mission national), pas d'une panne. Marqueurs Greenhouse confirmés live (4e confirmation, après gearboxquebec/reallygreatreading/national) : détail dépublié = 302 → /studiokraftonboard?error=true + API détail 404. Particularité : board re-vérifié VIVANT (API 200) mais ENTIÈREMENT VIDE (0 offre toutes régions) — dépublication complète, PAS une migration d'ATS : kraftonmontreal.com (200) est un frontend WordPress maison dont la section carrières, rendue côté serveur depuis le MÊME tenant Greenhouse, est vide elle aussi ; le portail corporate krafton.com/en/careers/jobs/ (403 au curl direct, sondé via Scrapfly render_js) ne mentionne « Montréal » que comme option de filtre studio/bureau — aucune offre montréalaise orpheline. Studio bien vivant (LinkedIn « actively recruiting », jeu en développement) : creux d'embauche, même classe que ghgsat 5e2c122 (board vidé sans migration) / national 7dca64d / pokafr 035acb7. Artefact vague B comblé dans sources.json : url employeur vide → https://kraftonmontreal.com (vérifié 200, édition chirurgicale 1 ligne, JSON valide). Tant que le studio ne republie pas de poste, ce connecteur sera re-signalé périodiquement : structurel, pas une panne. Docstring studiokraftonboard.py enrichie (chronologie + nature du volume + topologie frontend WP→Greenhouse). Sync isolé rejoué ×2 : found=0 stable, ok=1, 0,1 s ; non-régression plateforme greenhouse sur tenant vivant laportefr : found=61, ok. Fiches docs/connecteurs/ studiokraftonboard.md + ats-greenhouse.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). 107 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +50 −50
    2. [ka6] fix connecteur national: faux positif supervision « volume QC nul » (52e cas du pattern, 1re intervention) — le connecteur est SAIN, found=0 est le comportement CORRECT. NATIONAL (national.ca, cabinet de relations publiques fondé à Montréal, bureaux pan-canadiens, groupe AVENIR GLOBAL) publie peu : volume historique = UNE offre QC (5151496007 « Conseiller(ère), Relations médias, positionnement corporatif et produits (Remplacement de congé de maternité) », Montréal, parue 2026-06-02, médiane 1.0), DÉPUBLIÉE par l'employeur entre 12:24 et 14:45 EDT le 2026-10-08 (found 1 → 0, missed=1, puis removed=1 via le garde-fou 2-miss au re-test), sync_log VERT en continu (ok=1). Marqueurs Greenhouse confirmés live : détail dépublié = 302 → /national?error=true (3e confirmation, après gearboxquebec et reallygreatreading) + API détail 404 "Job not found". Board re-vérifié vivant : API 200, 3 offres (Director Corporate Communications Toronto, Director Public Affairs T.-N.-L., Senior Consultant Public Affairs Toronto), is_quebec_location False sur tous les libellés, AUCUN lieu QC. Pas de migration d'ATS : www.national.ca/en/careers/ (200) est un frontend maison branché sur le MÊME tenant Greenhouse — les liens /en/careers/detail/<id>/ reprennent exactement les 3 ids du board, l'offre dépubliée en est absente aussi. Artefact vague C comblé dans sources.json : url employeur vide → https://www.national.ca (vérifié 200, édition chirurgicale 1 ligne, JSON valide). Tant que NATIONAL ne republie pas de poste au Québec, ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que arago f697ca8 / trener_robotics 8d6ceb7 / pokafr 035acb7 / blockstream e270bec). Docstring national.py enrichie (chronologie + nature du volume + topologie frontend maison→Greenhouse). Sync isolé rejoué ×2 : found=0 stable, ok=1, 0,1 s ; non-régression plateforme greenhouse sur tenant vivant laportefr : found=61, ok. Fiches docs/connecteurs/ national.md + ats-greenhouse.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 ; gotcha restauration : hubinternational.md/msxinternational.md matchent le grep « national.md »). 107 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +134 −134
  9. Wed, Oct 7, 2026 1

    1. [ka6] fix connecteur pokafr: faux positif supervision « volume QC nul » (49e cas du pattern, 1re intervention) — le connecteur est SAIN, found=0 est le comportement CORRECT. Poka FR est le board Greenhouse MIROIR FRANÇAIS de Poka (poka.io, SaaS manufacturier de Québec ; frère EN = connecteur poka, 3e board pokaeu Europe non couvert) ; l'employeur publie peu et par paires FR/EN appariées. Sa dernière offre QC (6204969004 « Stratège de contenu et communications », parue 2026-09-28, médiane historique 0.5) a été DÉPUBLIÉE par l'employeur entre 10:20 et 12:40 EDT le 2026-10-07 (found 1 → 0, missed=1, puis removed=1 via le garde-fou 2-miss à 14:54), et sa JUMELLE EN 6204970004 « Content and Communications Strategist » a disparu du board frère poka au même sync (found 2 → 1) — dépublication de paire synchronisée, sync_log VERT en continu (ok=1). Marqueur Greenhouse confirmé live : détail dépublié = 302 → /pokafr?error=true. Board re-vérifié vivant et activement utilisé : API 200, 1 offre « Stratège Web SEO et AEO » (6210186004, jumelle FR de 6210184004 côté poka) localisée « Canada - Remote » SANS province → exclue par design (is_quebec_location testé : False — même règle que reallygreatreading 8d4d3df), AUCUN lieu QC. Le frère poka (sain, found=1) couvre l'offre « Sales Development Representative | Montreal/Toronto » : aucune offre montréalaise orpheline. Pas de migration d'ATS : poka.io/en/careers (200) référence toujours Greenhouse (boards poka + pokaeu). Artefact vague C comblé dans sources.json : url employeur vide → https://www.poka.io (vérifié 200, édition chirurgicale 1 ligne, JSON valide). Tant que Poka ne republie pas d'offre localisée au Québec sur son board FR, ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que blockstream e270bec / reallygreatreading 8d4d3df / strongtie a295929 / jove 8c2fc01). Docstring pokafr.py enrichie (chronologie + nature du volume + topologie des 3 boards). Sync isolé rejoué ×2 : found=0 stable, ok=1, 0,1 s ; non-régression plateforme greenhouse sur tenant vivant laportefr : found=61, ok=1, 0,2 s. Fiches docs/connecteurs/ pokafr.md + ats-greenhouse.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). 107 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +134 −134
  10. Tue, Oct 6, 2026 2

    1. [ka6] fix connecteur reallygreatreading: faux positif supervision « volume QC nul » (47e cas du pattern, 1re intervention) — le connecteur est SAIN, found=0 est le comportement CORRECT. Really Great Reading (reallygreatreading.com, EdTech littératie basée aux É.-U., équipe majoritairement remote) avait publié à l'été 2026 une grappe de 4 postes TI « Quebec, Canada » (parus 2026-07-09 → 2026-07-28, dépubliés au fil d'août-septembre) ; la dernière survivante (4313417009 « Senior Software Developer », médiane historique 1.0) a été DÉPUBLIÉE par l'employeur entre 15:56 et 18:17 EDT le 2026-10-06 (found 1 → 0, missed=1, puis removed=1 via le garde-fou 2-miss), sync_log VERT en continu (ok=1). Marqueur Greenhouse confirmé live : détail = 302 → /reallygreatreading?error=true. Board re-vérifié vivant : API 200, 9 offres, toutes « Remote » US/régions US — les libellés « Remote US or Canada » sans province sont exclus par design (is_quebec_location testé : False), AUCUN lieu QC. Pas de migration d'ATS : reallygreatreading.com/careers (200) redirige directement vers ce même board Greenhouse. Artefact vague C comblé dans sources.json : url employeur vide → https://www.reallygreatreading.com (vérifié 200, édition chirurgicale 1 ligne, JSON valide). Tant que l'employeur ne republie pas de poste localisé au Québec, ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que strongtie a295929 / reworld c59448d / jove 8c2fc01 / industrialelectricmanufacturing fa64460 / postmediadistributionsolutions 66e17c5). Docstring reallygreatreading.py enrichie (chronologie + nature du volume). Sync isolé rejoué ×2 : found=0 stable, ok=1, 0,1 s ; non-régression plateforme greenhouse sur tenant vivant laportefr : found=61, ok=1, 0,2 s. Fiches docs/connecteurs/ reallygreatreading.md + ats-greenhouse.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). 107 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +134 −134
    2. [ka6] fix connecteur industrialelectricmanufacturing: faux positif supervision « volume QC nul » (45e cas du pattern, 1re intervention) — le connecteur est SAIN, found=0 est le comportement CORRECT. IEM (iemfg.com, fabricant d'équipement de distribution électrique) est basé aux É.-U. (Jacksonville FL, San Antonio TX…) avec une usine canadienne à Surrey (C.-B.) ; son unique offre QC (4031922009 « Field Service Technician - Montreal, CAN », parue 2025-09-29) a été DÉPUBLIÉE par l'employeur entre 15:37 et 17:59 EDT le 2026-10-06 (found 1 → 0, missed=1, puis removed=1 via le garde-fou 2-miss au sync rejoué), sync_log VERT en continu (ok=1). Marqueur Greenhouse confirmé live : détail = 302 → /industrialelectricmanufacturing?error=true. Board re-vérifié vivant : API 200, 133 offres (US + Surrey BC), remote « US - Remote » uniquement, multi-lieux inspectés, AUCUN lieu QC/Montréal. Pas de migration d'ATS : iemfg.com/careers/ (200) embarque toujours l'embed Greenhouse de ce même org (le portail JazzHR applytojob.com référencé par Google est un vestige). Artefact vague C comblé dans sources.json : url employeur vide → https://www.iemfg.com (vérifié 200, édition chirurgicale 1 ligne, JSON valide). Tant qu'IEM ne republie pas de poste au Québec, ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que strongtie a295929 / reworld c59448d / ghgsat 5e2c122 / jove 8c2fc01). Docstring industrialelectricmanufacturing.py enrichie (chronologie + nature du volume). Sync isolé rejoué ×2 : found=0 stable, ok=1, 0,1-0,2 s ; non-régression plateforme greenhouse sur tenant vivant laportefr : found=61, ok=1, 0,2 s. Fiches docs/connecteurs/ industrialelectricmanufacturing.md + ats-greenhouse.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). 107 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +134 −134
  11. Mon, Oct 5, 2026 1

    1. [ka6] fix connecteur ten_canada: MIGRATION D'ATS Breezy → Greenhouse (1re intervention sur cette source, 1re migration vers Greenhouse du repo) — le board Breezy ten-canada.breezy.hr/json vidé en bloc le 2026-10-05 (~11:16 EDT) répondait 200 + [] toutes régions, détail = 200 + « Position Closed » (marqueur telus_health 5134fa5) ; chronologie sync_log VERTE en continu : found=6 stable → 0 ×3 (removed=6 au 2e sync, garde-fou 2-miss). PAS une dépublication légitime : la page carrières officielle tenleasing.com/en/careers/ (403 anti-bot direct, 200 via Scrapfly ; l'ancien /en-ca/careers/job-listings/ redirige vers la homepage) pointe désormais vers 2 boards Greenhouse — transportationequipmentnetworkca (Canada, 19 offres dont 6 QC = les MÊMES postes que les 6 ex-offres Breezy : Shunt Driver/Operations Coordinator/Mobile Trailer Technician/Parts Technician/Regional Maintenance Manager à Lachine + Technician Apprentice « Quebec; St Laurent ») et transportationequipmentnetwork (US, 30 offres, 0 QC, hors périmètre). FIX : ten_canada.py converti BreezyConnector → GreenhouseConnector (BOARD transportationequipmentnetworkca, pattern mcgillstlaurentb8 93b0c2c) + gotcha lieux : les libellés Greenhouse de ce board sont des villes NUES sans province (« Lachine »), le filtre Breezy passait par state.id==QC — ajout générique « lachine » à _QC_CITIES (normalize.py, pattern dorval ; regions-qc.json mappait déjà lachine → région Montréal, homonyme « Lachine, MI » rejeté par _NON_QC_REGION_RE, vérifié). Pas de continuité d'IDs (hex Breezy → numériques Greenhouse) : les 6 offres Breezy restent archivées, les 6 Greenhouse ajoutées à neuf. sources.json : connector breezy→greenhouse, careers_url → job-boards.greenhouse.io/transportationequipmentnetworkca, artefact vague C comblé url vide → https://tenleasing.com. Sync isolé rejoué ×2 : found=6 stable (= volume d'avant-panne), ok=1, 0.1-0.2 s, 6 actives en base (Lachine/Montréal ×5, St-Laurent ×1) ; non-régression greenhouse (pcm found=1 ok) ET breezy (technica_mining found=10 ok — l'ajout _QC_CITIES ne perturbe pas les voisins). Fiches docs/connecteurs/ ten_canada.md + ats-greenhouse.md + ats-breezy.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.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +135 −134
  12. Fri, Oct 2, 2026 1

    1. [ka6] fix connecteur cclfg: faux positif de supervision « volume QC nul » (34e cas du pattern, 1re intervention sur cette source) — le connecteur est SAIN, found=0 est le comportement CORRECT (médiane historique 0.5, board Greenhouse corporatif de Connor, Clark & Lunn Financial Group, groupe de gestion d'actifs dont les bureaux actifs sont Toronto/Vancouver/Gurugram/Londres et qui ne publie à Montréal que sporadiquement). Le stale de 5,3 h vient de la définition de succès de la supervision (dernier sync found>0 = 2026-10-02 12:37) : l'unique offre QC en base (4382555009 « Analyste des Opérations de TI / IT Operations Analyst », Montréal, parue 2026-08-27) a été DÉPUBLIÉE par CC&L entre 12:37 et 14:16 EDT (found 1 → 0, puis removed=1 à 16:32 via le garde-fou 2-miss). sync_log VERT en continu (ok=1). Marqueur Greenhouse vérifié live : détail dépublié = 302 → /cclfg?error=true (marqueur documenté, même que gearboxquebec 0373c30). Re-vérification live du board boards-api v1 : 200, 86 offres, tenant TRÈS vivant mais 0 mention Québec/Montréal dans le JSON complet (content=true) — offices actifs Gurugram/London/Toronto/Vancouver, aucune offre multi-lieux cachée. Aucune migration d'ATS : la page opportunités officielle cclfg.cclgroup.com/careers/opportunities/ charge toujours Greenhouse (GreenhouseBoard.initList) ; la mention « Dayforce » n'est qu'un outil interne cité dans une description de poste ; attention au soft-404 maison : www.cclgroup.com/careers/ sert une page d'erreur en 200. Topologie du groupe cartographiée (leçon novisto 894eb9d / gearbox 0373c30 — boards frères sondés) : la page opportunités agrège 7 autres boards Greenhouse d'affiliés — bcp (3 offres dont 1 QC Anjou) et pcm (14 offres dont 1 QC Montréal) DÉJÀ couverts par les connecteurs job-ka du même nom ; cclim/cclinfrastructure/cclone/crei/midstar → 0 offre QC. Aucun angle mort. Au passage, artefact vague C comblé dans sources.json (pattern telus_health 5134fa5) : url employeur vide → https://www.cclgroup.com (vérifié : 302 → cclfg.cclgroup.com, 200 avec UA navigateur) — édition ciblée 1 ligne, format préservé, JSON valide ; name « Connor, Clark & Lunn Financial Group Ltd. » conservé (raison sociale, pas une faute de graphie). Tant que CC&L ne republie rien à Montréal, ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que ghgsat 5e2c122 / poolcorp 3e3fd59 / geox f785ff4 / silabs d96f5e0). Docstring cclfg.py enrichie (chronologie + marqueur + topologie des 8 boards du groupe). Sync isolé rejoué ×2 : found=0 stable, ok=1, 0,1-0,2 s ; non-régression plateforme greenhouse sur board frère vivant pcm : found=1, ok=1. Fiches docs/connecteurs/ cclfg.md + ats-greenhouse.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 +133 −133
  13. Tue, Sep 29, 2026 1

    1. [ka6] fix connecteur novistofr: faux positif de supervision « volume QC nul » (22e 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 4,9 h vient de la définition de succès de la supervision (dernier sync found>0 = 2026-09-28 19:04) : l'unique offre QC en base (4649647005 « Enterprise Account Executive - Montreal » Montréal, parue 2026-01-19) a été dépubliée par Novisto entre 19:04 et 21:12 — API détail 404, page 302 → /novistofr?error=true (marqueurs Greenhouse documentés, confirmés gearboxquebec 0373c30 / samsara 76fd913). Le sync_log local est VERT en continu (ok=1, aucune erreur). Re-vérification live de l'API boards-api.greenhouse.io/v1/boards/novistofr/jobs : 200 mais board VIDE (0 offre toutes régions). Particularité inédite documentée : « novistofr » est le board MIROIR FRANCOPHONE de « novisto78 » (ids Greenhouse appariés : 4649647005 FR vs 4649646005 EN, même titre) — Novisto a vidé le miroir FR et republié l'offre uniquement sur le board principal (4738750005, vivante), déjà captée par le connecteur frère novisto78 (VERT, found=6, 6 offres QC Montréal actives en base) → AUCUN angle mort, la couverture QC de Novisto est intacte. Aucune migration d'ATS : la page carrières officielle novisto.com/company/careers/job-openings (200) intègre l'embed Greenhouse du board novisto78 uniquement ; novistofr n'est plus référencé nulle part. Tant que le board FR reste vide, ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que geox f785ff4 / gearboxquebec 0373c30 / samsara 76fd913). Au passage, artefact vague C dans sources.json comblé (pattern geox/gearboxquebec) : url employeur vide → https://novisto.com (vérifié 200) — édition ciblée 1 ligne, format préservé. Docstring novistofr.py enrichie (re-vérif 2026-09-29 + chronologie + particularité board miroir). Sync isolé rejoué ×2 : found=0 stable, ok=1, 0,1 s. Fiches docs/connecteurs/ novistofr.md + ats-greenhouse.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 +133 −133
  14. Mon, Sep 28, 2026 2

    1. [ka6] fix connecteur samsara: faux positif de supervision « volume QC nul » (21e cas du pattern, 3e passage sur cette source après 2026-08-29 et 2026-09-13) — le connecteur est SAIN, found=0 est le comportement CORRECT (médiane historique 0.5). Le stale de 4,6 h vient de la définition de succès de la supervision (dernier sync found>0 = 2026-09-28 13:20) : l'unique offre QC en base (7926750 « Mid-Market Account Executive - French Fluent » Montréal, parue 2026-05-14) a été dépubliée par Samsara entre 13:20 et 15:33 — API détail 404, page 302 → /samsara?error=true (marqueur Greenhouse documenté, confirmé gearboxquebec 0373c30). Particularité inédite documentée : c'est la MÊME offre 7926750 déjà dépubliée les 2026-08-29 et 2026-09-13 puis REPUBLIÉE sous le même id — Samsara la fait tourner en cycle dépublication/republication, donc ce connecteur re-signalera périodiquement des stales dans les deux sens (structurel, pas une panne ; même classe que geox f785ff4 / gearboxquebec 0373c30, avec en plus la republication réversible). Le sync_log local est VERT en continu (ok=1, aucune erreur, 340+ syncs). Re-vérification live de l'API boards-api.greenhouse.io/v1/boards/samsara/jobs : 200, 237 offres mondiales, zéro QC (les 21 « Remote - Canada » sans province sont exclues par design). Aucune migration d'ATS : la page carrières officielle samsara.com/company/careers/roles (200) référence toujours gh_board=samsara. Aucun artefact sources.json restant (déjà comblé au passage du 2026-09-13). Docstring samsara.py enrichie (re-vérif 2026-09-28 + chronologie du cycle 7926750). Sync isolé rejoué ×2 : found=0 stable, ok=1, 1,3-3,3 s. Fiches docs/connecteurs/ samsara.md + ats-greenhouse.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 +33 −33
    2. [ka6] fix connecteur gearboxquebec: faux positif de supervision « volume QC nul » (20e 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-28 12:48) : l'unique offre QC en base (7807902003 « Directeur·rice du design / Design Director » Montréal, parue 2026-07-17) a été dépubliée par Gearbox entre 12:48 et 15:01 — page détail Greenhouse HTTP 302 → ?error=true (nouveau marqueur documenté : Greenhouse détail dépublié = 302 vers le board avec error=true). Le sync_log local est VERT en continu (ok=1, aucune erreur, 354+ syncs). Re-vérification live de l'API boards-api.greenhouse.io/v1/boards/gearboxquebec/jobs : 200, {"jobs":[],"meta":{"total":0}} — board vivant mais VIDE, zéro offre toutes régions. Aucune migration d'ATS : la page carrières officielle (gearboxquebec.com → 2k.com/fr-CA/studios/gearbox/careers/#quebec, Gearbox appartient à Take-Two/2K) pointe toujours vers greenhouse.io/gearboxquebec ; le board frère « gearbox » (siège) n'a qu'1 offre, Frisco Texas, zéro Québec — aucun angle mort. Tant que Gearbox Québec ne publie rien, ce connecteur sera re-signalé périodiquement : structurel, pas une panne (même classe que geox f785ff4 / lifestance a4e473a). Au passage, artefact vague C dans sources.json comblé (pattern geox/lifestance) : url employeur vide → https://www.gearboxquebec.com (vérifié 200, redirige vers la page studio 2K) — édition ciblée 1 ligne, format préservé. Docstring gearboxquebec.py enrichie (re-vérif 2026-09-28 + chronologie). Sync isolé rejoué ×2 : found=0 stable, ok=1, 0,1-0,9 s. Fiches docs/connecteurs/ gearboxquebec.md + ats-greenhouse.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 +132 −132
  15. Wed, Sep 23, 2026 1

    1. [ka6] fix connecteur qohash: faux positif de supervision (0 offre QC légitime — Qohash n'a plus de poste au Québec) — aucun défaut du connecteur, correction d'un artefact sources.json (url vide) — le statut stale vient de la définition de succès de la supervision : le board Greenhouse qohash n'a AUCUNE offre QC depuis la dépublication le 2026-09-23 (sync de 12:10, found 1→0 ; sync rejoué 14:21, miss_count=2 → active=0) de l'unique offre montréalaise « Ingénieur(e) en solutions, bilingue (En, Fr) » 4722050005 (parue le 2026-08-12, détail API live 404 confirmé), donc les syncs horaires rendent ok=1 found=0 (médiane 1.0) et sont comptés comme non-succès — même profil que kodify c952fcc, goalcast a731f01, trupanion1 2cf5c9c, capintel f80c8d4, cliniqued 51913fe, canderel 32f1e24, coorstek 2c4caea, altusgroup f092997 : tenant à volume QC temporairement nul (12e cas du pattern). Le connecteur est INTACT et re-vérifié live : l'API boards-api.greenhouse.io répond (200, 4 offres publiées : Bilingual Fullstack Developer node/react, Senior Full Stack Developer React/Java, Senior Software Developer Go, Senior Strategic Account Executive Western Canada — toutes en lieu « Remote » SANS province, correctement exclues par is_quebec_location, cohérent avec la doctrine capintel « remote-first surveillé via le lieu du poste »), zéro lieu montréal/québec/laval/gatineau/sherbrooke dans le flux content=true (l'unique occurrence « quebec » est une préférence de résidence dans les Nice to Haves d'une offre Remote, pas un lieu), et l'endpoint /offices confirme que le bureau « Quebec Remote Work » (Quebec, Canada) existe mais n'a AUCUN poste rattaché (les 4 postes live sont au bureau générique « Remote ») — pas d'angle mort multi-bureaux ni de partition par langue (Greenhouse n'est pas partitionné par culture, contrairement à Dayforce). Correction au passage de l'artefact du générateur vague C dans data/sources.json : url vide → https://qohash.com (site officiel confirmé via Serper — qohash.com/fr « Sécurité des données et surveillance sans compromis », cybersécurité québécoise du CAMP ; curl direct 403 Cloudflare mais Scrapfly asp confirme 200 « Qohash - No Compromise Data Security and Monitoring » ; la fiche affichait « Site : [Qohash]() »). Docstring du connecteur mise à jour (re-vérif 2026-09-23). Fiches docs/connecteurs/ qohash.md + ats-greenhouse.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,1 s, ok=1, removed=1 (l'offre dépubliée passée active=0) — 0 reste le volume légitime tant que Qohash ne republie pas au Québec ; les offres reviendront d'elles-mêmes si republiées (filtre client is_quebec_location opérationnel, « Remote - Quebec » serait gardé). 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 +132 −132
  16. Tue, Sep 22, 2026 1

    1. [ka6] fix connecteur goalcast: faux positif de supervision (0 offre légitime — Goalcast n'a plus aucun poste ouvert) — aucun défaut du connecteur, correction d'un artefact sources.json (url vide) — le statut stale vient de la définition de succès de la supervision : le board Greenhouse goalcast n'a AUCUNE offre depuis la dépublication le 2026-09-22 (sync de 12:24, miss_count=2 → active=0 à 16:52) des 2 offres montréalaises « Administrative Coordinator - Coordonnateur(trice) Administratif(ive) | 2026 » 7801506003 (parue le 2026-07-10) et « Video Editor - Monteur Video | Unseen » 7759066003 (parue le 2026-06-01), détails live 404 confirmés, donc les syncs horaires rendent ok=1 found=0 (médiane 1.0) et sont comptés comme non-succès — même profil que trupanion1 2cf5c9c, capintel f80c8d4, cliniqued 51913fe, canderel 32f1e24, coorstek 2c4caea, altusgroup f092997 : tenant à volume QC temporairement nul (10e cas du pattern). Le connecteur est INTACT et re-vérifié live : l'API boards-api.greenhouse.io répond (200, jobs total=0 — board entièrement vide, pas seulement côté QC), l'endpoint /offices confirme un office unique « Goalcast HQ » (Montréal, Quebec, Canada) et /departments liste 12 départements TOUS à 0 poste (pas d'angle mort multi-bureaux ni de partition par langue — Greenhouse n'est pas partitionné par culture, contrairement à Dayforce), la page HTML job-boards.greenhouse.io/goalcast est 200 avec branding complet et message explicite « no current openings », et goalcast.com/careers reste en ligne (200, page Next.js) — pas de migration d'ATS. Goalcast étant un employeur 100 % montréalais (office unique QC), toute republication future sera re-capturée telle quelle. Correction au passage de l'artefact du générateur vague C dans data/sources.json : url vide → https://www.goalcast.com (vérifié 200 ; la fiche affichait « Site : [Goalcast]() »). Docstring du connecteur mise à jour (re-vérif 2026-09-22). Fiches docs/connecteurs/ goalcast.md + ats-greenhouse.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,1 s, ok=1 — 0 reste le volume légitime tant que Goalcast ne republie pas. 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 +133 −133
  17. Mon, Sep 21, 2026 2

    1. [ka6] fix connecteur capintel: faux positif de supervision (0 offre QC légitime — CapIntel n'a plus de poste au Québec) — aucun défaut du connecteur, correction d'un artefact sources.json (url vide) — le statut stale vient de la définition de succès de la supervision : le board Greenhouse capintel n'a AUCUNE offre QC depuis la dépublication le 2026-09-21 (sync de 16:41, miss_count=2 → active=0 à 18:14) de l'unique offre montréalaise « Context Engineer » 5111380007 (parue le 2026-04-16, détail live 404 confirmé), 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 canderel 32f1e24 (volet dépublication), coorstek 2c4caea, altusgroup f092997, quadreal ef41976 : tenant à volume QC temporairement nul. Le connecteur est INTACT et re-vérifié live exhaustivement : l'API boards-api.greenhouse.io répond (3 offres : Senior Account Executive « US (Remote) » 5234414007, Strategic Account Development Associate Toronto 5210626007 et NYC 5210627007, toutes correctement exclues par is_quebec_location), zéro occurrence de montréal/québec/laval/gatineau/sherbrooke/qc dans le JSON complet content=true, et l'endpoint /offices vérifié bureau par bureau : CapIntel a bien des bureaux « Gatineau office (QC) » et « Montreal office (QC) » dans Greenhouse mais 0 poste rattaché à chacun (les 3 postes live : 1 au bureau US NY, 2 sans bureau) — pas d'angle mort multi-lieux, pas de partition par langue (Greenhouse n'est pas partitionné par culture, contrairement à Dayforce). Correction au passage de l'artefact du générateur vague C dans data/sources.json : url vide → https://capintel.com (vérifié 200, titre « CapIntel | Investment Presentations for Wealth Firms » — fintech de présentations de placements, cohérent avec les secteurs Finance/Données déjà en place ; la fiche affichait « Site : [CapIntel]() »). Docstring du connecteur mise à jour (re-vérif 2026-09-21). Fiches docs/connecteurs/ capintel.md + ats-greenhouse.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,1 s, ok=1 — 0 reste le volume légitime tant que CapIntel ne republie pas au Québec ; les offres reviendront d'elles-mêmes si republiées (filtre client is_quebec_location opérationnel, remote-first canadien surveillé via le lieu du poste). 106 tests pytest verts. pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 1 file +133 −133
  18. 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 +58 −58
    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 +134 −132
  19. 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 +132 −39
  20. Sat, Aug 22, 2026 1

    1. Vague B — 110 nouvelles sources (26 Dayforce nouvelle famille + 84 sur familles existantes)
      …
      - Nouvelle famille Dayforce HCM (jobs.dayforcehcm.com, API JSON du frontal Next.js,
        csrf anonyme + recherche paginée, détail PayClass/PayType avec cache et budget) :
        26 employeurs dont Groupe Maurice, Groupe CH, La Vie en Rose, Eidos-Montréal,
        Air Canada Rouge, Port de Québec, Soprema, BPA…
      - Ajouts sur familles existantes : Workday +17 (Simons, Cineplex, TJX, FedEx, Abbott…),
        Greenhouse +17 (Coveo, KRAFTON, Lyft, AutoTrader…), SmartRecruiters +13,
        Workable +11, Breezy +8, Recruitee +7, Lever +6, Ashby +5.
      - sources.json : 244 → 354 sources ; docs/connecteurs régénérées (376 fiches).
      - docs/CONFORMITE.md : bases d'accès vérifiées 2026-08-22, 20+ sources écartées
        avec raisons (agences, agrégateurs, babillards vides, faux positifs français).
      - Sync validé : 110/110 sources OK, 2 102 offres ajoutées (total BD 25 280).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +39 −22
  21. Wed, Aug 19, 2026 2

    1. Simon-Pierre Boucher · 1 file +23 −22
  22. Tue, Aug 18, 2026 2

    1. docs/connecteurs : snapshot post-cycle complet (220 sources, 42 min)
      …
      Régénération des fiches sur l état stable après le premier cycle horaire
      complet à 220 sources (12:46-13:28) : 8 862 offres actives.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +21 −21
    2. Documentation connecteurs (standard Groupe-KA) + registre de conformité
      …
      - scripts/gen_connector_docs.py : générateur rejouable (ast + sources.json +
        BD live en lecture seule + sync_log + git) -> docs/connecteurs/ :
        INDEX.md + 17 fiches plateformes ATS (mécanique, endpoints, budgets,
        tableau des tenants) + 217 fiches employeurs + 3 fiches portails +
        fiche dépôt direct (239 fichiers, sections fixes standardisées)
      - docs/CONFORMITE.md : registre de conformité par famille (base d accès,
        attribution/lien candidature vérifié -> offre originale, zéro donnée
        personnelle de candidat, Québec Emploi écarté clicSÉQUR, vérifié 2026-08-18)
      - README : section Connecteurs (17 ATS, 217 employeurs directs, 3 portails,
        badge Offre directe, dépôt direct), structure/env/API à jour
      - data/sources.json : _meta enrichi (compteurs, liste ATS, pointeurs docs)
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 1 file +77
Menu

Theme