[1.130.0] — 2026-07-31
Added
- Two new scan sources ported from parent career-ops v1.24.0 (in-process, no new deps; both appear in the
#/scanSource filter and on the cvstart.org landing):- a16z Speedrun (
a16z-speedrun-talent, #2231) — the a16z Speedrun talent-network board-wide JSON feed. Host-pinned tospeedrun-talent-network.com, HTTPS-only, 0-indexed pagination with a page cap, per-companyq/config threading, fail-soft. +server/lib/sources/a16z-speedrun-talent.mjs+ adapter +tests/sources-a16z-speedrun-talent.test.mjs(16). - Cryptocurrency Jobs (
cryptocurrencyjobs) — the Web3 job boardcryptocurrencyjobs.co, ingested via its public RSS 2.0 feed (zero-auth). Two-pass XML-entity decode, remote-only listings, employer parsed from the"… at <Company>"title tail. +server/lib/sources/cryptocurrencyjobs.mjs+ adapter +tests/sources-cryptocurrencyjobs.test.mjs(14). - Registry total is now 72 sources = 67 English + 5 Russian (
ALL_ADAPTERS= 67 EN portal adapters).
- a16z Speedrun (
Fixed
echojobs— hybrid roles stay distinguishable from remote (mirrors parent #2258). A case-insensitivehybridmarker in the posting's remote-type now yields"<City> · Hybrid"(or a bareHybridwhen no city is present) andworkplaceType: 'Hybrid', instead of being collapsed intoRemote. +tests/sources-echojobs.test.mjs(7).radancy— legacy TalentBrew markup + JSON results-fragment transport (mirrors parent a3e6df9). The adapter now parses TalentBrew HTML listings and, when available, the JSON results fragment (buildFragmentUrl/readFragmentTotals), gated on an injectableopts.fetchJson. +tests/sources-radancy.test.mjs(13).
Notes
- Not ported — CLI-only parent features. career-ops v1.24.0's large CLI/mode surface stays out of web-ui, which is a viewer + thin write-through, not a mode host: the compliance/jurisdiction tables (
interview-redflagprotected-grounds,ofertaimmigration-status / jurisdiction-prohibited / agency-licensing,offer-preprestrictive-covenant,check-table-freshness), the contacts phonebook + vCard export +company-history, the interview transcript-debrief / call-platform detection / plan wiring,ledgerset-status,outcomerecording + archiving, two-passtriage,jd-similarityCV-reuse hints, the versioned application-CV artifact schema,doctorPlaywright-MCP detection, andportals/fix-slugs.mjs(web-ui exposes read-onlyPOST /api/portals/health, never auto-writesportals.yml). Scan-orchestration changes that live in the parent'sscan.mjs— the Interamt.de Playwright scanner, iCIMS reverse-ATS full sweep (#2141), country-eligibility remote filter (#2095), DNS-lookup pacing + negative-cache resolver, StepStonerltrdedup (#1982), and the scan-history normalized-company column (#2243) — are not applicable: web-ui runs the EN/RU scanners in-process and does not shell intoscan.mjs. - Already covered. The
role-matcheraccent-folding fix (#2209 — fold accented Latin before tokenizing) was ported in v1.127.0 (normalizeTitleNFD fold inserver/lib/role-matcher.mjs), so parent v1.24.0's change is a no-op here. Read-only relays (stats.mjs,salary-gap.mjs,analyze-patterns.mjs,followup-*) absorb the parent's shape tweaks through their fail-soft path — no code change needed.