docs(scraper): drop the phantom 'evaluated' status from seen_jobs.json vocabulary (#316)

The schema documented new/skipped/evaluated/ranked/expired, but
'evaluated' has had no writer and no reader since the initial release,
and post-#269 the tracker owns all lifecycle state after drafting.
Also tightens /rank Step 1's '--all' wording, which leaned on an
'applied' status the schema deliberately lacks.

Closes #315
This commit is contained in:
Ayobami Adegoke
2026-08-11 19:03:07 +02:00
committed by GitHub
parent 0dc0f562fc
commit 1ab6c78332
3 changed files with 13 additions and 2 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ Follow these steps **in order**.
1. Read `job_scraper/seen_jobs.json`. If the file is missing or has no entries, tell the user to run `/scrape` first and stop. 1. Read `job_scraper/seen_jobs.json`. If the file is missing or has no entries, tell the user to run `/scrape` first and stop.
2. Read `job_search_tracker.csv`. Build the exclusion set: any company+role already in the tracker is out of scope regardless of flags - it has been applied to or consciously tracked. 2. Read `job_search_tracker.csv`. Build the exclusion set: any company+role already in the tracker is out of scope regardless of flags - it has been applied to or consciously tracked.
3. Select candidates: entries with status `new` (or all non-applied entries with `--all`), minus the exclusion set, filtered by the focus area if one was given. 3. Select candidates: entries with status `new` (or entries of any status with `--all`), minus the exclusion set, filtered by the focus area if one was given.
4. If no candidates remain, say so ("Nothing new to rank - run /scrape to find fresh postings") and stop. 4. If no candidates remain, say so ("Nothing new to rank - run /scrape to find fresh postings") and stop.
5. Read the scoring framework and profile **once**: 5. Read the scoring framework and profile **once**:
- `.claude/skills/job-application-assistant/04-job-evaluation.md` - `.claude/skills/job-application-assistant/04-job-evaluation.md`
+1 -1
View File
@@ -136,7 +136,7 @@ For each new job, do a rapid fit check (NOT the full evaluation from `04-job-eva
"url": "...", "url": "...",
"first_seen": "YYYY-MM-DD", "first_seen": "YYYY-MM-DD",
"fit": "high/medium/low", "fit": "high/medium/low",
"status": "new/skipped/evaluated/ranked/expired", "status": "new/skipped/ranked/expired",
"portal": "<source portal skill, e.g. jobindex-search>" "portal": "<source portal skill, e.g. jobindex-search>"
} }
} }
+11
View File
@@ -61,6 +61,17 @@ per-file diff commands.
### Fixed ### Fixed
- **Dropped the phantom `evaluated` value from `seen_jobs.json`'s status vocabulary** (#315).
The schema block in the job-scraper skill documented `new/skipped/evaluated/ranked/expired`,
but `evaluated` has had no writer and no reader since the initial release - `new`/`skipped`
come from `/scrape`, `ranked`/`expired` from `/rank`, and nothing ever set or selected
`evaluated`. Post-#269 the tracker owns all lifecycle state after drafting, so the value had
no future role either; it is now removed rather than wired up. `/rank` Step 1's `--all`
wording ("all non-applied entries") leaned on an `applied` status the schema deliberately
lacks and now names what it means: entries of any status, minus the tracker exclusion set.
Forks that wrote their own tooling against the documented vocabulary should note the value
was never produced by any shipped command.
- **`/apply` archives the job posting while it still holds it** (#306). `/apply` drafted two - **`/apply` archives the job posting while it still holds it** (#306). `/apply` drafted two
documents and a tracker row from the full posting, then let the text die with the session; documents and a tracker row from the full posting, then let the text die with the session;
`/outcome` Step 3.2 tried to recover it by re-fetching a `source` URL the spec itself expects `/outcome` Step 3.2 tried to recover it by re-fetching a `source` URL the spec itself expects