Backend: GET /job/fetch (active job posts, job-board OR candidate viewers) and /candidate/fetch now works unscoped for the cross-job pool. Frontend: apiClient gains FormData support; new api/candidates.js with a shared snake->camel view mapper; CvImport is a real upload->score flow (job selector, PDF multipart to /candidate/score, per-file results, no more simulation); TalentPool and Candidates render the persisted pool with job/skill/source/ATS filters; the ATS modal shows the real critique and matched/missing skills; CandidateProfile keeps only tabs the backend can back. Screens hide affordances with no backing column instead of rendering placeholders (Inbox precedent). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| decorators.py | ||
| models.py | ||
| plugins.py | ||
| serializers.py | ||
| views.py | ||