feat(scout): probe four unverified boards — add CERN, NCIA to manual check

Probed CERN, Swiss Post, NATO NCIA and SIX Group. Two actionable results:

- CERN: SmartRecruiters board "CERN", 66 live Geneva postings with real
  engineering (Deep Learning Developer, ML Engineer NGT, Full-stack SWE, Data
  Storage R&D Engineer). Added — the adapter already existed. Two standing
  caveats recorded in the entry: Geneva is ~1h50 from Bern so a 2-3 day hybrid
  is not viable without relocation, and CERN grades sit below the 180k bar.
- NATO NCIA: nato.int is Cloudflare-blocked to headless browsers. Moved to
  MANUAL_CHECK beside Oracle, with a note that NCIA is a separate pipeline from
  the JWC Stavanger reqs the `nato` adapter returns.

Not added, documented instead:
- Swiss Post: real board is job.post.ch (SuccessFactors CSB), scrapable via
  a[href*='/job/']. The only tech role on page 1 was served from the PostFinance
  sub-board, which is already covered. Paginated, so this is page-1 evidence
  only, not a whole-board verdict.
- SIX Group: SAPUI5 SPA backed by a legacy DWR RPC endpoint
  (careerJobSearchControllerProxy.getInitialJobSearchData.dwr). Scrapable in
  principle, brittle in practice; job rows did not render into readable text.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-18 18:28:45 +02:00
co-authored by Claude Opus 5
parent cbb713ba7d
commit 2fadfdb8eb
+21 -1
View File
@@ -253,6 +253,20 @@ COMPANIES = [
"default_location": "Switzerland", "default_location": "Switzerland",
"_title_exclude": NOISE_TITLE_EXCLUDE, "_title_exclude": NOISE_TITLE_EXCLUDE,
}), }),
# CERN (Geneva) — probed 2026-08-18: SmartRecruiters board "CERN", 66 live postings, all
# Geneva. Real engineering exists (Deep Learning Developer, ML Engineer for Next Generation
# Triggers, Full-stack SWE, Data Storage R&D Engineer, Software Engineer) and it is an
# English-working international organisation in CH — the BIS Basel lane.
# TWO STANDING CAVEATS, do not forget them when scoring a CERN role:
# 1. Geneva is ~1h50 each way from Bern — not viable for a 2-3 day hybrid without
# relocation, which the user has ruled out. Practical constraints will score low.
# 2. CERN pay grades sit below the CHF 180k bar.
# Added anyway because the adapter is free (already implemented) and a fully-remote or
# exceptional CERN req would otherwise never surface.
("cern", "CERN (Geneva)", "smartrecruiters", {
"company": "CERN",
"_title_exclude": NOISE_TITLE_EXCLUDE,
}),
("metgroup", "MET Group", "smartrecruiters", {"company": "METGroup", "_title_exclude": NOISE_TITLE_EXCLUDE}), ("metgroup", "MET Group", "smartrecruiters", {"company": "METGroup", "_title_exclude": NOISE_TITLE_EXCLUDE}),
# Dropped: Louis Dreyfus — 2026-08-18. 300 roles, every one Brazil/India/Bulgaria/Asia # Dropped: Louis Dreyfus — 2026-08-18. 300 roles, every one Brazil/India/Bulgaria/Asia
# operations (its Data Modeler reqs are in Bangalore). Geneva HQ but zero Swiss # operations (its Data Modeler reqs are in Bangalore). Geneva HQ but zero Swiss
@@ -525,6 +539,12 @@ MANUAL_CHECK = [
# (then client-filter requisitionList[].PrimaryLocation for Switzerland/Zürich) # (then client-filter requisitionList[].PrimaryLocation for Switzerland/Zürich)
("Oracle", "ORC SPA resists scraping; REST endpoint known but needs CH geographyId (see code comment). Check Switzerland tech roles manually.", ("Oracle", "ORC SPA resists scraping; REST endpoint known but needs CH geographyId (see code comment). Check Switzerland tech roles manually.",
"https://careers.oracle.com/en/sites/jobsearch/jobs?location=Switzerland"), "https://careers.oracle.com/en/sites/jobsearch/jobs?location=Switzerland"),
# NATO NCIA (Brussels/The Hague/Mons) — probed 2026-08-18. NCIA is NATO's technology arm and
# a SEPARATE pipeline from the `nato` adapter above, which only returns JWC Stavanger reqs
# (Taleo). nato.int sits behind Cloudflare and returns "Sorry, you have been blocked" to a
# headless browser, so there is no automated path. Manual only.
("NATO NCIA", "Cloudflare-blocked to headless browsers. NCIA is the tech arm and is separate from the JWC Stavanger reqs the `nato` adapter returns — check it manually for AI/data roles.",
"https://www.ncia.nato.int/careers.html"),
] ]
@@ -2057,7 +2077,7 @@ def main():
# ashby kraken, openai, confluent, snowflake # ashby kraken, openai, confluent, snowflake
# greenhouse anthropic, gitlab, grafana, databricks, datadog, elastic, fivetran # greenhouse anthropic, gitlab, grafana, databricks, datadog, elastic, fivetran
# pcsx microsoft # pcsx microsoft
# smartrecruiters metgroup # smartrecruiters metgroup, cern
# rss bis # rss bis
# amazon amazon (Amazon + AWS share one board) # amazon amazon (Amazon + AWS share one board)
# phenom roche (Cisco still uses the playwright path) # phenom roche (Cisco still uses the playwright path)