SBB Data Engineer (Job ID 103755): invited 2026-08-28 for Wednesday
9 September 2026, 08:30, 45 min on Teams.
Per the posting's own process this is stage 2 of 4 - "Virtuelles
Kennenlernen mit HR und Fuehrungskraft" - so HR together with Andri
Wienandts, not a pure HR screen. 45 minutes shared between two people,
which is the practical constraint the brief is built around.
Two facts worth recording:
- This is the FIRST conversion of the evidence-first cohort (6
applications, 2 rejections), and it came from a COLD submit. The
channel plan called for phoning Wienandts before applying; that never
happened, so the published warm contact went unused.
- The resume never contained Snowflake, dbt or Power BI - the three
literals an ATS keyword screen would have keyed on, and a risk the
session had explicitly recorded as "accepted, not solvable". It did
not filter him out, so a human read the dossier and the honest
substitution framing survived first contact. One data point; not
enough to revise strategy on, but it is evidence against assuming
honest omissions are fatal at the screen.
Brief covers the four questions that must not go unasked (Anforderungs-
niveau K band, design/architecture scope vs current Staff + Component
Owner level, RAMSI's Java/Spring Boot/Angular share, Kidz Care rate),
the substitution answers for each named-but-non-canonical tool, the
swissTAMP/RIS/MUD context, and the thesis boundary - methods prototype,
no operational data, no accuracy figures, PSO surveyed only.
It also asks him to decide three things before the call rather than on
camera: what he does if K lands at 130-150k, if architecture is set
elsewhere, or if RAMSI turns out to be heavily Angular. Any one can be
a no, and the level question is the same shape as the declined BKW.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JMcHCsTKWvVzqyLChF5ckk
RUAG C5I - AI Engineer C5I (Thun, app ID 18027): SUBMITTED 2026-08-27.
Evidence Fit 74/100, fit class Stretch, title-capability hard gate FAIL
(R1 build/operate the AI-LLM platform and R2 in-house LLM/retrieval are
Adjacent, not Direct) - all knowingly accepted under the user's explicit
Phase 0 override. Consumes the cohort's sole Stretch slot: cohort is now
6/10, Stretch 1/1.
Critique ran twice. Round 1 scored the documents 85/100 and raised three
Tier 1 items; Round 2, after the fixes, scores 93/100 with truth and
provenance 24/25 and zero Tier 1 findings. Evidence Fit did not move and
was not allowed to: PP-3 is a personal project and cannot convert an
Adjacent title-capability into a Direct one.
Documents (.tex is the deliverable; PDFs are gitignored):
- resume 2pp/13 bullets, letter 1pp/295 words, both validators PASS
- headline is now the canonical title "Staff Data, Analytics & AI
Engineer", which puts the req's own word above the fold
- PP-3 added as a Projekte section - the only current Linux/hardening
evidence, since BS-6 ended Dec 2022
- the letter names the AI-platform gap in one sentence, then connects
SW-5 to C5I's stated DevSecOps model
- "governte" -> "governance-konforme"; JD term coverage 18/22 -> 22/22
claimable, with all six gap terms still correctly absent
Two defects found and fixed that the first critique missed:
- the resume never loaded babel, so a German document was hyphenated
with English patterns (Hal-bleiterfertigung, Tran-skription). Fixed
with babel[ngerman] plus a Transkription exception; this also cleared
an overfull box. Check this on every future German package -
resume_template.tex likely has the same omission.
- IBM AI Engineering had no primary-source record. Certificate read
directly (IBM via Coursera, 4 Jun 2020, verify 3ZBZFVAL6A34), recorded
as entry #8; it also proves PyTorch, now evidence: certification.
Also included: the submitted Kdo Cy DevOps Engineer III package, the
Capgemini omit rule promoted into config.md, BW-1 canonicalized in
experience_bundeswehr.md, and a scout.py comment correcting the
telenorgroup slug from "near-empty" to a claimed board serving stale
phantom listings that DEMO_TITLES would not catch.
Compensation, PSP/project eligibility and role level were never resolved
before sending and are now live screening topics.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JMcHCsTKWvVzqyLChF5ckk
Rejected 2026-08-27, no interview, ~28 days after submission. Recorded
in all four places that track an outcome: cohort state, decision log,
the Active Sessions row and the session file's status block.
The cohort slot is not freed. A rejection consumes an attempt the same
way a submission does, so the Adjacent count stays 2/2 and the cohort
stays 4/10 - unlike the Google FDE III and AWS FDE no-gos, which were
declined before a package existed.
Recorded as rejected_no_interview on the evidence: nothing in the log
shows any contact after submission. Recruiter-vs-hiring-manager
disposition is a tracked cohort variable, so this is one edit away from
being corrected if a screen did happen.
The package was validator PASS with no Tier 1 truth findings and the
follow-up email to Per Olav Marthinsen was never actioned, making this a
pure cold submit. A cold-channel no-interview rejection does not
implicate document quality on its own. That is now 2 of 4 cohort
applications rejected without interview, both cold, which fits the
channel thesis already in the log - and application_strategy.md forbids
reacting to a single rejection, so no positioning or targeting changed.
The Norway lane is explicitly not closed. NATO JWC Stavanger is still
live and strong Norwegian employers remain in scope; both the row and
the decision note say so, because with Aker BP closed the earlier
Equinor note ("lane now reduced to the open Aker BP application") would
otherwise read as an implied closure.
Submission date left inconsistent on purpose: the contemporaneous
records say 2026-07-29, the retrospective ones 2026-07-30. Both now
carry a note pointing at the other rather than one being overwritten.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JMcHCsTKWvVzqyLChF5ckk
Submitted 2026-08-26. Cohort entry added (Adjacent 2/2, cohort now
4/10, channel weak x3) and decision logged.
The finding that matters is not the submission. The application form's
preferred-work-location selector offered no Zurich, despite the JD body
reading "in Miami, Zurich or New York", the posting header listing
Zurich, and the site's own Zurich location filter returning this exact
req when checked on 2026-08-25. The careers site footer reads Citadel
Enterprise Americas LLC, so the likeliest explanation is a US-entity
apply flow with European seats routed elsewhere, or a Zurich seat that
is closed while the multi-location posting stands.
This partly supersedes the working-model risk that blocked Phase 2. If
no Zurich seat is reachable through that form, whether Zurich runs
hybrid or five-day onsite is moot, and the application may be sitting
against a US requisition - a hard no under the standing no-relocation
constraint.
Carry-forward rule recorded in both CLAUDE.md and the session file:
check the application form's location selector before investing in a
package. Two independent signals - the posting's stated locations and
the employer's own location filter - both proved unreliable as evidence
that a seat is actually reachable. Phase 0 treated the filter result as
confirmation that the req was live in Zurich; that inference was weaker
than it looked.
Package itself is finished and reusable: both documents cleared the
validator with zero warnings and the Tier 1 fixes lifted JD term
coverage from 51% to 68%. Nothing about the documents is the weak point.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MHtzyTKBcg6BWhD5qFegtK
application_cohort.json was caught by the blanket job_scout/state/*
ignore, so the cohort slot record (core/adjacent/stretch mix and every
application's fit class, evidence fit, hard gate and outcome) existed
only on one machine. decisions.json escaped the same rule only because
it had been tracked before the rule was added - an accident of history,
not a decision.
Both files are durable application history and belong in the repo. The
churny scan state (seen_jobs.json, last_scrape.json) stays ignored, as
does reports/ - all of it is regenerable by re-running the scout.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MHtzyTKBcg6BWhD5qFegtK
Application log updates from the 2026-08-24 scout run and the days after.
SBB Data Engineer (Asset Management, Bern, job 103755): SUBMITTED
2026-08-25. Consumes Core slot 2/7 in evidence-first-2026-01. Submitted
with the Anforderungsniveau K comp question still unresolved, against
the channel plan and the critique's closing advice, so the K band, the
design-vs-build-and-run scope question and the Kidz Care rate are now
screening-call topics rather than pre-cleared facts. Next action changed
from "call then submit" to "prep an interview brief". The stale pointer
to an /edit-resume Tier 1 fix is removed - that fix landed 2026-08-21.
Snowflake Sr SWE Enterprise (Observe): CLOSED - NO RESPONSE at 80 days
silent, past the longest real disposition in the log (Equinor, 79).
Recorded as closed_no_response, deliberately NOT as a rejection: none
was ever received, so it must not enter rejection statistics or read as
a document-quality signal. Pre-dates the cohort, so no slot is freed.
An ~86/100 package - the highest in the log - drawing no reply at all is
the strongest evidence yet that the constraint is channel, not documents.
Unblocks the Observe Metrics Platform req, which was paused only to
avoid stacking a second cold application on the same org.
Norway lane: corrected a false "closed" framing that had propagated into
the Equinor row and was used to dismiss Norwegian rows in the scout
readout. The lane is OPEN but selective. The gates are norsk working
language and NO security clearance - NOT compensation: the 180k bar is
CH-only and explicitly does not apply to Norway. Equinor, Telenor and
NATO JWC stay in the scout.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MHtzyTKBcg6BWhD5qFegtK
Boards rewrite their own URLs between runs, so a decision recorded under one
URL was lost the next time the same req appeared. Amazon truncates the job
slug to a fixed width and that width changed, which silently resurfaced the
already-skipped Principal Delivery Consultant req at score 7 in the 08-21 run.
Adds _decision_key(): "<host>#<req-id>" via per-board ID patterns, falling
back to a normalized path. Host-scoping is deliberate — a wrong ID match can
never mark a role decided at a different company. Also collapses genuine
duplicates: Workday's /apply suffix, PostFinance's per-locale URLs, Apple's
?team= and /locationPicker variants, the same NVIDIA req under two locations.
The log file stays URL-keyed (it is hand-edited and the URL is the readable
part); lookups go through index_decisions(). --decide now updates an existing
entry when the job is already logged under a drifted URL instead of adding a
second row.
Verified against all 955 URLs in the decision log plus the 2026-08-21 report:
4 groups collapse, each inspected and correct, no false merges.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WpMtWFtYkGkjSMShuTgXiB
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>
User declined at the gate: 69 is not a strong enough fit to spend a package on.
Consistent with revealed behaviour — every application actually submitted scored
77.5-89; nothing below 75 has ever been sent.
No cohort slot consumed (Adjacent stays 1/2). No bullets written, no resume, no
cover letter. Phase 0 analysis retained in the session file in case a
better-fitting AWS req appears.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Pipeline:
- SDU PhD: closed, not proceeding. Prof. Jørgensen never replied to the
2026-08-02 enquiry; user dismissed it two days before the 2026-08-20 deadline.
- Google FDE III GTM: closed, not proceeding after two Google rejections. The
bar for a third attempt is now a very strong fit; this was Adjacent with an
agent-orchestration gap. Frees the Adjacent cohort slot (back to 1/2).
JD triage — 5 pulled and read, 1 survives:
- SHORTLIST AWS Senior FDE Zurich: all four basic quals pass and AI/agentic is
preferred-only, unlike the Google Senior Staff FDE where vector DB + RAG were
minimum quals. AWS is the evidenced cloud; JD names Kiro, which he uses.
- SKIP AWS ProServe Bern (clinical pharma domain gate), AWS Principal Delivery
Consultant (8+ yrs architecture leadership + VP+ exec comms), GitLab FDE EMEA
(Ruby/Go hard gate), MS 200044133 (title says FDE Data Scientist, quals are
BGP/MPLS/SD-WAN network engineering — mislabelled req).
Roster:
- Dropped Louis Dreyfus: 300 roles, all Brazil/India/Bulgaria ops, zero Swiss.
- Kept MET Group: its "0 eligible" was a filter artifact; exclusion mode reveals
real Baar/Zug commodity-trading roles.
- Kept Equinor/Telenor/NATO. Memory corrected: the Norway lane is selective, not
closed — the user still wants very good Norwegian roles.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Scraper fixes:
- Roche: new fetch_phenom adapter (Phenom refineSearch). The old playwright scrape
of ?locationsearch=Switzerland harvested recommendation-widget cards (Shanghai,
Kyiv, Bogota) while the page reported no-results. 0 -> 88 CH-eligible roles.
- Apple: dropped default_location "Switzerland", which relabelled US "Various
Locations" postings as Swiss (84 phantom CH rows over 4 runs). Now honestly 0.
- Meta: NOT broken — metacareers reports "1 Items" for Zurich. Comment added so it
is not "fixed" again.
New boards:
- Amazon/AWS (fetch_amazon): 32 CH roles incl. a Zurich AWS FDE req and a Bern
ProServe Cloud Architect. AWS is the evidenced cloud; claims.json forbids GCP.
- Axpo (teamtailor via base_url + pagination): 461 roles, opens the energy lane.
Locations read from schema.org jobLocation with ISO alpha-2 expanded, so
Madrid/Milan/Warsaw roles are not marked Swiss. Telenor benefits too.
Title filtering now has two explicit modes. Inclusion allowlists fail closed and
hide unanticipated good-fit roles, so they are now used only where volume forces
it (>~200 roles). Everything else uses the shared, board-agnostic
NOISE_TITLE_EXCLUDE, which fails open and leaves the final call to the scorer and
the reviewer. Palantir stays unfiltered per its existing documented rationale.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Analysis of the 34-company roster against 4 recent runs and 253 decisions.
No COMPANIES changes.
Findings: Roche/Meta/Apple silently scrape garbage (non-CH rows, 1 intern,
internships-only) — same silent-failure class as the dbt Labs 404; seven boards
have no _title_filter; MET+LDC yielded 0 eligible across 1,464 scrapes.
Verified adds: Amazon/AWS (32 CH roles incl. a Zurich AWS FDE req, and AWS is
the evidenced cloud where GCP is forbidden) and Axpo (Teamtailor custom domain,
400 roles incl. Forward Deployed AI Engineer, opens the named energy lane).
Verified negative: Coinbase proper has 2 EMEA-remote non-eng roles; the
remote-EU data-infra tier is geo-banded below the comp bar.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The board never carried Coinbase's own roles — only Getro portfolio companies.
Across ~3 months it surfaced 3 distinct CH-eligible roles, all from Ashby
(recruiting software, ruled out 2026-07-28) and all decided "skip". Since the
Ashby exclusion it has returned 0 jobs on every run, surfacing a false error
line in each report.
Entry replaced with a "Dropped:" note per the file's convention. fetch_getro is
retained (no caller) since it generalises to any Getro collection id.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The "dbtlabsinc" Greenhouse board started returning 404, silently dropping
a target company from every scan. getdbt.com/careers now redirects to a page
serving Fivetran's Greenhouse listings (gh_jid links) — the two companies
merged, so the roles live on board "fivetran" (239 jobs, 10 title matches).
Renamed the entry id dbtlabs -> fivetran and cleared the stale seen-state key.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Equinor Manager / AI Architect (JR106747): REJECTED 2026-08-14, no interview.
79 days from submission (2026-05-27) to disposition, the longest turnaround
recorded. Pre-dates the evidence-first-2026-01 cohort (started 2026-07-27),
so it does not free an Adjacent cohort slot. Norway lane now reduced to the
open Aker BP application.
Microsoft Senior SWE, ISE Zurich (200040836): REJECTED 2026-08-11, no
interview, ~39 days. The separate Principal FDE req 200043897 is a different
pipeline and remains open.
Also carries forward uncommitted work from the 08-07 / 08-11 sessions:
- Google FDE III, Cloud GTM (78350205438567110) Phase 0 session file and
scraped JD; Adjacent, Evidence Fit 67/100, hard gate PASS.
- Scout skip decisions: BIS jr100411 (platform admin, not data eng), two
Google reqs gated on a C++ minimum qualification, and the FDE III
Generative AI sibling req confirmed taken down.
- settings.local.json: allow the job_scout venv python invocation.
Every closed application to date has been Channel Weak with no interview.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Aker BP ASA — Data Product Architect (FINN 469067315): archive the finalized
resume/CL sources, JD, session and critique. Submitted 2026-07-30 ahead of the
2026-08-02 deadline; logged as applied in the scout decision log and marked
SUBMITTED in Active Sessions.
KB: record Atlassian Compass as Swisscom's metadata/catalogue platform for data
products and lineage (user-confirmed 2026-07-29). Practitioner use only —
claims.json forbids claiming administration, rollout or ownership, and it is
explicitly not a substitute claim for Purview, Collibra or Alation.
Also: close out the Google Business Home session (no interview), extend the job
scout, and allow the job-board domains used during the Aker BP research.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Tighten eligibility to CH/DK/Europe-remote (Equinor Norway-only, NATO DK+NO), add Taleo adapter, parallel API fetches, atomic state writes, and empty-board warnings. Log NATO AI Engineer as applied and Architect as skip.
Equinor (Workday) and BFH (Bern, playwright) wired up as new sources; artificial
intelligence/analytics-engineer keywords added so int'l-org listings (BIS) stop scoring
as noise. certifi-backed SSL context works around Workday certs failing verification
against a stale Windows root store.
location_matches() previously treated "remote + any single named EU country" as
CH-eligible, which let single-country residency-locked listings (e.g. Databricks'
"Remote - United Kingdom") pass as if they were open EU-wide. Now requires either a
pan-regional keyword (Europe/EMEA/Global/Worldwide) or 2+ distinct countries named.
Denmark is carved out as its own always-on relocation category (on-site or remote,
any company), replacing the previous Databricks-only opt-in.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Adds positive keywords (forward deployed, field engineer, resident
architect/engineer, customer engineer) and title-filter entries so
vendor deploy-to-customer roles surface — the lane matched to
user_international_mobility (intl scope from Bern, travel-OK, no
relocation). Bare "resident" stays title-filter-only to avoid
re-opening the pre-sales-SA overscoring trap.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Two applications sent and finalized on 2026-06-15:
- Google - Senior Data Engineer (Merchant Data Science, Zurich), 85.5/100.
Tier-1 scope fix + both Tier-2 polish applied: re-scoped the Swisscom
migration claim in resume B2 + CL P2 (Scope-Discipline), added project-
delivery vocab (B4), and JD-exact 'distributed data processing' (B5).
- Kraken (Payward) - SRE, AI Agents (remote, CH-eligible), 87.2/100.
Finalized as-is; crypto-native + production-ML edge, honest infra gaps.
Logs both as 'applied' in job_scout/state/decisions.json and flips their
CLAUDE.md Active Sessions rows to SENT. Open item for both: confirm level
and comp clear the 180k+ all-in bar at the recruiter stage.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Records the 2026-06-06 application (Observe by Snowflake, ~86/100) in the
decision log so it stops resurfacing as a new match.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Track per-job decisions across runs so we don't re-evaluate roles.
- state/decisions.json (keyed by URL: company/title/decision/note/date), now
git-tracked while seen_jobs.json stays local
- --decide "<url>" <status> [note] records a decision; --hide-decided gives an
undecided-only view; report tags each role inline with its decision
- usage docstring updated
- seed 18 decisions (9 shortlist, 7 skip, 1 paused, 1 maybe); flags Google Staff
FDE GenAI as the paused prior session
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add positive keywords for the core DevOps/data-platform/cloud lane and
technical-architect titles (cloud/data/platform architect) that previously
scored 0 and surfaced only via the generic "senior" term. Rebalances rankings
so hands-on engineering roles aren't buried under pre-sales "Solutions
Architect" + crypto keyword stacking.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Two scoring bugs inflated the rankings:
- Substring matching: 'rag' matched sto[rag]e / tet[rag]on, 'intern'
matched inte[rnal], 'lead' matched [lead]ership. Roche's staff
restaurant and Cisco Tetragon roles scored as fits. Now keywords must
not be flanked by alphanumerics (c#/.net/c++ keep matching).
- Body boilerplate: every Kraken post mentions crypto/blockchain/trading,
so sales/PM/design roles scored as high as engineering ones. Title
matches now score full weight, body-only matches half (min 1);
negatives still count fully anywhere.
Strong-fit count drops 13 -> 5; the bogus 'intern' negatives and rag
false positives are gone. Shared _kw_in() also backs the title filter.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Dennis is interested in trading roles (energy/finance/crypto), but the
scorer had no terms for them, so trading-tech roles scored 0 and got
buried. Add a trading/quant cluster (trading, trader, quant, market
data, low-latency, FIX protocol, brokerage, commodity, execution) plus
singular "solution architect" and adjacent stack (C#, .NET).
Bitcoin Suisse's Solution Architect Trading now scores 4 (medium) on
title alone, up from 0.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Bitcoin Suisse's careers page is a JS-rendered Next.js SPA, but the
underlying onlyfy.jobs ATS exposes a plain HTML job list at
candidate/job/ajax_list (title + location per card). Add an onlyfy
adapter that parses it — no headless browser needed. Surfaces the 3
current Zug roles correctly (CH filter + pre-dedup location filtering
keep the Swiss posting over its Bratislava/Copenhagen cross-posts).
MANUAL_CHECK is now empty (all 22 target companies automated), so the
report's manual-check section is suppressed when the list is empty.
Coverage notes updated.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AMINA Bank rates poorly on Glassdoor and isn't worth tracking. Remove
its manual-check entry, leaving Bitcoin Suisse as the only manual source.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Coinbase cut ~14% of staff and is not actively hiring; remove its
manual-check entry. The getro Coinbase Ventures source covers portfolio
companies only, not Coinbase itself, so Coinbase is now off the radar
until they reopen. Now 2 manual sources (AMINA, Bitcoin Suisse).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add a getro adapter (POST JSON search API) and wire up the Coinbase
Ventures portfolio talent network (collection 1625), CH + eng-title
filtered. Note this covers portfolio companies (Ashby, Notion, VALR,
World, ...), not Coinbase itself, which doesn't list on its Ventures
board — Coinbase-the-employer stays in MANUAL_CHECK.
Also clean up stale comments: drop Sonova (MedTech, off-thesis, dead
scrape) from MANUAL_CHECK, remove the dangling BIS comment now that
BIS is automated via rss, and refresh the adapter-coverage notes and
module docstring to the current 21-automated / 3-manual state.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Generic RSS/RDF feed parser (handles RSS 1.0 namespaced items + RSS 2.0)
- BIS (Bank for International Settlements, Basel) promoted from manual-check
to an automated source via its vacancies RSS feed — commutable from Bern,
salary net of Swiss tax. Scout now 20 automated + 4 manual-check.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>