HR-ATS-Portal/frontend
Talha Ahmed 5b29e2b592
CI / checks (push) Failing after 3m12s Details
Deploy to S3 / checks (push) Failing after 2m24s Details
Deploy to S3 / deploy (push) Has been skipped Details
CV Bank: replace Talent Pool with a searchable, ranked bank of stored CVs
The bank used to be write-only: a CV uploaded with no job carried only its
full text, so nothing could search or rank it. Now the employment agent's
extraction (title, company, education, plus new skills and years_experience,
both clamped to what the resume actually states) is stored on the row, and
the bank is ranked against a job the moment that job opens.

- New CV Bank screen at /cvbank replaces Talent Pool; the inline bank card
  moves out of CV Import. One table, two populations: speculative uploads,
  and silver medalists (rejected applicants scoring >= CV_BANK_SILVER_FLOOR,
  read live from their application rather than copied).
- matching/ranking.py: the tier-1 keyword ranker moves out of
  talent/plugins.py so Find Talent and the bank share one implementation;
  talent/plugins.py re-exports it and its numbers are unchanged.
- Taskiq tasks in job.candidate.bank_tasks: backfill profiles for CVs
  banked before extraction existed, and rank the bank when a job opens so
  recruiters are told about matches above CV_BANK_SUGGEST_THRESHOLD.
  Retention (CV_BANK_RETENTION_MONTHS) is stamped on the row at upload; the
  sweep flags expired rows and never deletes.
- Migrations 029 (bank profile columns) and 030 (per-job bank matches).
- Routes: POST /candidate/cv-bank/score, GET /candidate/cv-bank/suggestions.
- README: The CV Bank, plus the retention and deletion policy.

Also in this change:
- Inbox, Sheet Forms: has_linkedin / has_resume filters, tri-valued so
  "no link" is a real filter and NULL rows are kept in it; tab badge counts
  now narrow with the list and the search box.
- Hiring-manager candidate rows carry the ATS score and band.
- Tests: analytics dashboard merge logic, employment extraction clamps,
  form-data filters, manager candidate serializer, CV Bank mapper.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 13:39:20 +05:00
..
.vite/deps update 2026-08-12 13:57:53 +05:00
dist CV Bank: replace Talent Pool with a searchable, ranked bank of stored CVs 2026-09-07 13:39:20 +05:00
node_modules Mobile responsiveness: fix grid blowouts, calendar clipping, wrapping controls; add viewport test 2026-09-02 15:18:47 +05:00
src CV Bank: replace Talent Pool with a searchable, ranked bank of stored CVs 2026-09-07 13:39:20 +05:00
.dockerignore push the scoring connect 2026-08-17 14:31:30 +05:00
.env.development Remove `.env.example` and update Docker configurations for environment management 2026-08-24 20:38:15 +05:00
.env.production REACTJS STACK WITH RBAC TESTED 2026-08-05 17:41:46 +05:00
Dockerfile Update Docker and API configurations for improved job fetching and API proxying 2026-08-20 18:55:49 +05:00
candidates-table.test.mjs Candidates: show ATS score, stage and recruiter instead of just an email column 2026-09-03 20:59:04 +05:00
cvbank.test.mjs CV Bank: replace Talent Pool with a searchable, ranked bank of stored CVs 2026-09-07 13:39:20 +05:00
inbox-loading.test.mjs CV Bank: replace Talent Pool with a searchable, ranked bank of stored CVs 2026-09-07 13:39:20 +05:00
index.html Typography overhaul: Inter Tight display headings, Belleza confined to wordmark 2026-08-27 11:31:19 +05:00
mobile.test.mjs CV Bank: replace Talent Pool with a searchable, ranked bank of stored CVs 2026-09-07 13:39:20 +05:00
nginx.conf Add Progress bar 2026-09-02 13:33:11 +05:00
package-lock.json Brand-styled XLSX exports across Inbox, Candidates and Talent Pool 2026-09-02 20:40:43 +05:00
package.json CV Bank: replace Talent Pool with a searchable, ranked bank of stored CVs 2026-09-07 13:39:20 +05:00
permissions-scope.test.mjs approved permission 2026-09-04 17:58:19 +05:00
smoke.test.mjs add history 2026-09-02 15:33:20 +05:00
theme.test.mjs theme updated 2026-08-19 19:34:16 +05:00
token.test.mjs REACTJS STACK WITH RBAC TESTED 2026-08-05 17:41:46 +05:00
vite.config.js . 2026-09-01 18:25:53 +05:00