campus-placement-engine / docs /EDGE_CASES.md
deeep-sec's picture
feat: institutional campus placement eligibility & interview scheduling engine
788eab4 verified
|
Raw History Blame Contribute Delete
4.93 kB
# Institutional Placement Engine Edge Case Semantics & Specification (Core Engine)
This document formalizes the exact algorithmic decision boundaries, rounding rules, temporal interpretations, and dispute resolutions across all edge cases evaluated by the engine.
---
## 1. Academic & Backlog Rule Semantics
### 1.1 Backlog Clearing Temporal Horizon
- **Rule**: When a drive requires "No active backlogs", the student's backlog status is evaluated **as-of the drive date**, NOT the current wall-clock date.
- **Cleared Month Prior**: If a backlog was cleared on `2026-10-15` and the drive date is `2026-11-20`, the backlog is status `cleared` $\rightarrow$ **ELIGIBLE**.
- **Cleared Day Before**: If cleared on `2026-11-19` for a drive on `2026-11-20` $\rightarrow$ **ELIGIBLE**.
- **Cleared On Drive Day**: If marked cleared on `2026-11-20` $\rightarrow$ **ELIGIBLE** (inclusive bounds).
- **Cleared Day After Drive**: If cleared on `2026-11-21` $\rightarrow$ **INELIGIBLE** (was active on drive day).
- **History of Backlogs**: If the company explicitly specifies "No history of backlogs" (`historical_backlogs_max = 0`), any cleared backlog in previous semesters renders the student **INELIGIBLE**, citing the historical clause.
### 1.2 Cut-Off Boundaries & Precision Arithmetic
- **Exact Cut-Off**: A student with CGPA `7.000` against a minimum cut-off of `7.000` is **ELIGIBLE** ($\ge$).
- **Precision & Rounding**: CGPA cut-offs are compared at standard floating-point precision ($10^{-6}$ epsilon). A CGPA of `6.995` is **INELIGIBLE** when cut-off is `7.0`. Truncation vs half-up rounding is configurable via the rule parameter `allow_rounding=false` (default: strict non-rounding).
- **10th & 12th Percentages**: A percentage cut-off of `60.0%` with candidate having `59.99%` is **INELIGIBLE**.
### 1.3 Lateral Entry & Missing Records
- **Lateral Entry**: Students entering directly into Year 2 (Semester 3) via Polytechnic Diploma do not possess a 12th mark sheet. If a company rule specifies `min_twelfth_percentage = 60.0%`, the engine checks if `diploma_percentage` is present. If present and $\ge 60.0\%$, the candidate passes with the reason noting diploma equivalence.
- **Missing Record**: If neither 12th nor diploma is on file and the rule is hard, status is **INELIGIBLE** / **NEEDS_REVIEW**.
### 1.4 Gap Years Calculation
- **Calendar Days**: A 1-year gap limit allows up to 365 days (or 366 in leap years) between educational stages.
- **Limit Horizon**: A candidate with exactly 365 days gap is **ELIGIBLE**. A candidate with 366 days is **INELIGIBLE** unless an officer exemption is documented.
### 1.5 Branch Aliases & Degree Equivalence
- **Alias Equivalence**: Canonical mapping normalizes variations:
- `["CSE", "Computer Science", "B.Tech - Computer Science & Engineering", "CS"]` $\rightarrow$ Canonical `CSE`.
- `["IT", "Information Technology"]` $\rightarrow$ Canonical `IT`.
- `Allied CS` $\rightarrow$ `{CSE, IT, AI&DS, CCE, Software Engineering}`.
---
## 2. Institutional Offer Policy Semantics
### 2.1 Dream Company Band Interpretation
- **Threshold Inclusivity**:
- `band_inclusive = true`: An offer of exactly `10.0 LPA` meets a dream threshold of `10.0 LPA` $\rightarrow$ classified as **DREAM**.
- `band_inclusive = false`: An offer of `10.0 LPA` is regular; only $> 10.0\text{ LPA}$ qualifies as dream.
- **Basis**: Configurable between Total CTC (`ctc`) or Fixed Base Pay (`fixed_pay`). Default: `ctc`.
### 2.2 Offer Progression & Rejection
- **Strict One-Offer**: Once a student holds an active countable offer, they are blocked from subsequent regular drives.
- **Dream Upgrade**: A student holding a regular offer ($< 10\text{ LPA}$) is allowed to sit for a dream company drive ($\ge 10\text{ LPA}$).
- **Lateral Dream Moves**: A student holding a dream offer of $15\text{ LPA}$ cannot sit for a $12\text{ LPA}$ drive (upward progression only).
- **Revoked Offers**: A company revoking an offer frees the student, provided `count_revoked_offers = false`.
- **Declined Offers**: Configurable toggle `count_declined_offers`: if true, turning down an on-campus offer counts against placement quota; if false, student remains unblocked.
- **Off-Campus Offers**: Evaluated against toggle `count_off_campus_offers` (default: false, unverified external offers do not block students).
---
## 3. Conflict-Free Scheduling & Solver Bounds
### 3.1 Interval Invariants
- **No Overlapping Student Slots**: A student cannot be scheduled in two interview panels or tests simultaneously:
$$\forall s, \quad [start_{i}, end_{i}) \cap [start_{j}, end_{j}) = \emptyset$$
- **Transition Buffers**: A mandatory 15-minute buffer is inserted when a student moves between physical buildings.
- **Lunch & Blackouts**: All solver intervals respect college lunch hours (12:30 - 13:30) and pre-configured room blackout windows.