feat(jobs): suppress duplicate postings after skip or apply
CI / Linting (Biome) (push) Failing after 41s
CI / Tests (push) Successful in 5m25s
CI / Type Check (adzuna-extractor) (push) Successful in 1m8s
CI / Type Check (gradcracker-extractor) (push) Successful in 1m12s
CI / Type Check (hiringcafe-extractor) (push) Successful in 1m9s
CI / Type Check (orchestrator) (push) Successful in 1m25s
CI / Type Check (startupjobs-extractor) (push) Successful in 1m9s
CI / Type Check (ukvisajobs-extractor) (push) Successful in 1m9s
CI / Documentation (push) Failing after 1m56s
CI / Linting (Biome) (push) Failing after 41s
CI / Tests (push) Successful in 5m25s
CI / Type Check (adzuna-extractor) (push) Successful in 1m8s
CI / Type Check (gradcracker-extractor) (push) Successful in 1m12s
CI / Type Check (hiringcafe-extractor) (push) Successful in 1m9s
CI / Type Check (orchestrator) (push) Successful in 1m25s
CI / Type Check (startupjobs-extractor) (push) Successful in 1m9s
CI / Type Check (ukvisajobs-extractor) (push) Successful in 1m9s
CI / Documentation (push) Failing after 1m56s
Dedup by employer+title and description at import; cascade skip on dismiss; hide repeats in the job list. Document product scope and duplicate detection in docs. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -27,6 +27,8 @@ Job states:
|
||||
- `skipped`: explicitly excluded from active queue
|
||||
- `expired`: deadline passed
|
||||
|
||||
When you **skip** or **mark applied**, JobOps also skips matching open duplicates (same company + title or description) and blocks re-import on future runs. See [Duplicate job detection](/docs/features/duplicate-jobs).
|
||||
|
||||
## Why it exists
|
||||
|
||||
Orchestrator centralizes the transition from discovered opportunities to application-ready artifacts.
|
||||
@@ -132,8 +134,15 @@ curl -X POST "http://localhost:3001/api/jobs/<jobId>/generate-pdf"
|
||||
|
||||
- Patch `status` back to `discovered` to return the job to the active queue.
|
||||
|
||||
### Duplicate postings
|
||||
|
||||
- Skipping one listing auto-skips other **Discovered** / **Ready** rows that match the same normalized employer+title (or employer+description when available).
|
||||
- The Jobs list hides open rows that match a job you already skipped or applied to.
|
||||
- Details: [Duplicate job detection](/docs/features/duplicate-jobs).
|
||||
|
||||
## Related pages
|
||||
|
||||
- [Duplicate job detection](/docs/features/duplicate-jobs)
|
||||
- [Pipeline Run](/docs/next/features/pipeline-run)
|
||||
- [Ghostwriter](/docs/next/features/ghostwriter)
|
||||
- [Reactive Resume](/docs/next/features/reactive-resume)
|
||||
|
||||
Reference in New Issue
Block a user