**Duplicate detected — no new report/PDF created.** URL `https://t.me/s/runello_rus_javascript/1448` (batch ID 10) is identical to a posting already fully evaluated yesterday as **report 060** (`reports/060-konsultantplyus-2026-07-07.md`, ЗАО КонсультантПлюс — Веб разработчик Vue/Js, score 3.0/5, Proceed with Caution). The JD file was empty and WebFetch returned the same thin Telegram/Runello preview (only title + company blurb — no requirements, salary, or location), so there is no new information that would change that evaluation. Per the pipeline-integrity rule ("never create duplicate entries for the same company+role"), I did not generate report 075 or a new PDF. Instead I found that report 060's tracker line had never been written (a pre-existing gap — its score never made it into `data/applications.md`), so I closed that gap: - Wrote `batch/tracker-additions/10.tsv` pointing to the existing report 060 (score 3.0/5, ❌ PDF — the PDF was never actually compiled despite the report claiming it hit the 3.0 threshold; only the HTML exists in `output/`). - Run `node merge-tracker.mjs` when convenient to fold this into `data/applications.md`. ```json { "status": "completed", "id": "10", "report_num": "075", "company": "ЗАО КонсультантПлюс", "role": "Веб разработчик Vue/Js", "score": 3.0, "legitimacy": "Proceed with Caution", "pdf": null, "report": "reports/060-konsultantplyus-2026-07-07.md", "error": "duplicate_of_report_060: identical URL/JD already evaluated 2026-07-07; no new report or PDF generated; wrote missing tracker line for existing report 060 instead" } ``` If the scanner is re-feeding already-processed URLs into the batch inbox, it's worth checking `data/scan-history.tsv` dedup logic for why this one resurfaced.