mirror of
https://github.com/MadsLorentzen/ai-job-search.git
synced 2026-09-17 00:26:26 +00:00
fix(jobindex-search): rewrite detail parser against current page shapes
Every selector the old parser used (job-text, jix-info, jix_robotjob--area, jix-toolbar-top__company) is gone from live pages: detail returned CSS-comment text as the deadline, the external ATS URL as its own id/url, null company/location/date, and a teaser description - exit 0, on 4/5 live postings. The rewrite recognises both current shapes (jobindex-native jd-* layout; external-ATS passthrough), always keeps the jobindex id and jobannonce URL, anchors the deadline to a real date in visible markup only (the label also lives in a CSS comment, which is what the old regex captured), converts Danish long dates to ISO, decodes Danish named entities, and returns company: null on passthrough pages instead of the ATS brand. Live: 5/5 postings now yield full descriptions and correct fields. Review finding F14 (2026-08-19). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
9a69309749
commit
c85640e30a
@@ -120,6 +120,18 @@ per-file diff commands.
|
||||
|
||||
### Fixed
|
||||
|
||||
- **`jobindex-search detail` rewritten against jobindex's current markup** - every
|
||||
selector the old parser used is gone from live pages, so on 4 of 5 live postings it
|
||||
returned CSS-comment text as the deadline (`"K \t\t... */"`), an external ATS URL as
|
||||
its own `id` and `url`, null company/location/date, and a 160-char teaser as the
|
||||
description - exit 0 every time. The new parser handles both live shapes (the
|
||||
jobindex-native `jd-*` layout and the external-ATS passthrough), always keeps the
|
||||
jobindex id and `jobannonce` URL, requires a real date next to the deadline label and
|
||||
scans only visible markup (killing the CSS-comment capture), converts Danish long
|
||||
dates to ISO, and reports `company: null` honestly on passthrough pages instead of
|
||||
the ATS brand. Verified live on 5/5 postings (full descriptions of 5.5-9k chars, 4/5
|
||||
ISO deadlines and locations). Fixture tests for both shapes, including the
|
||||
CSS-comment trap, in the new `tests/detail-parsing.test.ts`.
|
||||
- **`/scrape` gains a recency fallback for portals with no recency flag** - Step 1b.3
|
||||
told every portal to scope to 14 days "using the portal's supported recency flag", but
|
||||
jobdanmark has none, leaving the instruction unsatisfiable there: the agent either
|
||||
|
||||
Reference in New Issue
Block a user