Repository navigation
Final Release Notes
Date: 2026-05-24
Release Theme
The final release turns the Group104 TA Recruitment System from a minimal
Swing/CSV workflow into a more complete local recruitment prototype with role
separation, profile-aware review, safer Admin oversight, and optional local AI
matching.
The main release message is:
- stable Java desktop app
- transparent CSV persistence
- complete TA/MO/Admin demo workflow
- local semantic AI when available
- deterministic Java fallback when the AI server is unavailable
Headline Features
Local semantic AI matching
- Uses
sentence-transformers/all-MiniLM-L6-v2. - Encodes TA profile text and job post text into 384-dimensional vectors.
- Uses cosine similarity to produce an AI match score.
- Powers TA job ranking in
Discover Jobs. - Powers MO applicant ranking in applicant review.
- Runs locally without cloud APIs or paid keys.
Reliable fallback path
build_and_run_mac.shtries to start the semantic server.- If setup fails, if the model is unavailable, or if the server does not become healthy, Java still starts.
- Java then uses
AiMatchService, the built-in keyword matcher. - This keeps the final demo safe on machines without Python model dependencies.
Mac setup cache reuse
setup_ai_mac.shreusesai_venv/when present.- It reuses installed
sentence-transformerswhen present. - It reuses
.ai_models/and the model-ready marker when present. - Repeated runs should not redownload weights after the cache is ready.
Role workflow completion
TA: profile, job discovery, search/filter, AI ranking, application, status tracking, withdraw.MO: profile, job posting, job editing, applicant ranking, review context, decisions, messaging.ADMIN: dashboard, school/college management, safe correction for orphan application rows.
Final Release Scope
Implemented:
- password-based login and registration for
TA,MO, andADMIN - shared profile editing
- Admin-managed school/college options
- richer job posts with description, required skills, and tags
- TA job search/filter and AI-based default sorting
- MO posted-job management and editing
- MO applicant review with application note, profile context, job context, messaging, and AI score
- Admin dashboard and safe correction
- macOS one-command build with optional semantic AI startup
- local model-cache strategy and fallback documentation
- README research-style generated figures
Out of scope:
- CV upload or CV parsing
- cloud LLM integration
- password reset/recovery
- formal deadlines, pay, workload-hour, or timetable scheduling
- arbitrary Admin CSV editing
- committed model weights or Python virtual environments
Validation Summary
Final documentation and launch-path checks:
bash -n build_and_run_mac.sh setup_ai_mac.sh
python3 -m py_compile tools/ai_semantic_match.py tools/ai_semantic_server.py
find codes/src -name '*.java' -print0 | xargs -0 javac -d /tmp/group104-build-check
git diff --checkPreviously executed final-sprint checks also covered:
- generated large TA/MO test data
- 50-job Jobs Panel stress data
- AI job sort behaviour for TAs
- AI applicant sort behaviour for MOs
- semantic client response parsing
- fallback behaviour when semantic server is unavailable
- macOS script startup with copied local model cache
Demo Talking Points
- The project remains simple to run: Java 21 plus one launcher script.
- The app does not require a database server; all runtime data stays in CSV.
- The AI layer is real local embedding similarity, not a fake hard-coded score.
- The AI layer is safe for demos because Java fallback keeps the app usable.
- The role workflows are explainable: TAs discover and apply, MOs review and decide, Admin monitors and corrects narrow data issues.
- The final release is aligned with the project process: small increments, manual testing, issue-driven fixes, and stable
main.