SPB Git

spb/job-ka

Public
page 1
  1. Wed, Oct 21, 2026 1

    1. [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 · 5 files +229 −197
  2. 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 · 7 files +488 −339
  3. 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 · 4 files +207 −193
  4. Sat, Oct 17, 2026 9

    1. Simon-Pierre Boucher · 1 file +1 −1
    2. Simon-Pierre Boucher · 1 file +1 −1
    3. Simon-Pierre Boucher · 2 files +27 −5
  5. Fri, Oct 16, 2026 2

    1. Simon-Pierre Boucher · 6 files +163 −143
    2. Simon-Pierre Boucher · 5 files +560 −541
  6. Thu, Oct 15, 2026 10

    1. [ka6] connecteur allredi: rien à réparer côté flux — dépublication légitime de l'unique offre QC le 2026-10-15 + artefact vague C corrigé (homepage → Allredi). Stale = faux positif de volume nul (médiane 0.5): l'unique offre QC jamais vue (2717559 « Customer Service Representative » Laval, parue 2026-08-20, 45-55 k$) dépubliée par l'employeur entre 16:04 et 18:22 (found 1→0, missed=1, puis removed=1 via garde-fou 2-miss à 20:35), sync_log vert en continu — AUCUN échec technique. Marqueur Recruitee confirmé live (3e confirmation, classe gevgroupltd/huaweicanada): détail dépublié = 404 page /o/<slug> ET API /api/offers/2717559. Board re-vérifié vivant: 15 offres (Fairfield CA, Davenport IA, Pasadena TX, Gonzales LA, Leduc/Calgary AB, Coquitlam BC, Winnipeg MB) 0 QC, aucune translations.fr cachant un site QC (gotcha huaweicanada vérifié). Pas de migration: allredi.com/careers-page embarque toujours le widget RTWidget du même tenant (company id 82775, careers_url = allredi.recruitee.com, mêmes 15 offres). Sync rejoué vert found=0 = légitime en 0,2 s. Artefact vague C (classe gevgroupltd/jam/mlp): EMPLOYER/name = « homepage » (artefact du générateur) → Allredi (nom lu dans les descriptions: « fueling Allredi's growth across North America », fabricant/distributeur d'équipement de sablage au jet abrasif; allredi.py + sources.json), url vide → allredi.com; employeur propagé à la ligne inactive 2717559 (UPDATE direct, jamais réécrite par un sync). Docstring ajoutée (chronologie 1re intervention), fiches allredi.md/ats-recruitee.md/INDEX.md régénérées. Non-régression recruitee via anciapersonnelinc found=57. 107 tests verts, pm2 restart OK, site local+public 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 5 files +367 −370
    2. [ka6] fix connecteur mlp: panne shard Dayforce 2026-10-14 déjà résolue + assurance bi-culture (pattern jam/kdcone) + artefact vague C corrigé (Mlp → MacLean Power Systems). Broken = 3 échecs FRANCS ok=0 (read timeout 15:42 puis 503 ×2 à 19:07/20:07 sur /api/geo/mlp/jobposting/search, même rafale que kdcone/jam/imperialdade/harrisrebar/ndtglobal), jamais de faux 0 — les 3 offres QC préservées; syncs verts found=3 jusqu'à 13:12 le 14, trou ensuite = restarts pm2 des missions voisines. Panne résolue d'elle-même: sync rejoué vert found=3 = médiane 3.0 en 1,3 s. Pas de migration: macleanpower.com/careers-at-mps/ référence toujours le CandidatePortal Dayforce du namespace mlp (culture maîtresse en-US). Re-sondage tri-culture (pattern jam/kdcone/imperialdade): fr-CA ne voit que les 3 offres traduites (toutes QC Châteauguay) vs 136 offres en en-CA/en-US dont 2 QC (16245/16242, MÊMES ids = vraies traductions; 16217 « Machiniste Quart de soir » n'existe qu'en fr-CA) — aucune offre QC manquée aujourd'hui, mais vue fr-CA à 3/136 sur tenant à culture maîtresse EN = angle mort latent (cas jam: quasi-totalité du QC publiée qu'en EN) → fix CULTURES=(fr-CA,en-CA) fusion par external_id priorité fr-CA, found inchangé 3 = médiane, assurance contre un futur poste QC sans traduction FR. Artefact vague C (classe gevgroupltd/jam/kdcone): EMPLOYER/name = namespace brut « Mlp » → MacLean Power Systems (nom lu dans les descriptions: « Avec son siège social situé à Fort Mill, en Caroline du Sud, MacLean Power Systems (MPS) est le principal fabricant de produits critiques », 1600 employés, usine QC = filiale Vizimax Inc. 225 boul. Ford Châteauguay; mlp.py + sources.json), url vide → macleanpower.com; propagation aux 3 actives via sync (updated=3) + 3 lignes inactives (UPDATE direct, jamais réécrites par un sync). Docstring enrichie (chronologie 2e intervention), fiches mlp.md/ats-dayforce.md/INDEX.md régénérées. Non-régression dayforce via bleufeu found=1. 107 tests verts, pm2 restart OK, site local+public 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 5 files +100 −46
    3. [ka6] fix connecteur kdcone: angle mort de culture récupéré (found 14→15) + panne shard Dayforce 2026-10-14 déjà résolue + artefact vague C corrigé (Hygiéniste Industrielle → KDC/ONE). Broken = 3 échecs FRANCS ok=0 (read timeout 15:34 puis 503 ×2 à 19:01/19:52 sur /api/geo/kdcone/jobposting/search, même rafale que jam/harrisrebar/imperialdade/wikoff/wafna/leadsonline/peaktech/stateindustrial), jamais de faux 0 — les 14 offres QC préservées; syncs verts found=14 jusqu'à 13:07 le 14, trou ensuite = restarts pm2 des missions voisines. Panne résolue d'elle-même: sync rejoué vert found=14 = médiane 14.0 en 1,3 s. Pas de migration: kdc-one.com/careers référence toujours les CandidatePortal dayforcehcm par usine du namespace kdcone (cultures maîtresses en-US/en-GB). ANGLE MORT de culture (pattern jam/imperialdade/leadsonline/bly/boralex) détecté au re-sondage tri-culture: fr-CA ne voit que les 14 offres traduites (toutes QC) vs 127 offres en en-CA/en-US dont 14 QC — 13 communes + l'évergreen « Spontaneous Candidacy » Knowlton id 58831 publié SEULEMENT en EN (pendant FR id 58411, ids distincts par langue, classe pokafr) → fix CULTURES=(fr-CA,en-CA) fusion par external_id priorité fr-CA, found 14→15 (added=1, updated=14) + assurance contre un futur poste QC sans traduction FR (cas jam). Artefact vague C (classe gevgroupltd/jam): EMPLOYER/name = titre d'offre brut « Hygiéniste Industrielle » → KDC/ONE (nom lu dans les descriptions: « Chez KDC/ONE, nous sommes des leaders dans la fabrication en sous-traitance », plus grand fabricant de déodorants en Amérique du Nord, usines QC Knowlton + siège Longueuil; kdcone.py + sources.json), url vide → kdc-one.com; propagation aux 15 actives via sync + 8 lignes inactives (UPDATE direct, jamais réécrites par un sync). Docstring enrichie (chronologie 2e intervention), fiches kdcone.md/ats-dayforce.md/INDEX.md régénérées. Non-régression dayforce via bleufeu found=1. 107 tests verts, pm2 restart OK, site local+public 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 5 files +108 −75
    4. [ka6] fix connecteur jam: angle mort MAJEUR de culture récupéré (found 5→23) + panne shard Dayforce 2026-10-14 déjà résolue + artefact vague C corrigé (Architecte Salesforce Sommaire → JAM Industries). Broken = 4 échecs FRANCS ok=0 (500 à 15:26 puis 503 ×3 jusqu'à 19:37 sur /api/geo/jam/jobposting/search, même rafale que harrisrebar/imperialdade/wikoff/wafna/leadsonline/peaktech/stateindustrial), jamais de faux 0 — les 5 offres QC préservées; syncs verts found=5 jusqu'à 13:00 le 14, trou ensuite = restarts pm2 des missions voisines. Panne résolue d'elle-même: sync rejoué vert found=5 = médiane 5.0 en 1,3 s. Pas de migration: jamindustries.com/careers référence toujours jobs.dayforcehcm.com/jam/CANDIDATEPORTAL. ANGLE MORT réel (pattern imperialdade/leadsonline/bly/boralex) détecté au re-sondage tri-culture: fr-CA ne voit que 8 offres (5 QC) vs 41 en en-CA/en-US dont 21 QC — la quasi-totalité des postes QC de Baie-d'Urfé/Montréal (titres bilingues « … / Claims Administrator ») n'est publiée QUE dans les cultures EN; « Architecte Salesforce » id 1601 et « Coordonnateur de la chaîne d'approvisionnement » id 653 n'existent qu'en fr-CA → fix CULTURES=(fr-CA,en-CA) fusion par external_id priorité fr-CA, found 5→23 (added=7, updated=16). Artefact vague C (classe gevgroupltd/kodify): EMPLOYER/name = titre d'offre brut « Architecte Salesforce Sommaire » → JAM Industries (nom lu dans les descriptions: « Don't skip a beat, apply to JAM Industries! », distributeur d'instruments de musique/électronique depuis 1972, divisions Erikson Music/Audio/Consumer; jam.py + sources.json), url vide → jamindustries.com; propagation aux 23 actives via sync + 10 lignes inactives (UPDATE direct, jamais réécrites par un sync). Docstring enrichie (chronologie 2e intervention), fiches jam.md/ats-dayforce.md/INDEX.md régénérées. Non-régression dayforce via bleufeu found=1. 107 tests verts, pm2 restart OK, site local+public 200.
      Simon-Pierre Boucher · 5 files +117 −80
    5. [ka6] fix connecteur imperialdade: angle mort de culture récupéré (found 32→33) + panne shard Dayforce 2026-10-14 déjà résolue + artefact vague C corrigé (Sany → Imperial Brady Canada). Broken = 3 échecs FRANCS ok=0 (read timeout 15:23 puis 503 ×2 à 18:51/19:12 sur /api/geo/imperialdade/jobposting/search, même rafale que harrisrebar/wikoff/wafna/leadsonline/peaktech/stateindustrial), jamais de faux 0 — les 32-33 offres QC préservées; syncs verts found=32 jusqu'à 12:59 le 14, trou ensuite = restarts pm2 des missions voisines. Panne résolue d'elle-même: sync rejoué vert found=32 = médiane 32.5 en 2,4 s. Pas de migration: imperialbrady.com/careers référence toujours en-CA/imperialdade/CANCANDIDATEPORTAL (+ board US CANDIDATEPORTAL 185 offres 0 QC sondé). ANGLE MORT réel (pattern leadsonline/bly/boralex) détecté au re-sondage bi-board × tri-culture: fr-CA ne voit que 33 offres (32 QC) vs 47 en en-CA/en-US — « IT Business Analyst - Digital Integrations » Saint-Laurent id 10917 (parue 2026-09-17) n'existe que dans les cultures EN (lien officiel du site carrières = en-CA, culture maîtresse), « Chauffeur de camion porteur (classe 3) » Jonquière id 10515 n'existe qu'en fr-CA → fix CULTURES=(fr-CA,en-CA) fusion par external_id priorité fr-CA, found 32→33 (added=1). Artefact vague C (classe gevgroupltd/leadsonline): EMPLOYER/name « Sany » (marque d'une seule division, sany.ca à vendre) → Imperial Brady Canada (nom lu dans les descriptions d'offres: « Imperial Brady Canada, principal distributeur national »; imperialdade.py + sources.json), url vide → imperialbrady.com; propagation aux 32 actives via sync (updated=32) + 30 lignes inactives (UPDATE direct, jamais réécrites par un sync). Docstring enrichie (chronologie 2e intervention), fiches imperialdade.md/ats-dayforce.md/INDEX.md régénérées. Non-régression dayforce via bleufeu found=1. 107 tests verts, pm2 restart OK, site local+public 200.
      Simon-Pierre Boucher · 5 files +103 −63
    6. Simon-Pierre Boucher · 5 files +59 −47
    7. [ka6] connecteur stateindustrial: rien à réparer côté flux — found=0 légitime (4e intervention, offre 11972 toujours dépubliée postingStatus=4). Stale = variante « cycle interrompu »: dernier sync enregistré 2026-10-14 19:24 = 503 de la panne partielle de shard Dayforce du 14 (résolue, même rafale que wikoff/wafna/leadsonline/peaktech), puis trou de syncs causé par les restarts pm2 des missions voisines (scheduler vivant en plein cycle, lettre « c », à l'intervention); le « dernier succès 2026-10-12 09:55 » de la supervision = dernier sync found>0 avant la dépublication de 11972 (cas déjà tranché les 12 et 14/10), 24+ syncs verts ok=1 found=0 entre les deux, un seul read timeout 16:03 le 14 (rafale frontal, retry ×3 déjà en place 747d8e3c). Sync rejoué vert found=0 = médiane 0.0 en 1,2 s. Pas de migration: stateindustrial.com/careers (200) référence toujours jobs.dayforcehcm.com/en-US/stateindustrial/CANDIDATEPORTAL = même tenant/board. Pas d'angle mort: board re-sondé 25 offres (OH ×9, NC ×3, WI/FL/ON ×2, autres US ×6) 0 QC vérifiées lieux complets (stateCode/isoCountryCode), fr-CA maxCount=0 connu (bascule en-US du 2026-09-17), détail 11972 postingStatus=4 (marqueur propre au tenant: détail dépublié reste 200). Pas d'artefact vague C (EMPLOYER/name/url déjà corrects). Docstring enrichie (chronologie 4e intervention), fiches stateindustrial.md/ats-dayforce.md/INDEX.md régénérées. Prochaine republication mensuelle du poste « Représentant(e) des ventes externes » attendue ~début nov (cycle 11658/11661 → 11795 → 11972). 107 tests verts, pm2 restart OK, site local+public 200.
      Simon-Pierre Boucher · 4 files +56 −41
    8. [ka6] connecteur peaktech: rien à réparer côté flux — found=0 légitime (3e intervention, source structurellement 0 QC) + artefact vague C corrigé (Peaktech → Peak Technologies). Stale = variante « cycle interrompu »: dernier sync enregistré 2026-10-14 19:12 = 503 de la panne partielle de shard Dayforce du 14 (résolue, même rafale que wikoff/wafna/leadsonline), puis trou de syncs causé par les restarts pm2 des missions voisines (scheduler vivant en plein cycle, lettre « c », à l'intervention); le « dernier succès 2026-10-05 » de la supervision = dernier sync avec found>0 (offre 3870 dépubliée ce jour-là, cas 6a2cebc1), syncs ok=1 found=0 verts en continu entre les deux. Sync rejoué vert found=0 = médiane 0.0 en 4,6 s. Pas de migration: peaktech.com/about-peak-technologies/careers/ (403 anti-bot direct → Scrapfly 200) référence toujours dayforcehcm.com/CandidatePortal/en-CAN/peaktech = même tenant. Pas d'angle mort: fr-CA maxCount=0 (connu depuis 6a2cebc1), en-CA 46 offres TOUTES hors QC (US, GB ×2, BE, ON) vérifiées lieux complets (stateCode/isoCountryCode), en-US sondé = 0 QC aussi, les 3 offres virtuelles sans lieu inspectées au détail = aucune mention Québec/Montréal/Canada. Artefact vague C (classe wafna/leadsonline): EMPLOYER/name = namespace brut « Peaktech » → Peak Technologies (nom lu dans les descriptions d'offres « For over 35 years, Peak Technologies… » et titre du site officiel « Careers - Peak Technologies »; peaktech.py + sources.json), propagation aux 4 lignes en base (UPDATE direct, toutes inactives — aucun sync ne les aurait réécrites). Docstring enrichie (chronologie 3e intervention), fiches peaktech.md/ats-dayforce.md/INDEX.md régénérées. Non-régression dayforce via bleufeu found=1. 107 tests verts, pm2 restart OK, site local+public 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 5 files +76 −63
    9. [ka6] connecteur orthoclinical: rien à réparer côté flux — unique offre QC dépubliée le 2026-10-14 (found=0 légitime) + double artefact vague C corrigé (Field Service Representative → QuidelOrtho). Stale = variante « cycle interrompu » (restarts pm2 des missions voisines, 153 restarts, scheduler vivant en plein cycle à l'intervention). Dépublication RÉELLE de l'unique offre QC R0016868 « Field Service Representative - Quebec City Region » (parue 2026-09-14) entre 15:47 et 19:11 le 2026-10-14: détail cxs = 403 S22 (marqueur Workday classique), dernier sync avant trou = found=0 ok=1 jamais de faux échec. Board vivant 29 offres (US/Rochester, Inde, Chine, Allemagne, UK) 0 QC: searchText Quebec/Canada/Montreal/Montréal = 0, les 5 offres multi-lieux vérifiées une à une au détail cxs = 100 % US/UK, 8 sites frères sondés (External, Careers, QuidelOrtho…) = 404. Pas de migration: quidelortho.com/global/en/careers/careers-home référence toujours orthoclinical.wd1.myworkdayjobs.com/Search = même tenant/board. found=0 conforme à la médiane 0.5 (source oscillant 0/1), garde-fou de dérive non déclenché (DRIFT_MIN_BASE=8 > médiane), offre désactivée proprement par le pipeline (miss_count 2, removed=1, sync vert ok=1). DOUBLE artefact vague C corrigé (classe gevgroupltd/kodify 8ff81d0): EMPLOYER/name = titre d'offre brut « Field Service Representative » → QuidelOrtho (fusion Quidel + Ortho Clinical Diagnostics 2022, diagnostics in vitro; hiringOrganization Workday = Ortho-Clinical Diagnostics, Inc., nom courant lu dans les descriptions d'offres et sur le site officiel; orthoclinical.py + sources.json), url vide → quidelortho.com; propagation à la ligne en base (UPDATE direct, l'offre étant dépubliée aucun sync ne l'aurait réécrite). Docstring enrichie, fiches orthoclinical.md/ats-workday.md/INDEX.md régénérées. Non-régression workday via dupont found=1. 107 tests verts, pm2 restart OK, site local+public 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 5 files +274 −285
    10. [ka6] fix connecteur leadsonline: angle mort de culture récupéré (found 1→2) + panne shard Dayforce 2026-10-14 déjà résolue + double artefact vague C corrigé (Leadsonline → LeadsOnline). Namespace supplémentaire de la panne partielle de shard Dayforce du 2026-10-14, DÉJÀ RÉSOLUE à l'intervention (syncs verts found=1 jusqu'à 15:38, 503 franc à 19:03 sur /api/geo/leadsonline/jobposting/search, ok=0 jamais de faux 0, offre QC préservée; trou de syncs ensuite = restarts pm2 des missions voisines, variante « cycle interrompu »; run.py sync repasse vert). Pas de migration: leadsonline.com/careers.html pointe toujours jobs.dayforcehcm.com/en-US/leadsonline/CANDIDATEPORTAL = même tenant/board. ANGLE MORT réel (pattern bly/boralex): fr-CA ne voit qu'1 offre (id 864 assemblage Saint-Laurent, traduite), en-CA/en-US voient les 8 offres du groupe (quasi toutes Plano TX) dont 2 QC — id 864 partagé ET « Coordonnateur(trice), Ressources humaines (Contrat d'un an) » Saint-Laurent id 922 publiée bilingue mais seulement dans les cultures EN → fix CULTURES=(fr-CA,en-CA) fusion par external_id priorité fr-CA, found 1→2 (added=1). Employeur identifié: LeadsOnline LLC (Plano TX, technologies d'enquête pour forces de l'ordre, IBIS/MatchPoint) — présence QC via l'acquisition d'Ultra Forensic Technology (ex-Forensic Technology, créatrice d'IBIS, production à Saint-Laurent). Artefact vague C (classe gevgroupltd 8ff81d0): EMPLOYER/name « Leadsonline » → LeadsOnline (casse officielle), url vide → leadsonline.com; propagation aux lignes actives (updated=1 via content_hash). Docstring enrichie, fiches leadsonline.md/ats-dayforce.md/INDEX.md régénérées. Non-régression dayforce via bleufeu found=1. 107 tests verts, pm2 restart OK, site local+public 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 5 files +116 −63
  7. Wed, Oct 14, 2026 10

    1. [ka6] connecteur wikoff: rien à réparer côté panne — namespace supplémentaire de la panne partielle de shard Dayforce du 2026-10-14, DÉJÀ RÉSOLUE à l'intervention (syncs verts found=1 jusqu'à 13:36, read timeout 16:20 puis 503 sur /api/geo/wikoff/jobposting/search à 19:38, échec franc ok=0 jamais de faux 0, 1 offre QC active préservée; run.py sync wikoff repasse vert found=1 = médiane 1.0, updated=1). Pas de migration: wikoff.com/careers pointe toujours jobs.dayforcehcm.com/en-US/wikoff/CANDIDATEPORTAL = même tenant/board. Partition de culture vérifiée (pas d'angle mort, pattern altg/wafna): fr-CA voit 1 offre, la QC (le tenant ne traduit que le poste québécois), en-CA/en-US voient les 40 offres du groupe (quasi toutes US) dont exactement la même QC (id 665 « Opérateur(trice) de Production (Montreal) » partagé) — fr-CA est la bonne culture. DOUBLE artefact vague C corrigé (classe gevgroupltd 8ff81d0): EMPLOYER/name = titre d'offre brut « Production Operator I (Montreal) » (classe kodify) → Wikoff Color Corporation (fabricant d'encres d'imprimerie et de revêtements détenu par ses employés ESOP, siège Fort Mill SC, usine montréalaise; nom lu dans les descriptions d'offres et sur le site officiel; wikoff.py + sources.json), url vide → wikoff.com; propagation faite à la ligne active (sync vert updated=1 via content_hash). Docstring enrichie, fiches wikoff.md/ats-dayforce.md/INDEX.md régénérées. Non-régression dayforce via bleufeu found=1. 107 tests verts, pm2 restart OK, site local+public 200.
      Simon-Pierre Boucher · 5 files +85 −54
    2. [ka6] connecteur wafna: rien à réparer côté panne — namespace supplémentaire de la panne partielle de shard Dayforce du 2026-10-14, DÉJÀ RÉSOLUE à l'intervention (syncs verts found=2 jusqu'à 13:32, read timeout 16:16 puis 503 sur /api/geo/wafna/jobposting/search à 19:34, échec franc ok=0 jamais de faux 0, 2 offres QC actives préservées; run.py sync wafna repasse vert found=2 = médiane 2.0, updated=2). Pas de migration: wismettacusa.com/ca/employment/ pointe toujours jobs.dayforcehcm.com/en-CA/wafna/CANCAREERSITE = même tenant/board. Partition de culture vérifiée (pas d'angle mort, pattern altg): fr-CA voit 2 offres TOUTES QC (le tenant ne traduit que les postes québécois), en-CA/en-US voient les 5 offres du groupe (BC/ON en plus) dont exactement les 2 mêmes QC (ids 5509/5516 partagés) — fr-CA est la bonne culture. DOUBLE artefact vague C corrigé (classe gevgroupltd 8ff81d0): EMPLOYER/name = namespace brut « Wafna » → Wismettac Asian Foods (WAFNA = Wismettac Asian Foods North America, importateur-distributeur d'aliments asiatiques du groupe Nishimoto Wismettac, succursale 5865 rue Kieran Saint-Laurent; nom lu dans les descriptions d'offres et sur le site officiel; wafna.py + sources.json), url vide → wismettacusa.com/ca/; propagation faite aux 2 lignes actives (sync vert updated=2 via content_hash). Docstring enrichie, fiches wafna.md/ats-dayforce.md/INDEX.md régénérées. Non-régression dayforce via bleufeu found=1. 107 tests verts, pm2 restart OK, site local+public 200.
      Simon-Pierre Boucher · 5 files +129 −98
    3. [ka6] fix connecteur bly: angle mort de culture récupéré (found 6→7) + panne shard Dayforce 2026-10-14 déjà résolue + double artefact vague C corrigé (Field Mechanic → Boart Longyear)
      …
      Panne: namespace supplémentaire de la panne partielle de shard Dayforce du
      2026-10-14, DÉJÀ RÉSOLUE côté Dayforce à l'intervention (syncs verts found=6
      jusqu'à 17:58, 500 à 17:33 puis 503 soutenu sur
      /api/geo/bly/jobposting/search de 18:14 à 22:05, échec franc ok=0 jamais de
      faux 0, 6 offres QC actives préservées; le scheduler repasse vert seul à
      22:17 found=6 = médiane 6.0). Pas de migration: careers.boartlongyear.com
      (frontend custom, l'ancien /careers/ est 404) fait postuler via
      jobs.dayforcehcm.com/en-CA/bly/CANDIDATEPORTAL = même tenant/board.
      
      VRAI angle mort de culture corrigé: fr-CA ne voit que les offres traduites
      (7 dont 6 QC), en-CA liste les 63 offres du board dont « Foreur
      Long-Trou/Dynamiteur » Val-d'Or (id 1000) publiée en ANGLAIS SEULEMENT et
      pourtant listée sur le site carrières officiel — invisible en fr-CA. Fix
      pattern peaktech/challenger/fnfmb: CULTURES=(fr-CA,en-CA), fusion par
      external_id priorité fr-CA → sync réel found=7, added=1, updated=6.
      
      DOUBLE artefact vague C corrigé (classe gevgroupltd 8ff81d0): EMPLOYER/name
      = titre de poste « Field Mechanic » → Boart Longyear (bly = ticker ASX;
      principal fournisseur mondial de services de forage minier, base QC à
      Val-d'Or; nom lu dans les descriptions FR des offres; bly.py +
      sources.json), url vide → boartlongyear.com; propagation faite aux 7 lignes
      actives via content_hash.
      
      Docstring enrichie, fiches bly.md/ats-dayforce.md/INDEX.md régénérées.
      Non-régression dayforce via bleufeu found=1. 107 tests verts, pm2 restart
      OK, site local+public 200.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 5 files +106 −65
    4. [ka6] connecteur altg: rien à réparer — namespace supplémentaire de la panne partielle de shard Dayforce du 2026-10-14, DÉJÀ RÉSOLUE côté Dayforce à l'intervention (syncs verts found=8 jusqu'à 17:55 — ce tenant a tenu ~4 h de plus que les namespaces tombés ~13:30, même profil qu'ajholdingsltd —, read timeout à 17:28 puis 503 soutenu sur /api/geo/altg/jobposting/search de 18:10 à 22:01, échec franc ok=0 jamais de faux 0, 8 offres QC actives préservées; à 22:14 le scheduler repasse vert seul found=7 et run.py sync altg confirme found=7 ≈ médiane 8 — l'offre manquante « Technicien / mécanicien pour chariot élévateur » Québec id 17308 est une VRAIE dépublication pendant la fenêtre, absente des deux cultures). Pas de migration: altg.com/career/ (200, altaequipment.com y redirige) embarque toujours jobs.dayforcehcm.com/altg/CANDIDATEPORTAL = même tenant/board. Partition de culture vérifiée: fr-CA voit 7 offres TOUTES QC (le tenant ne traduit que les postes québécois), en-CA voit les 108 offres du groupe dont exactement les 7 mêmes QC (ids identiques) — fr-CA est la bonne culture, pas d'angle mort. DOUBLE artefact vague C corrigé (classe gevgroupltd 8ff81d0): EMPLOYER/name = namespace brut « Altg » (= ticker NYSE d'Alta Equipment Group) → Alta Équipements de Manutention (marque lue dans les descriptions FR des offres; division Alta Material Handling Canada, succursales Dorval/Montréal/Québec; altg.py + sources.json), url vide → altg.ca (site canadien officiel, version /fr); propagation faite aux 7 lignes actives (sync vert updated=7 via content_hash). Docstring enrichie, fiches altg.md/ats-dayforce.md/INDEX.md régénérées. Non-régression dayforce via bleufeu found=1. 107 tests verts, pm2 restart OK, site local+public 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 5 files +94 −54
    5. [ka6] connecteur ajholdingsltd: rien à réparer — namespace supplémentaire de la panne partielle de shard Dayforce du 2026-10-14, DÉJÀ RÉSOLUE côté Dayforce à l'intervention (syncs verts found=3 jusqu'à 17:54 — ce tenant a tenu ~4 h de plus que les autres namespaces tombés ~13:30 —, 500 isolé à 17:25 puis 503 soutenu sur /api/geo/ajholdingsltd/jobposting/search de 18:08 à 21:59, échec franc ok=0 jamais de faux 0, 3 offres QC actives préservées; à 22h le même appel répond 200 JSON et run.py sync retourne found=3 = médiane, updated=3). Pas de migration: astenjohnson.com/careers (200) liste toujours des offres du même tenant/board dayforcehcm.com/en-US/ajholdingsltd/CANDIDATEPORTAL. Partition de culture vérifiée: fr-CA voit 7 offres dont les 3 QC (Salaberry-de-Valleyfield), en-CA 37 offres 0 QC (US/BE/CN/SG) — fr-CA est la bonne culture, pas d'angle mort. DOUBLE artefact vague C corrigé (classe gevgroupltd 8ff81d0): EMPLOYER/name = namespace brut « Ajholdingsltd » → AstenJohnson (AJ Holdings Ltd = AstenJohnson Holdings, fabricant mondial de toiles pour machines à papier, usine Baie Saint-François à Salaberry-de-Valleyfield; nom lu dans les descriptions d'offres; ajholdingsltd.py + sources.json), url vide → astenjohnson.com; propagation faite aux 3 lignes actives (sync vert updated=3 via content_hash). Docstring enrichie, fiches ajholdingsltd.md/ats-dayforce.md/INDEX.md régénérées. Non-régression dayforce via bleufeu found=1. 107 tests verts, pm2 restart OK, site local+public 200.
      …
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher · 5 files +73 −37
    6. [ka6] connecteur vestis: rien à réparer — namespace supplémentaire de la panne partielle de shard Dayforce du 2026-10-14 (500 à 16:13 puis 503 HTML soutenu sur /api/geo/vestis/jobposting/search, toutes combinaisons board × culture QL/CL/CANDIDATEPORTAL × fr-CA/en-CA/en-US; tenant frère benmor 200 JSON même session = frontal vivant; même 503 via proxy résidentiel CA = pas un blocage IP). Pas de migration: quebec-linge.com/about-us/careers (200, ⚠️ domaine à trait d'union — quebeclinge.com sans trait = domaine parqué /lander) pointe toujours dayforcehcm.com/CandidatePortal/.../vestis/Site/CLCANDIDATEPORTAL = même tenant. PISTE post-panne documentée: le lien officiel affiche le board frère CLCANDIDATEPORTAL (Canadian Linen) alors que le connecteur lit QLCANDIDATEPORTAL (vert found=17 à 13:31 le jour même) — si QL revient vide, sonder CL (pattern enercare). Syncs verts found=17 jusqu'à 13:31, échec franc ensuite (ok=0, jamais de faux 0), 17 offres QC actives préservées (Montréal, Québec, Saguenay, Sherbrooke). DOUBLE artefact vague C corrigé au passage (classe gevgroupltd 8ff81d0): EMPLOYER/name = titre d'offre « Journalier(ère) de production » → Quebec Linge (Quebec Linge & Uniform Service Co., groupe Vestis ex-Aramark Uniform Services; vestis.py + sources.json), url vide → quebec-linge.com; propagation aux 17 lignes au prochain sync vert via content_hash. Docstring enrichie, fiches vestis.md/ats-dayforce.md/INDEX.md régénérées. Non-régression dayforce via bleufeu found=1. 107 tests verts, pm2 restart OK, site local+public 200.
      Simon-Pierre Boucher · 5 files +82 −43
Menu

Theme