Domain model
| Konsep | Makna dan batas |
|---|---|
| Target | Posisi dan manifest yang dipilih kandidat; satu target aktif per kandidat |
| Position | Posisi perusahaan, sumber lowongan, status, dan informasi publik |
| Manifest | Versi kriteria resmi untuk sebuah posisi |
| Requirement | Kompetensi, level, konteks, rubrik, masa berlaku penilaian, serta status wajib atau opsional |
| Karya | Bukti kerja milik kandidat; tetap ada saat target berganti |
| Competency | Kompetensi yang diklaim pada Karya dan diminta oleh requirement |
| Assessment | Penilaian manusia atas Karya dan kompetensi dalam konteks tertentu |
| Verifier assignment | Penugasan yang memberi penilai akses ke assessment tertentu |
| Profil skill | Informasi pilihan kandidat yang dibagikan dengan token, masa berlaku, dan opsi pencabutan |
| Hiring decision | Keputusan HR untuk tahap berikutnya, terpisah dari assessment |
| Outcome | Hasil yang dicatat kandidat, beserta sumber dan konfirmasi bila tersedia |
Matching
evaluateAssessmentMatch di src/domain/matching.ts menghasilkan MATCHED, IN_REVIEW, atau MISSING, disertai reason code. Fungsi ini memeriksa status pencabutan, kompetensi, revisi, cakupan penilai, rubrik, level, konteks, dan masa berlaku penilaian.
findReusableWork mencari Karya berdasarkan klaim kompetensi. Karya yang cocok bisa diajukan untuk dinilai, tetapi belum memenuhi requirement sebelum hasil penilaiannya sesuai.
Readiness
summarizeReadiness menghitung kriteria wajib yang terpenuhi, sedang ditinjau, belum terpenuhi, atau terhalang syarat dasar. Status READY_FOR_HR_REVIEW muncul jika semua kriteria wajib terpenuhi, tidak ada penilaian wajib yang tertunda, dan tidak ada penghalang. Kriteria opsional tidak memengaruhi kesiapan.
nextBestAction menyarankan langkah berikutnya dengan urutan: penuhi syarat dasar, gunakan Karya, ajukan penilaian, tutup gap, lalu bagikan profil. Periksa pengujian domain sebelum mengubah urutan tersebut.
Relasi database dijelaskan di data model. Fungsi domain dan aplikasi terkait menjalankan aturan keputusannya.