Version 3.3.3
Smarter scoring recovery — no more silent token-burn loops
3.3.3 is a focused infrastructure fix. There are no UI changes. The change is on the backend recovery sweep that resurrects scoring jobs lost to a process restart. It now gives up gracefully on jobs that can't be scored — instead of re-attempting them forever and quietly accumulating compute cost.
Behind the scenes
-
Recovery sweep gives up after three tries. Pre-fix, the periodic recovery sweep would re-attempt scoring on any job whose
match_scorewas stillNULLpast the safety threshold. If a job hit a permanent failure mode (e.g., the skill ontology produced zero matches), the sweep would re-fire the same Anthropic call every 60 minutes — forever. Now the job exits the eligibility set after three attempts and is marked as scoring-failed; the dashboard can render the failure state plainly. -
Skipping jobs that already have a score tier. The sweep also now skips jobs where the embedding pipeline already produced a preliminary score — that's already-visible scoring data, no need to re-fire the deep orchestrator on top.
Why it matters
This is the unblocker for re-enabling the recovery sweep in production (currently disabled by a kill switch). Once it's safe to flip back on, normal stuck-job recovery resumes — without the runaway loop. The user-visible effect should be: jobs that genuinely lost their scoring task get rescored within five minutes; jobs that can't be scored stop pretending they will be eventually.
Pure plumbing. Nothing to click. Background scoring just got more honest about what it can and can't recover.
Ready to try it?
Sign up for JobIntel — free for the first 5,000 users.
Get Started Free