Commit Graph
16 Commits
Author SHA1 Message Date
Rudy Mizrahi Celekli a748d89fe6 fix(upstream): flag incomplete framework comparisons (#583)
* fix(upstream): flag incomplete framework comparisons

* docs(changelog): record fix for #583
2026-10-18 07:21:32 +02:00
Rudy Mizrahi Celekli 991bda5dd2 fix(salary): reject non-finite workbook numbers (#572)
* fix(salary): reject non-finite workbook numbers

* docs(changelog): record fix for #572
2026-10-18 07:19:24 +02:00
Rudy Mizrahi Celekli ef4d12711c fix(salary): parse Unicode whitespace grouping (#592)
* fix(salary): parse Unicode whitespace grouping

* docs(changelog): record fix for #592
2026-10-18 07:16:55 +02:00
Rudy Mizrahi Celekli 8cc2efbf21 fix(salary): prefer exact workbook identity headers (#571)
* fix(salary): prefer exact workbook identity headers

* docs(changelog): record fix for #571
2026-10-18 07:14:26 +02:00
Rudy Mizrahi Celekli 652508a929 fix(salary): skip chart-only workbook tabs (#590)
* fix(salary): skip chart-only workbook tabs

* docs(changelog): record fix for #590
2026-10-18 07:11:57 +02:00
Rudy Mizrahi Celekli b7be711ca5 fix(salary): distinguish absent indexes from suppression (#584)
* fix(salary): distinguish absent indexes from suppression

* docs(changelog): record fix for #584
2026-10-18 07:09:27 +02:00
Rudy Mizrahi Celekli 9940a84037 fix(salary): skip whitespace-only workbook company rows (#576)
* fix(salary): skip whitespace-only workbook company rows

* docs(changelog): record fix for #576
2026-10-18 07:07:18 +02:00
Rudy Mizrahi Celekli 0b22e55e8f fix(salary): validate metadata before rendering lookups (#575)
* fix(salary): validate metadata before rendering lookups

* docs(changelog): record fix for #575
2026-10-18 07:05:10 +02:00
Rudy Mizrahi Celekli 060f2dbe78 fix(portal-clis): reject missing Danish option values before dispatch (#573)
* fix(portal-clis): reject missing Danish option values before dispatch

The Bunli parser discards known bare options before schema validation, silently dropping filters or applying defaults. Extend the existing pre-dispatch guards across the four Danish portals while preserving built-in switches, valued and equals-form arguments, and existing unknown-flag errors.

Actual CLI subprocess regressions deny and record every fetch to demonstrate that missing filters reach request construction on master. Valued-option and help controls keep accepted command forms covered without contacting any portal.

* docs(changelog): record fix for #573
2026-10-18 07:02:41 +02:00
Rudy Mizrahi Celekli 129367dbca fix(freehire-search): require values for named search options (#568)
* fix(freehire-search): require values for named search options

* docs(changelog): record fix for #568
2026-10-18 07:00:12 +02:00
Rudy Mizrahi Celekli 2017521d2e test(portal-clis): isolate valid flag controls from live services (#581)
* test(portal-clis): isolate valid flag controls from live services

The LinkedIn and Freehire positive controls spawned live search CLIs and only checked for the absence of BAD_ARG, so attempted portal requests still left a green suite. Use loopback responses and assert successful output plus the constructed freshness, pagination and result-limit contract.

LinkedIn cards are verbatim excerpts from portapulito's actual captured response in PR #153; fixture provenance and original hashes are retained. Four Danish validation suites already stop at required-argument guards and need no change. This isolates these controls rather than claiming a whole-CI egress policy.

* docs(changelog): record fix for #581
2026-10-18 06:57:43 +02:00
Rudy Mizrahi Celekli 23876bfa95 fix(linkedin-search): preserve description paragraph and list breaks (#567)
* fix(linkedin-search): preserve description paragraph and list breaks

Clean rendered description lines separately so whitespace normalization does not erase paragraph and list boundaries in JSON and plain output. Exercise the documented detail CLI against a loopback-served captured response, with field and closed-status controls.

Credits: portapulito diagnosed this behavior and supplied the captured guest-response fixture in upstream PR #153, which was closed as an accidental personalized-fork submission. This independent implementation revives only that correctness fix and its fixture evidence.

* docs(changelog): record fix for #567
2026-10-18 06:55:15 +02:00
Rudy Mizrahi Celekli b2439a8011 fix(jobbank-search): retain all documented repeated filter values (#577)
* fix(jobbank-search): retain all documented repeated filter values

Declare the six array-capable search options repeatable in Bunli metadata. Without it, the CLI parser overwrites earlier occurrences before the handler receives the array, so documented OR filters only search the final value.

Exercise actual search CLI subprocesses through loopback HTTP and assert every RSS and total-count request retains repeated values. Cover all six filters, mixed equals/comma input, and unchanged single-value input; no live portal requests.

* docs(changelog): record fix for #577
2026-10-18 06:52:46 +02:00
Rudy Mizrahi Celekli 31a3320fe9 docs(portal-clis): correct Danish CLI installation paths (#589)
* docs(portal-clis): correct Danish installation working directories

* docs(changelog): record fix for #589
2026-10-18 06:50:17 +02:00
Rudy Mizrahi Celekli 1b22a38d3f fix(upstream-triage): suggest dependent cherry-picks in ancestry order (#574) 2026-10-17 20:04:06 +02:00
Rudy Mizrahi Celekli 889b82bf13 fix: expire scored jobs with passed preserved deadlines (#560) 2026-10-15 11:39:10 +02:00