HR-ATS-Portal/backend/migrations/manual
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
..
001_dashboard_rbac_and_enum.sql . 2026-08-12 18:52:40 +05:00
002_backfill_inbox_ats.sql listy of pipeline done 2026-08-13 17:25:50 +05:00
003_seed_social_platforms.sql pipeline done 2026-08-13 13:29:02 +05:00
004_tasks_rbac.sql Tasks domain: real backend + live screen with DB users/roles as assignees 2026-08-13 16:27:19 +05:00
005_tasks_rbac_restrict.sql Tasks: recruiter-only assignees, role-gated creation, assignees API 2026-08-13 17:54:50 +05:00
006_seed_feedback_templates.sql . 2026-08-17 20:37:30 +05:00
007_talent_rbac.sql Talent tab: LinkedIn sourcing per job via Apify 2026-08-20 22:27:18 +05:00
008_hiring_forms_rbac.sql Candidate hiring forms (Annexure A/E/J), full-page profile, UX audit fixes 2026-08-24 20:14:36 +05:00
009_job_post_images.sql Job cover images: move storage from disk into the database 2026-08-27 16:34:04 +05:00
010_linkedin_url.sql s3 configured pending testing 2026-08-28 13:32:25 +05:00
011_interviews_user_job.sql . 2026-08-28 16:29:01 +05:00
012_cv_bank_files.sql . 2026-08-28 16:29:01 +05:00
013_user_is_approved.sql is_approved, and file_pat aded 2026-08-28 19:36:22 +05:00
014_cv_bank_files_file_path.sql is_approved, and file_pat aded 2026-08-28 19:36:22 +05:00
015_job_post_hiring_manager.sql add hiring manager added 2026-08-30 21:49:08 +05:00
016_job_post_status_history.sql recruiterhub activity improvement 2026-08-30 23:24:00 +05:00
017_talent_outreach.sql Find Talent: shortlist sourced profiles for outreach 2026-08-31 14:34:23 +05:00
018_talent_run_cost.sql Find Talent: Apify spend tracking + responsive fixes 2026-08-31 17:29:10 +05:00
019_requisitions_rbac.sql . 2026-09-01 18:25:53 +05:00
020_requisitions.sql . 2026-09-01 18:25:53 +05:00
021_job_post_requisition.sql . 2026-09-01 18:25:53 +05:00
022_job_post_requisition_unique.sql . 2026-09-01 18:25:53 +05:00
023_requisition_employmenttype.sql . 2026-09-01 18:25:53 +05:00
024_manager_candidates_rbac.sql Add Progress bar 2026-09-02 13:33:11 +05:00
025_manager_role_candidates_rbac.sql Add Progress bar 2026-09-02 13:33:11 +05:00
026_prune_unused_staff_roles.sql Roles: prune unused seeded staff roles down to the org's four 2026-09-02 21:59:08 +05:00
027_consolidate_manager_role.sql Roles: consolidate the hand-made Manager role; Title Case role names 2026-09-02 22:10:17 +05:00
028_requisition_interview_tab_rbac.sql dater format done 2026-09-03 18:16:30 +05:00
029_cv_bank_profile.sql CV Bank: replace Talent Pool with a searchable, ranked bank of stored CVs 2026-09-07 13:39:20 +05:00
030_cv_bank_matches.sql CV Bank: replace Talent Pool with a searchable, ranked bank of stored CVs 2026-09-07 13:39:20 +05:00