campus-placement-engine / docs /RELEASE_NOTES.md
deeep-sec's picture
feat: institutional campus placement eligibility & interview scheduling engine
788eab4 verified
|
Raw History Blame Contribute Delete
5.03 kB
# Institutional Placement Engine: Release Notes (v1.0.0)
**Release Version**: `1.0.0-institutional`
**Target Specification**: Problem Core Engine ("One student, three drives, one Tuesday")
**Deployment Mode**: 100% Offline, Air-Gapped Local Area Network (LAN)
---
## Highlights & Capabilities
### 1. Pure-Domain Academic Rule Engine & AST Evaluator
- **Typed JSON AST**: 13 rule node primitives (`CGPAMinRule`, `PercentageMinRule`, `BranchInRule`, `ActiveBacklogsMaxRule`, `HistoricalBacklogsMaxRule`, `GapYearsMaxRule`, `AgeMaxRule`, `SemesterMinRule`, `ProgramInRule`, `CustomFieldRule`, `AndRule`, `OrRule`, `NotRule`).
- **High-Throughput Determinism**: Evaluates 1,800 students against 10 recruitment drives (18,000 evaluations) in **0.231 seconds** (24 ms per drive).
- **Two-Tier Explanations**: Generates concise, empathetic plain-English single-line summaries for students alongside complete source-traced execution logs for grievance committees.
- **Cryptographic Audit Snapshot**: Generates SHA-256 hashes over candidate records and rule ASTs for bit-for-bit replayability.
### 2. Multi-Policy Institutional Offer Enforcement
- **Canonical Policies Included**:
1. *Strict One-Offer Policy* with Dream Tier exception ($\ge$ 10.0 LPA).
2. *Progressive Salary Multiplier Policy* (1.5x minimum upgrade rule).
3. *Tier-Based Quota Policy* (Standard, Dream, Super-Dream quotas).
- **Configurable Ambiguity Toggles**: Explicit toggles for inclusive threshold boundaries, fixed pay vs total CTC, off-campus offer inclusion, declined/revoked offer handling, and cooling periods.
- **Dispute Explainer**: Automated side-by-side comparative explainer resolving candidate grievances in writing without coordinator bias.
### 3. Deterministic Announcement Extraction Pipeline
- **Multi-Format Parsing**: Extracts requirements from pasted email text, `.eml`, digital/tabular PDFs (`pdfplumber`), and Microsoft Word `.docx` documents.
- **Accuracy Benchmark**: Achieved **25 of 25 announcements (100.0%)** extracted with zero manual re-typing, exceeding the target threshold ($\ge$ 20/25).
- **Zero Cloud & Zero AI Hallucination**: Pure deterministic pattern matching operating at 14.6 ms/document offline.
### 4. OR-Tools CP-SAT Clash-Free Scheduler
- **Constraint Satisfaction Model**: Discretized 15-minute slot intervals with hard `NoOverlap` constraints on rooms, company panels, and candidates.
- **Benchmark Performance**:
- Baseline (600 students / 12 drives / 8 rooms): **1.05 seconds** (Target: < 60s).
- Stress Case (1,800 students / 40 drives / 20 rooms): **5.04 seconds** (Target: < 120s).
- **Physical Buffer Enforcement**: Automatically schedules 15-minute inter-block walking buffers between consecutive student interviews.
### 5. What-If Impact Engine & Publish Workflow
- **Interactive Simulation**: Simulates prospective cut-off and schedule changes in 18 ms with zero database side effects.
- **Data-Driven Dynamic Headlines**: Auto-generates explanatory headlines (e.g., *"Lowering cut-off from 7.0 to 6.5 adds 38 students; 6 clash with Northwind test at 10:00"*).
- **Immutable Version Snapshots**: Official publish workflow with one-click rollback capabilities.
- **Enforcement ChangeSets**: Automatically propagates hiring results to cancel downstream clashes and free interview panels.
### 6. Air-Gapped Security & LAN Infrastructure
- **Single-Port Serving**: Boots on port 8000 serving both REST API endpoints and bundled React SPA assets. Automatically detects and displays student Wi-Fi URLs.
- **Strict Zero-Outbound Air-Gap**: Automated socket interception test asserts zero external connections.
- **Cryptographic Protections**: Argon2id password hashing, AES-256 Fernet field-level encryption, PBKDF2 passphrase-encrypted `.enc` database backups, and one-click institutional wipe.
- **Scoped Student Access**: Candidates authenticate via roll number + OTP, accessing solely their own status and clash-free timetable.
---
## Verification & Audit Metrics Summary
| Verification Suite | Target | Result | Status |
| :--- | :--- | :--- | :---: |
| **Backend Test Suite (Pytest)** | 100% pass | 149 / 149 tests passed | **PASSED** |
| **Hidden Edge Cases Regression** | 60 scenarios | 60 / 60 scenarios passed | **PASSED** |
| **Air-Gap Guardrail Tests** | 0 outbound connections | 5 / 5 socket intercept tests passed | **PASSED** |
| **Code Style & Linting (Ruff)** | 0 errors | 0 errors / 0 warnings | **PASSED** |
| **Static Type Checking (Mypy)** | 0 errors across 113 files | 0 errors (Strict Mode) | **PASSED** |
| **Frontend Production Build** | Clean build | 1,973 modules transformed (dist/) | **PASSED** |
| **End-to-End Suite (Playwright)** | 100% pass | 4 / 4 tests passed (16.7s) | **PASSED** |
---
## Installation & Launch
```bash
# Windows
start.bat
# Linux / macOS
./start.sh
```
Access the application at `http://localhost:8000` or your local LAN address printed in the terminal.