Commit Graph

32 Commits (6a1f5ba9fa72104782417ef88561a2376209c725)

Author SHA1 Message Date
ahmed.mujtaba 0558af52c4 . 2026-09-04 16:10:56 +05:00
Talha Ahmed 0d209315ab Candidates: show ATS score, stage and recruiter instead of just an email column
Deploy to S3 / deploy (push) Successful in 34s Details
The recruiter table was user-centric (GET /candidate/fetch/users), so it could
only ever render account fields - name, email, created date. Everything a
recruiter actually triages on lives on the application, not the user.

Point the table at GET /candidate/fetch and map application rows through a new
toApplicationListView, adding Job, ATS (score + band chip), Stage and Recruiter
columns. Stage and band become real filters; the dead Department facet is gone.

Manual uploads came back unscored because the list path never joined the ATS
results, so attach scores there and expose ai_score/recommendation from the
manager serializer, deriving the band from the score when the model omitted it.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 20:59:04 +05:00
ahmed.mujtaba a33f4e18fc add pagination inhistory 2026-09-02 17:00:44 +05:00
ahmed.mujtaba 8c5549a201 Add Progress bar 2026-09-02 13:33:11 +05:00
ahmed.mujtaba bb056456fc the pipeline and dashboard synced 2026-08-31 00:27:27 +05:00
ahmed.mujtaba 7f3735362e talentpool filter workds 2026-08-30 20:50:06 +05:00
ahmed.mujtaba 12fa4f87fc Merge branch 'main' of https://git.utopiadeals.com/utopia-ai/HR-ATS-Portal into RELIMIt 2026-08-28 16:28:55 +05:00
ahmed.mujtaba b5d2b05a6d Hiring manager 2026-08-28 15:54:21 +05:00
ahmed.mujtaba 7e07df18ca s3 configured pending testing 2026-08-28 13:32:25 +05:00
ahmed.mujtaba 1ab52b7292 canidate flow 2026-08-27 21:03:06 +05:00
ahmed.mujtaba d47e90b9ec . 2026-08-27 19:21:33 +05:00
Talha Ahmed d1ca1e933d CV Import: No-Job mode — store CVs in the CV bank
Deploy to S3 / deploy (push) Successful in 36s Details
The job picker gains a No job / store in CV bank option: files upload
one-per-request through the existing POST /candidate/cv_upload pipeline
(email auto-detected from the CV, saved as an UNASSIGNED inbox item with
background job suggestions) instead of being scored. Queue rows show
Stored plus the detected email; a CV with no detectable email fails
alone with a clear message. In this mode the scored grid gives way to a
panel linking Job Matching and the Inbox, where stored CVs are browsed
and later assigned. Also guarded the matcher enqueue in ingest_upload:
with the broker down the upload used to 500 after the row was inserted.

E2E-verified: two CVs stored (emails detected), rows visible in DB with
assigned_job_post_id NULL, both surfaced in Job Matching and the Inbox.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-27 19:11:13 +05:00
ahmed.mujtaba 867fea495a m. 2026-08-20 18:22:33 +05:00
ahmed.mujtaba c7fc2fed10 Implement candidate history tracking and enhance email URL configuration
- Added a new `CandidateHistory` model to maintain an append-only audit log for candidate actions.
- Introduced `HistoryRecorder` functionality to log significant events across various modules, including interviews, feedback, and notes.
- Updated existing methods to include `current_user` for tracking who performed actions.
- Enhanced the `EMAIL_URL` configuration in `docker-compose.yml` to allow for environment variable overrides.
- Updated frontend components to support fetching and displaying candidate history.

This commit improves the application's ability to track changes and actions related to candidates, enhancing accountability and transparency.
2026-08-20 17:22:22 +05:00
ahmed.mujtaba 64eae32259 . 2026-08-17 20:37:30 +05:00
ahmed.mujtaba 786c159ff6 candidatye page 2026-08-13 19:25:42 +05:00
ahmed.mujtaba 0899342c34 listy of pipeline done 2026-08-13 17:25:50 +05:00
ahmed.mujtaba 4f9b03bd4f pipeline done 2026-08-13 13:29:02 +05:00
Talha Ahmed 5c0eaef86d ATS scores land on inbox tables + ats_results history; manual SQL auto-applies on boot
- inbox_messages.ats_score/ats_band written on every completed inbox score;
  inbox.ats_id always points at the current ats_results row
- ats_results now holds the supersede-chained history for BOTH inbox and
  upload scores (new candidate_id link, inbox_id nullable for uploads)
- migrations/manual/*.sql apply automatically at startup, tracked once per
  database in manual_migrations - developers just pull and boot
- 002_backfill_inbox_ats.sql backfills pre-existing scores
- Add Candidate modal: Matching-style role picker above the CV dropzone,
  and the CV is scored via /candidate/score after creation

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 20:44:46 +05:00
ahmed.mujtaba 63a8c59417 . 2026-08-12 18:52:40 +05:00
ahmed.mujtaba d38b21bb1a with filepath and fiolename 2026-08-12 13:47:19 +05:00
ahmed.mujtaba 84daea9efe /candidates completed with manual upload 2026-08-12 13:33:35 +05:00
ahmed.mujtaba 326842ebba backend manual uplaod 2026-08-11 20:34:02 +05:00
ahmed.mujtaba 38249cc6f2 job_matching assignment by recruiter added 2026-08-11 19:01:24 +05:00
ahmed.mujtaba c726bbacbc pedning testinf 2026-08-11 17:48:00 +05:00
ahmed.mujtaba 54c39946d3 /talentpool integatrted 2026-08-11 13:43:21 +05:00
ahmed.mujtaba da3077c302 talet pool api done 2026-08-10 21:01:51 +05:00
ahmed.mujtaba 4d340fd6d5 agent coide simplifgication 2026-08-10 16:24:47 +05:00
ahmed.mujtaba 08068b2b18 Linking user to candidate to job 2026-08-10 16:19:29 +05:00
ahmed.mujtaba 09fdb39109 IS READ UPDATE 2026-08-10 14:06:54 +05:00
ahmed.mujtaba cc92dc744f LLM Setup for Email 2026-08-06 16:29:17 +05:00
ahmed.mujtaba cc6c458df2 File/CV TEXT Extraction 2026-08-06 13:38:53 +05:00