Kapan dipakai
| Flow | SKKNI |
|---|---|
| Master workspace | Referensi unit di beberapa bukti |
| Trainer workspace | Wajib — elemen, KUK, peta kompetensi untuk 15 dokumen |
| Branding | Tidak dipakai |
Alur di UI trainer
API endpoints
| Method | Path | Fungsi |
|---|---|---|
POST | /documents/:documentId/skkni/search | Cari unit dari konteks master JSON |
POST | /documents/:documentId/skkni/select | Pilih unit → simpan ke document state |
apps/api/src/skkni/skkni.routes.ts, skkni.service.ts
WSP API
Base URL dari env:| Operasi | WSP path | Hasil |
|---|---|---|
| Semantic search | /search/semantic | Kandidat unit + skor relevansi |
| Unit detail | /units/{code} | Judul, deskripsi, elemen |
| Competency map | /units/{code}/competency-map | KUK per elemen |
State setelah select
Field document state yang terisi (contoh):| Field | Isi |
|---|---|
skkni_map | Peta kompetensi lengkap |
unit_code | Kode unit terpilih |
skkni_map_ready | true di DB |
Search input
searchMaster() memakai konteks dari masterJson:
expertise,activities,audience,outcomedomain_hint,inferred_goal_label
SkkniCandidate dengan unitCode, title, relevanceScore, reason.
Error handling
- WSP down → search return kosong + log
[skkni] search failed - Unit tidak ditemukan → 404 dari API
- Select tanpa ownership document → 403
Halaman terkait
- Alur generate dokumen — “Unit SKKNI tidak diekstrak dari chat”
- Prompt trainer — pre/post test dari KUK
- Glossarium