owenkaplinsky
Clean initial commit for HuggingFace
363cda9
# **Application Flow**
## **MVP Version #2**
```mermaid
flowchart TD
A[CV Upload] --> B[Store & Parse CV]
B --> C[Trigger: CV Screening]
C --> D[Supervisor Delegates<br/>Screening to Subagent]
D --> E[Write Results to DB]
E --> F[Supervisor Receives Screening Results]
F --> G{Did Candidate Pass<br/>CV Screening?}
G -- No --> H[Notify Candidate & HR:<br/>Application Rejected]
G -- Yes --> I[Notify Candidate & HR:<br/>Passed Screening]
I --> J[Request Candidate's<br/>Available Time Slots]
J --> K[Check HR Calendar<br/>Availability]
K --> L[Schedule Person-Person<br/>Interview]
L --> M[Notify HR & Candidate<br/>Interview Confirmed]
```
The first goal is to ensure the application flows and works autonomously as follows:
### **1) CV Submission**
- Applicant submits CV
- CV is parsed and stored
### **2) CV Screening**
- Supervisor agent becomes aware that a CV was uploaded
- A **“CV was uploaded” signal** triggers the supervisor to delegate **CV screening** to a sub-agent
- Results are written to the database & candidate status is updated
- A **“CV was screened” signal** notifies the supervisor that results are available and is able to read the results from db
### **3) Success / Failure Notification**
Based on CV screening results that the supervisor injected into its context, it decides:
#### **a) Not Passed**
- Trigger sub-agent to notify candidate *and* HR via email that the candidate did not meet requirements
#### **b) Passed**
- Trigger sub-agent to:
- Notify candidate and HR of the successful CV screening
- Ask candidate to provide several available time slots
- Check HR’s available time slots in their calendar
- Schedule a meeting based on overlapping availability
- Notify HR that candidate X passed CV screening and that an interview was scheduled on **`dd-mm-yyyy`**
## **Final**
*(To be defined)*