Repository navigation
v0.7.0 β filter parity across boards
Filter parity across all 8 boards β no more silent empty results
Filtering on data a board doesn't publish (salary, remote, visa, level on jobs.ch/jobup.ch) used to silently drop every row of that board β indistinguishable from "searched, nothing matched". jobs.ch's own site can't filter on those either; the data simply isn't on their wire (verified against the public API and their filter UI).
Now the tool tells you instead of hiding it:
boards_excludedβ searches now report boards excluded by filters their platform cannot serve, plus an in-bandnoteexplaining why and how to include them again. On MCP, onsdj list --json, and on stderr for the table view.--techworks on every board now β boards without technology tags match the terms server-side as a full-text query (multi-term queries AND together). Previously--tech Pythonsilently dropped all jobs.ch/jobup.ch rows.list_boards/sdj boardsreport each board's unavailable filter dimensions as data (filters_unavailable, additive key).- Salary filters stay fail-closed:
--min-salarymeans "prove it" β boards without salary data are excluded visibly, not silently.
The parity contract is enforced by a registry-driven test matrix (test_filter_parity.py): every board Γ every gated filter must be served, folded, or visibly excluded. A future board or filter param fails CI until classified.
245 tests, 93% branch coverage, CI on Python 3.9 + 3.14, zero runtime dependencies.
Full Changelog: v0.6.0...v0.7.0