mirror of
https://github.com/MadsLorentzen/ai-job-search.git
synced 2026-11-02 21:22:51 +00:00
Both specs said to match "on company + role" with "casefold + strip on both fields", but a seen_jobs.json entry has title and no role key (the job-scraper schema), so read literally the lookup never matched: /upskill then weighted the same job twice, once as a tracker row and once as a ranked entry - the double-count its dedupe step exists to prevent - and /notion-sync split one job into two rows with different Keys. tools/rank_state.py already does the cross-name join (tracker role against entry title); both specs now say so. Two derived tests read the entry schema and require the join wording to name title for the entry and role for the tracker; they fail on master.