Scout
- New `prospective` adapter for ohws.prospective.ch, wired up as `kdocy`
(jobs.admin.ch, filtered to Kommando Cyber). jobs.admin.ch is an S3-hosted
SPA that returns AccessDenied to any direct fetch, headless included, so the
site cannot be scraped -- but the SPA reads a public, unauthenticated API.
All 463 federal roles in ~2.4s, against RUAG's 35s Playwright scrape.
- This board is richer than any other source: Lohnklasse, application deadline,
a named contact per posting, and the full Aufgaben/Anforderungen body, so
scoring runs against the JD text rather than the title.
- Thread `deadline` through normalization, the markdown report and the JSON
dump. A board with hard deadlines needs them on the row.
- Match `verwaltungseinheit_*` by prefix: the sub-unit key is department
specific (VBS 1083398, EFD 1083364) and hardcoding one breaks reuse.
- MANUAL_CHECK entry for the Bundeswehr Reserve portal. The data is reachable
(SAP E-Recruiting OData, SearchCategory 0022) but the portal actively blocks
automation, and getting through needs UA spoofing plus masking
navigator.webdriver. Not wired up by choice -- the operator-sanctioned
Suchauftrag/job alert is the better channel. Reasoning is in the comment.
Applications
- SBB Data Engineer 103755: interviewed 2026-09-09, WITHDRAWN by the candidate
2026-09-11. Net downgrade on four axes (41h vs 40h, 25+Brueckentage vs 28+5,
3 vs 2 office days, and Anforderungsniveau K tops out ~145k against ~135k
inside a band running to ~160k -- he would enter K at its ceiling merely to
break even). The cohort's only interview, and it ended as his no, not theirs.
- Kdo Cy DevOps Engineer III: REJECTED 2026-09-10, 14 days, no interview.
Form letter with no diagnostic content. Identical on every recorded
dimension to SBB (core / 79 / gate pass / DQ 92 / weak channel) and the two
went opposite ways -- recorded as worth watching, not as evidence for the
channel thesis.
- Citadel row cleaned up: it claimed the cohort and decision-log entries were
deliberately unwritten while its own status line read SUBMITTED. Both exist.
The next-step cell still said "ask BEFORE building the package" two weeks
after submission.
Decision log
- 69 RUAG rows -> 3 undecided. 63 title/family rule-outs, each noting that it
is not a JD read, plus three that are: Test Manager C5I, System Engineer C5I,
ICT Solution Architect. Guarded against the shared F/A-18 slug so one write
could not silently swallow the other.
Note: the K->L/Kader rule is SBB-specific and was deliberately narrowed --
Anforderungsniveau is SBB's own system and does not map onto jobs.admin.ch
(Lohnklassen), RUAG or PostFinance. Thun-area employers sit outside the Bern
salary logic entirely.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qej5SBvhcbGXHwLqNWiskM