Skip to content

V4.0.0 - Final Release

Latest

Choose a tag to compare

@SoCatful SoCatful released this 23 May 18:52
· 1 commit to main since this release

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.sh tries 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.sh reuses ai_venv/ when present.
  • It reuses installed sentence-transformers when 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, and ADMIN
  • 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 --check

Previously 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

  1. The project remains simple to run: Java 21 plus one launcher script.
  2. The app does not require a database server; all runtime data stays in CSV.
  3. The AI layer is real local embedding similarity, not a fake hard-coded score.
  4. The AI layer is safe for demos because Java fallback keeps the app usable.
  5. The role workflows are explainable: TAs discover and apply, MOs review and decide, Admin monitors and corrects narrow data issues.
  6. The final release is aligned with the project process: small increments, manual testing, issue-driven fixes, and stable main.