mirror of
https://github.com/MadsLorentzen/ai-job-search.git
synced 2026-09-17 08:36:25 +00:00
fix(rank): include job posting URL in ranking tables (#236)
* fix(rank): include job posting URL in shortlist/below-threshold/excluded tables /rank's output tables listed title, company, and score but dropped the posting link, forcing the user to go dig it out of seen_jobs.json to open a job they wanted to act on. The key in seen_jobs.json is already the URL, so this is a formatting fix, not a new lookup. * fix(rank): link to entry's url field, not the seen_jobs.json key Some portals key seen_jobs.json entries by a company+title composite rather than the URL, so [Link](<key>) could render a broken link. Every entry carries a dedicated url field, which is always valid.
This commit is contained in:
@@ -93,24 +93,25 @@ Ranked <N> new postings (<X> shortlisted, <Y> below threshold, <Z> expired/vetoe
|
|||||||
|
|
||||||
### Shortlist
|
### Shortlist
|
||||||
|
|
||||||
| # | Score | Verdict | Title | Company | Location | Deadline | |
|
| # | Score | Verdict | Title | Company | Location | Deadline | | URL |
|
||||||
|---|-------|---------|-------|---------|----------|----------|---|
|
|---|-------|---------|-------|---------|----------|----------|---|-----|
|
||||||
| 1 | 78 | Strong Fit | ... | ... | ... | ... | 🔥 |
|
| 1 | 78 | Strong Fit | ... | ... | ... | ... | 🔥 | [Link](...) |
|
||||||
|
|
||||||
### Why these ranked highest
|
### Why these ranked highest
|
||||||
**1. <Title> at <Company> (78)** - [2-3 strength bullets and the honest gap, from the agent's findings]
|
**1. <Title> at <Company> (78)** - [2-3 strength bullets and the honest gap, from the agent's findings]
|
||||||
[repeat for each shortlisted job]
|
[repeat for each shortlisted job]
|
||||||
|
|
||||||
### Below threshold
|
### Below threshold
|
||||||
| Score | Verdict | Title | Company | One-line reason |
|
| Score | Verdict | Title | Company | One-line reason | URL |
|
||||||
|
|
||||||
### Excluded
|
### Excluded
|
||||||
- <Title> at <Company> - location FAIL: requires relocation
|
- <Title> at <Company> - location FAIL: requires relocation - [Link](...)
|
||||||
- <Title> at <Company> - expired <date>
|
- <Title> at <Company> - expired <date> - [Link](...)
|
||||||
```
|
```
|
||||||
|
|
||||||
Rules for the presentation:
|
Rules for the presentation:
|
||||||
|
|
||||||
|
- Every table (shortlist, below threshold, excluded) includes the posting URL as a clickable link - link to the entry's `url` field in `seen_jobs.json` (not the entry's key, which for some portals is a company+title composite rather than the URL), so this never requires an extra lookup. Never drop the link for brevity.
|
||||||
- Every claim traces to fetched posting text or the profile - no invented details.
|
- Every claim traces to fetched posting text or the profile - no invented details.
|
||||||
- Say explicitly that these are **triage scores from the posting text only**, and that `/apply` will re-evaluate with company research before anything is drafted.
|
- Say explicitly that these are **triage scores from the posting text only**, and that `/apply` will re-evaluate with company research before anything is drafted.
|
||||||
- Then ask: "Want to apply to any of these? Give me the number(s) and I'll start with the full `/apply` workflow."
|
- Then ask: "Want to apply to any of these? Give me the number(s) and I'll start with the full `/apply` workflow."
|
||||||
|
|||||||
Reference in New Issue
Block a user