SPB Git

spb/job-ka

Public
History of docs/connecteurs Clear filter
page 1
  1. Fri, Oct 23, 2026 3

    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 · 3 files +88 −85
  2. Thu, Oct 22, 2026 9

    1. [ka6] connecteur gevgroupltd: stale = faux positif volume QC nul (médiane 0.5), 2e signalement — rien à réparer côté flux, dépublication employeur confirmée live. L'offre 2740886 « Siemens Gamesa Certified Wind Turbine Troubleshooters » (Gaspé, parue 2026-09-09) dépubliée entre les syncs de 14:14 (found=1) et 16:02 (found=0) le 2026-10-22, retrait propre au garde-fou 2-miss à 18:32 (removed=1), sync_log vert en continu (ok=1 partout). Marqueur Recruitee confirmé live : détail 404 page /o/<slug> ET API /api/offers/2740886 (même marqueur que le 1er cas du 2026-10-08). Board re-vérifié vivant : 9 offres (Hull UK, Taipei TW, Fort Worth/Abilene US), aucun lieu QC — found=0 exact. Pas de migration d'ATS : gevwindpower.com/careers/ (200) embarque toujours gevgroupltd.recruitee.com. Sync isolé rejoué ok=1 found=0 removed=0 en 2,6 s. Artefact résiduel corrigé : employer de la ligne historique 2661606 encore « Siemens Gamesa Certified Wind Turbine Troubleshooters » en base → UPDATE vers GEV Wind Power (le fix EMPLOYER du 2026-10-08 n'avait pas harmonisé cette ligne, gotcha vaco/orthoclinical). sources.json déjà propre (url/name/sectors corrigés le 2026-10-08). Docstring chronologie 2e signalement, fiches gevgroupltd.md/ats-recruitee.md/INDEX.md régénérées (1131 autres fiches restaurées, hors périmètre). Non-régression recruitee via biximontreal found=2. 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 · 3 files +207 −233
    2. 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 · 3 files +209 −210
    3. [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 · 3 files +210 −209
    4. [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 · 3 files +312 −308
    5. [ka6] connecteur cardinalcouriers: stale = faux positif volume QC nul (médiane 3.0), rien à réparer côté flux — les 3 offres QC (2023 « Chauffeur-Livreur (P&D) Classe 1 » Rivière-du-Loup, 2096 « Linehaul Nuit, Conducteur, classe 1 » et 2118 « Opérations Entrepôt, Conducteur de chariot élévateur, client » Pointe-aux-Trembles) dépubliées par l'employeur entre les syncs de 07:02 (found=3) et 09:50 (found=0) le 2026-10-22, removed=3 au garde-fou 2-miss à 11:50, marqueur Dayforce confirmé live (classe stateindustrial) : détail fr-CA = 200 + postingStatus=4 pour les trois, offre vivante = postingStatus=1. Board re-vérifié vivant : 6 offres toutes Ontario (London, Hamilton, Mississauga, Edwards), 0 QC. Pas de migration d'ATS : cardinalcouriers.com/about-us/team-cardinal/ (« Join Team Cardinal ») pointe toujours can241.dayforcehcm.com/CandidatePortal/en-US/cardinalcouriers/Site/INDEEDEXCLUDE/ — même tenant, même board. DURCISSEMENT réel : fr-CA passé à maxCount=0 (les 3 QC étaient les seules offres publiées en français) alors qu'en-CA liste le board — aveuglement de culture apparu en cours de vie (classe peaktech 6a2cebc) → converti au pattern bi-culture CULTURES fr-CA+en-CA avec fusion external_id priorité fr-CA. Sync isolé ok=1 found=0 removed=0 en 4,9 s (en-CA parcouru, 6 offres ON filtrées hors QC). Artefacts vague C : EMPLOYER/name = « Linehaul Nuit, Conducteur, classe 1 » (TITRE de l'offre 2096, classe kodify/orthoclinical) → Cardinal Couriers (employer propagé aux 7 lignes inactives par UPDATE direct, gotcha orthoclinical), url vide dans sources.json → https://www.cardinalcouriers.com (200 vérifié live, « Cardinal Couriers Ltd. – Pre 8am Package Delivery »), region « Transport Pelber, Québec » → Pointe-aux-Trembles (Montréal) / Rivière-du-Loup. Docstring chronologie 1re intervention, fiches cardinalcouriers.md/ats-dayforce.md/INDEX.md régénérées. Non-régression dayforce via benmor found=4. 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 · 3 files +166 −192
  3. Wed, Oct 21, 2026 13

    1. [ka6] connecteur gdmsi: stale = faux positif volume QC nul (médiane 0.5), rien à réparer — l'unique offre QC « Ingénieur Système - Senior » (744000142912909, Sherbrooke, parue 2026-08-11) dépubliée le jour même entre les syncs de 10:48 (found=1) et 14:36 (found=0), marqueur SmartRecruiters confirmé : API détail v1 = 200 + active:false (5e confirmation après oliverbonacini/arago/cca1/nielseniq). Board v1 vivant balayé en pagination complète (110 offres, publications du jour même) : Canada = Ottawa/Calgary/Dartmouth-Cole Harbour NS, zéro QC — sites QC du tenant = Sherbrooke (805 Galt O.) et Disraeli (drones SATP/RPAS), 0-1 poste par vagues. Pas de migration d'ATS : careers.smartrecruiters.com/GDMSI/career-page-ca reste le portail du tenant ; la façade maison gdmissionsystems.ca/careers/job-search charge en XHR (juger à l'API v1) et gd.com/careers affichait encore l'offre dépubliée (cache corporate non purgé, classe Phenom). Retrait propre au garde-fou 2-miss : sync isolé ok=1 found=0 removed=1. Le trou 10:48→14:36 = restarts pm2 des missions BambooHR du jour (variante cycle interrompu). Artefact vague C : url vide dans sources.json → https://gdmissionsystems.ca (403 anti-bot direct, 200 via Scrapfly, « General Dynamics Mission Systems-Canada » ; ⚠️ gdmsi.com redirige vers massint.co.uk, homonyme britannique sans rapport). EMPLOYER conservé : « General Dynamics Missions System International » = company.name déclaré par le tenant dans l'API SR. Docstring chronologie 1re intervention, fiches gdmsi.md/ats-smartrecruiters.md/INDEX.md régénérées. Non-régression SR via cima2 found=244. 108 tests verts, pm2 restart job-ka-sync OK, site local 200, www.job-ka.com 200.
      Simon-Pierre Boucher · 3 files +396 −422
    2. [ka6] connecteur broccolini: broken = PANNE MONDIALE BambooHR (incident de sécurité PHP2SHELL) DÉJÀ TERMINÉE à l'arrivée de la mission, rien à réparer côté connecteur — même panne que rethinkcanada 7b553af8, robotiq 11935dc7, scalia 43e98cae, surmesur a697cc5a, toonboom e2674f6a, triotech 14ada0c8, vicpark 8bb2d6c6, ziptrekeco e6e7608c, batimoinc f3a1dbe1, bc2 676b3898 et bigbang 9d7b528c le même jour. Le tenant était vert avec found=23 (= médiane 23.0) au sync de 07:23:19 le 2026-10-21, premier échec à 10:16:50, première rotation du scheduler après la fenêtre de mise hors ligne des portails BambooHR (08:34-08:37 EDT), 11 échecs 404 consécutifs (/careers/list = 404 Route Not Found) jusqu'à 13:37:33. Pas une migration d'ATS : www.broccolini.com/en/careers pointe toujours vers broccolini.bamboohr.com/careers (vérifié live). FIN DE PANNE constatée pendant la mission : /careers/list de nouveau 200 (totalCount=47) sur broccolini ET le frère mitacs, le sync horaire de 13:54:28 avait déjà reverdit le tenant seul (ok=1 found=23 removed=0), re-prouvé par sync isolé pendant la mission (found=23 = médiane, added=0 removed=0) — les portails BambooHR sont revenus alors que status.bamboohr.com est encore MONITORING ; les autres frères bamboohr reverdiront seuls à leur prochaine rotation horaire. Aucun retrait pendant la panne (sync échouait proprement, ok=0 raise_for_status 404) : les 23 offres QC (22 Montréal + 1 Québec, immobilier/construction Broccolini) sont restées actives en base. Artefact vague C : url vide dans sources.json → https://www.broccolini.com (broccolini.com redirige vers www.broccolini.com/fr, 200 vérifié live, « Broccolini | Investir. Développer. Construire. »). Docstring chronologie 1re intervention, fiches broccolini.md/ats-bamboohr.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 · 3 files +42 −38
    3. [ka6] connecteur bigbang: broken = PANNE MONDIALE BambooHR (incident de sécurité PHP2SHELL), rien à réparer côté connecteur — même panne que rethinkcanada 7b553af8, robotiq 11935dc7, scalia 43e98cae, surmesur a697cc5a, toonboom e2674f6a, triotech 14ada0c8, vicpark 8bb2d6c6, ziptrekeco e6e7608c, batimoinc f3a1dbe1 et bc2 676b3898 le même jour. Le tenant était vert avec found=7 (= médiane 7.0) au sync de 07:22:01 le 2026-10-21, premier échec à 10:15:46, première rotation du scheduler après la fenêtre de mise hors ligne des portails BambooHR (08:34-08:37 EDT) : /careers/list = 404 text/plain {"error_msg":"404 Route Not Found"} sur bigbang ET le frère mitacs (vérifiés live pendant la mission), status.bamboohr.com toujours MONITORING (PHP2SHELL). Pas une migration d'ATS : bigbang360.com/careers/ pointe toujours vers ce board BambooHR. Le sync échoue proprement (ok=0, raise_for_status 404, re-vérifié par sync isolé : removed=0) donc AUCUN retrait — les 7 offres QC (Montréal, consultation ERP/CRM Big Bang) restent actives en base ; dès le retour de BambooHR (sonder /careers/list, 200 = fenêtre finie, pattern fenêtre de maintenance Workday) le sync horaire repart seul. Artefact vague C : url vide dans sources.json → https://bigbang360.com (200 vérifié live, « Big Bang 360 | ERP, CRM & Digital Transformation Experts » ; bigbangerp.com redirige vers bigbang360.com — ⚠️ PAS gobigbang.com qui redirige vers bigbangflow.com, homonyme d'email marketing). Docstring chronologie 1re intervention, fiches bigbang.md/ats-bamboohr.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 · 3 files +23 −19
    4. [ka6] connecteur bc2: broken = PANNE MONDIALE BambooHR (incident de sécurité PHP2SHELL), rien à réparer côté connecteur — même panne que rethinkcanada 7b553af8, robotiq 11935dc7, scalia 43e98cae, surmesur a697cc5a, toonboom e2674f6a, triotech 14ada0c8, vicpark 8bb2d6c6, ziptrekeco e6e7608c et batimoinc f3a1dbe1 le même jour. Le tenant était vert avec found=1 (= médiane 1.0) au sync de 07:20:40 le 2026-10-21, premier échec à 10:14:55, première rotation du scheduler après la fenêtre de mise hors ligne des portails BambooHR (08:34-08:37 EDT) : /careers/list = 404 text/plain {"error_msg":"404 Route Not Found"} sur bc2 ET le frère mitacs (vérifiés live pendant la mission), status.bamboohr.com toujours MONITORING (PHP2SHELL, « UPDATE: We have temporarily taking BambooHR offline as a precaution »). Pas une migration d'ATS. Le sync échoue proprement (ok=0, raise_for_status 404, re-vérifié par sync isolé : removed=0) donc AUCUN retrait — l'offre QC (ARCHITECTE PAYSAGISTE, Montréal, urbanisme Groupe BC2) reste active en base ; dès le retour de BambooHR (sonder /careers/list, 200 = fenêtre finie, pattern fenêtre de maintenance Workday) le sync horaire repart seul. Artefact vague C : url vide dans sources.json → https://groupebc2.ca (200 vérifié live, « Groupe BC2 — Activer la vitalité des milieux et des communautés » ; groupebc2.com redirige vers le .ca). Docstring chronologie 1re intervention, fiches bc2.md/ats-bamboohr.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 · 3 files +19 −18
    5. [ka6] connecteur batimoinc: broken = PANNE MONDIALE BambooHR (incident de sécurité PHP2SHELL), rien à réparer côté connecteur — même panne que rethinkcanada 7b553af8, robotiq 11935dc7, scalia 43e98cae, surmesur a697cc5a, toonboom e2674f6a, triotech 14ada0c8, vicpark 8bb2d6c6 et ziptrekeco e6e7608c le même jour. Le tenant était vert avec found=8 (= médiane 8.0) au sync de 07:20:09 le 2026-10-21, premier échec à 10:14:23, première rotation du scheduler après la fenêtre de mise hors ligne des portails BambooHR (08:34-08:37 EDT) : /careers/list = 404 text/plain {"error_msg":"404 Route Not Found"} sur batimoinc ET le frère mitacs (vérifiés live pendant la mission), status.bamboohr.com toujours MONITORING (PHP2SHELL, « UPDATE: We have temporarily taking BambooHR offline as a precaution »). Pas une migration d'ATS. Le sync échoue proprement (ok=0, raise_for_status 404, re-vérifié par sync isolé : removed=0) donc AUCUN retrait — les 8 offres QC (Québec, immobilier EMD-Batimo) restent actives en base ; dès le retour de BambooHR (sonder /careers/list, 200 = fenêtre finie, pattern fenêtre de maintenance Workday) le sync horaire repart seul. Pas d'artefact vague C : url de sources.json déjà correcte (https://emd-batimo.ca, 200 vérifié live, « EMD-Batimo | Tout en main pour bâtir demain »). Docstring chronologie 1re intervention, fiches batimoinc.md/ats-bamboohr.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 · 3 files +30 −29
    6. [ka6] connecteur ziptrekeco: stale = PANNE MONDIALE BambooHR (incident de sécurité PHP2SHELL), rien à réparer côté connecteur — même panne que rethinkcanada 7b553af8, robotiq 11935dc7, scalia 43e98cae, surmesur a697cc5a, toonboom e2674f6a, triotech 14ada0c8 et vicpark 8bb2d6c6 le même jour. Le tenant était vert avec found=2 (= médiane 2.0) au sync de 06:14:22 le 2026-10-21, premier échec à 09:07:04, première rotation horaire après la fenêtre de mise hors ligne des portails BambooHR (08:34-08:37 EDT) : /careers/list = 404 text/plain {"error_msg":"404 Route Not Found"} sur ziptrekeco ET le frère mitacs (vérifiés live pendant la mission), status.bamboohr.com toujours MONITORING (PHP2SHELL). Le « volume 0 » du message de supervision est un artefact de lecture : la base montre found=2 à tous les syncs verts. Pas une migration d'ATS. Le sync échoue proprement (ok=0, raise_for_status 404, re-vérifié par sync isolé : removed=0) donc AUCUN retRAIT — les 2 offres QC (Mont-Tremblant, guides de tyroliennes Ziptrek Tremblant) restent actives en base ; dès le retour de BambooHR (sonder /careers/list, 200 = fenêtre finie, pattern fenêtre de maintenance Workday) le sync horaire repart seul. Pas d'artefact vague C : url de sources.json déjà correcte (https://tremblant.ziptrek.com, 200 vérifié live, « Tremblant I Ziptrek Ecotours - The Official Tremblant Zipline »). Docstring chronologie 1re intervention, fiches ziptrekeco.md/ats-bamboohr.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.
      Simon-Pierre Boucher · 3 files +25 −21
    7. Simon-Pierre Boucher · 3 files +30 −26
    8. [ka6] connecteur triotech: stale = PANNE MONDIALE BambooHR (incident de sécurité PHP2SHELL), rien à réparer côté connecteur — même panne que rethinkcanada 7b553af8, robotiq 11935dc7, scalia 43e98cae, surmesur a697cc5a et toonboom e2674f6a le même jour. Le tenant était vert avec found=14 (= médiane 14.0) au sync de 05:55:13 le 2026-10-21, premier échec à 08:47:48, pile dans la fenêtre de mise hors ligne des portails BambooHR (08:34-08:37 EDT) : /careers/list = 404 text/plain {"error_msg":"404 Route Not Found"} sur triotech ET le frère mitacs (vérifiés live pendant la mission), status.bamboohr.com toujours MONITORING (PHP2SHELL). Pas une migration d'ATS. Le sync échoue proprement (ok=0, raise_for_status 404, re-vérifié par sync isolé : removed=0) donc AUCUN retrait — les 14 offres QC (Montréal/Joliette, attractions médiatiques Triotech) restent actives en base ; dès le retour de BambooHR (sonder /careers/list, 200 = fenêtre finie, pattern fenêtre de maintenance Workday) le sync horaire repart seul. Artefact vague C : url vide dans sources.json → https://trio-tech.com (200 vérifié live, « Interactive Dark Rides Manufacturer & Media-Based Attractions | Triotech ») — ⚠️ PAS triotech.com qui est Trio-Tech International (semi-conducteurs, US/Singapour). Docstring chronologie 1re intervention, fiches triotech.md/ats-bamboohr.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 · 3 files +30 −26
    9. [ka6] connecteur rethinkcanada: stale = PANNE MONDIALE BambooHR (incident de sécurité PHP2SHELL), rien à réparer côté connecteur. BambooHR a mis ses portails carrières hors ligne par précaution le 2026-10-21 entre 08:34 et 08:37 EDT (dernier frère vert redbarrels 08:33:57, premier 404 rethinkcanada 08:37) : /careers/list ET la page /careers = 404 text/plain {"error_msg":"404 Route Not Found"} (Cloudflare) sur TOUS les tenants — 24 connecteurs BambooHR du repo touchés simultanément (mitacs/batimoinc/devimco… vérifiés live), status.bamboohr.com = « MONITORING — PHP2SHELL security vulnerability… temporarily take BambooHR offline », rendu Scrapfly du portail = 403 « BambooHR temporarily unavailable ». Pas une migration : found=7 encore vert à 05:31 le matin même, et rethinkideas.com/careers (Next.js) affiche « Something went wrong » car il consomme la même API BambooHR. Le sync échoue proprement (ok=0, raise_for_status 404) donc AUCUN retrait — les 7 offres QC restent actives en base ; dès le retour de BambooHR (sonder /careers/list, 200 = fenêtre finie, pattern fenêtre de maintenance Workday) le sync horaire repart seul. Artefact vague C : url vide dans sources.json → https://www.rethinkideas.com (200 vérifié live). Docstring chronologie 1re intervention, fiches rethinkcanada.md/ats-bamboohr.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 · 3 files +200 −195
  4. Tue, Oct 20, 2026 2

    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 · 3 files +333 −333
  5. Mon, Oct 19, 2026 6

    1. [ka6] connecteur nutreco: stale = faux positif volume QC nul (médiane 1.0) — vague d'embauche QC (16 offres Trouw Nutrition/Shur-Gain) dépubliée progressivement 17→19 oct (16→11→2→1→0), dernière offre VAC30066-1 « Assistant(e) aux opérations — Œufs de vaccin » (Notre-Dame-des-Prairies, parue 2026-10-08) retirée entre les syncs de 08:49 (found=1) et 11:22 (found=0); détail cxs = 404 HTTP_404 SANS sous-code (variante reddyice, 2e confirmation — offre vivante répond 200 au même format), board live 200 avec 129 offres monde, facette Country Canada=4 (Skretting NB/BC), searchText Quebec/Montréal/Berthierville/Saint-Hyacinthe=0, 6 multi-lieux tous Europe/LatAm. Pas de migration d'ATS: façades officielles careers.nutreco.com (EN) et carrieres.nutreco.com (FR, liée depuis trouwnutrition.ca/fr-ca/Carrieres/) = miroirs du même vivier (sitemaps 129-130 postes identiques, 0 QC, l'offre St-Hyacinthe /vacancy/3942 indexée par Google y est 404); aucun signal M&A/fermeture QC 2026. VRAI bug latent corrigé: ce tenant met la RÉGION dans bulletFields[0] (['São Paulo'], ['Guayas']…) → external_id « Quebec » partagé par TOUTES les offres QC qui s'écrasaient sur un seul uid en base (16 trouvées, 1 affichée pendant la vague) — hook _external_id pattern altusgroup (bullet VACnnnnn sinon suffixe du chemin). Artefact vague C: url vide dans sources.json → https://www.nutreco.com (200 vérifié live). Sync isolé rejoué: found=0 ok=1 removed=1 (retrait propre de l'uid fantôme « Quebec ») en 10 s. Docstring chronologie 1re intervention, fiches nutreco.md/INDEX.md régénérées. 107 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 · 2 files +165 −190
  6. Sat, Oct 17, 2026 6

  7. Fri, Oct 16, 2026 1

    1. Simon-Pierre Boucher · 3 files +137 −136
Menu

Theme