Evaluasi Indikator

Ringkasan Evaluasi SAKIP
memuat…
Refresh: — Buka detail
Memuat ringkasan evaluasi…

Evaluasi Indikator

URL: /aisakip/evaluasi Posisi pipeline: pelaksana Tahap 5–7 dari Pipeline Analisis SAKIPAI:

  • Tahap 5: Eksplorasi & Pencarian Bukti
  • Tahap 6: Tagging Bukti ke Kriteria
  • Tahap 7: Scoring LKE Normal (Layer 1)

Untuk Siapa Halaman Ini

  • Asesor sebagai pelaku utama — di sini mereka melakukan penilaian per kriteria, melihat bukti, memberi skor.
  • Operator/admin instansi untuk monitor: penilaian sudah sampai mana, kriteria mana yang sudah dinilai, mana yang belum.

Apa Fungsi Halaman Ini

Memberi skor per 85 kriteria LKE untuk satu scope (induk atau OPD). Tiap skor disertai:

  • Nilai (AA / A / BB / B / CC / C / D / E sesuai skala kriteria).
  • Rationale singkat: kenapa skor segitu.
  • Sitasi bukti dari dokumen asli (halaman, bab, paragraf).
  • Catatan strengths, weaknesses, dan rekomendasi untuk LHE.

Sistem AI menyajikan draft skor otomatis berbasis bukti dari dokumen yang sudah di-ingest. Asesor lalu meninjau, mengoreksi, atau menerima draft tersebut. Keputusan akhir selalu di asesor — AI sebagai co-pilot, bukan pengganti.

Yang Tampil Kalau Sudah Siap

Bagian Pilih Scope (atas):

  • Dropdown scope yang sudah lulus Audit Kelengkapan.
  • Indikator status: skor selesai (xx/85), sedang dinilai, belum mulai.
  • Tombol Mulai Penilaian Otomatis (sistem jalankan draft skor seluruh kriteria).

Bagian Kerangka Penilaian (kiri):

  • Pohon 4 Komponen → 12 Sub-komponen → 85 kriteria.
  • Indikator per kriteria: ⚪ belum / 🤖 draft AI / ✏️ ditinjau asesor / ✅ disetujui.

Bagian Panel Penilaian Per Kriteria (kanan):

  • Header: kode + nama kriteria + bobot.
  • Bukti tersedia: petikan dari dokumen + sitasi (halaman) + tombol "Buka di konteks".
  • Draft skor AI: nilai, rationale, sitasi yang dipakai.
  • Editor asesor: input nilai, edit rationale, tambah/ganti bukti.
  • Tombol: Tanya AI (eksplorasi tambahan), Setujui, Tolak & Beri Catatan, Skor Manual.
  • Catatan strengths/weaknesses untuk sub-komponen ini.

Bagian Progress & Antrian:

  • Bar progres scope: berapa kriteria selesai dari 85.
  • Antrian skoring otomatis: dokumen yang sedang diproses AI.

Yang Tampil Kalau Belum Siap

Bila scope belum lulus Audit Kelengkapan:

Belum ada scope yang siap dinilai.

Sebelum penilaian per kriteria dapat dijalankan, scope harus lulus Audit Kelengkapan (status LENGKAP / CUKUP, atau KURANG dengan approval Asesor Senior).

[Tombol: Ke Audit Kelengkapan →]

Bila scope tertentu belum lulus audit (tampil di dropdown tapi disabled):

Scope {nama} masih berstatus {KURANG/TIDAK_LAYAK}. Lengkapi dokumen wajib atau dapatkan approval Asesor Senior sebelum mulai penilaian.

Bila bukti AI tidak menemukan apa-apa untuk kriteria tertentu:

Tidak ditemukan bukti yang relevan untuk kriteria {kode} di dokumen yang ada. Asesor dapat:

  • Memberi skor manual berdasarkan pengetahuan eksternal.
  • Menandai kriteria ini "belum dapat dinilai".
  • Minta operator melengkapi dokumen yang relevan dulu.

Bila Tool yang Diharapkan Tidak Muncul

Yang hilang Sebabnya Yang harus dilakukan
Tombol Mulai Penilaian Otomatis abu-abu Scope belum lulus audit, atau dokumen belum semua tersimpan di Ingest Cek halaman Audit Kelengkapan + Ingest Dokumen tingkat 4–5
Bagian Bukti tersedia kosong untuk banyak kriteria Dokumen sudah masuk tetapi pencarian semantik gagal (kemungkinan PDF scan tanpa OCR, atau parsing kurang baik) Cek di Ingest → Pembacaan apakah ada anomali; kompres/ganti dokumen sumber dengan PDF teks
Draft skor AI sangat singkat / generik Bukti yang ditemukan sedikit, atau model AI sedang dipakai tier hemat (model ukuran kecil/menengah) Lakukan Tanya AI untuk eksplorasi lebih dalam; atau eskalasi ke tier model ukuran besar untuk scope kritis
Tombol Setujui tidak menyimpan Sesi asesor expired, atau audit trail database bermasalah Login ulang; cek dengan pengelola SAKIPAI bila berulang
Sub-komponen tertentu tidak muncul di pohon Kriteria sub-komponen tersebut belum dipetakan untuk level scope ini (mis. kriteria khusus OPD di scope induk) Wajar — skip; lanjut ke sub-komponen lain

Tingkat Kesiapan yang Diperiksa di Halaman Ini

Halaman ini mengangkat scope dari E1 ke E2 ("Penilaian per kriteria selesai"). Setelah seluruh 85 kriteria untuk scope tertentu disetujui, scope tersebut siap masuk ke Penilaian Komponen — agregasi skor → kandidat predikat → cek Min Req.

Catatan operasional:

  • Penilaian dapat dilakukan paralel per scope (asesor A kerjakan induk, asesor B kerjakan OPD #3).
  • Bukti selalu dari dokumen — tidak ada skor tanpa sitasi ke halaman dokumen asli (prinsip operasional pipeline).
  • Audit trail tersimpan — setiap perubahan skor dan koreksi tercatat dengan identitas asesor + waktu.
  • Tier model AI dapat di-tune per scope (default model ukuran menengah; eskalasi ke model ukuran besar untuk scope kandidat predikat tinggi atau yang dipakai Asesor Senior untuk tuning prompt).

Struktur Halaman (mirror Telusur, per Lebah #5083)

Per refactor #5083 (replace MVP demo card #5060), halaman evaluasi adopsi struktur halaman telusur dgn fokus per-kriteria:

  1. Header — eyebrow + scope label + level toggle (Pusat/Unit) + refresh
  2. Flag banners — peringatan predikat / Min Req downgrade
  3. Predikat Hero — gauge nilai + predikat final + LKE Normal vs Min Req dual
  4. Skor per Komponen — 5 donut/pie chart sebaris (1 per komponen: skor + predikat di tengah, bobot + kontribusi di bawah). Compact, ganti bar list yang makan tempat (feedback Wibi 2026-05-28)
  5. Coverage per Kriteria (rich, Lebah #5083 enrichment) — mirror penuh pola telusur:
    • Summary stat cards (4 band: Optimal [Ya/A] / Cukup [B/C] / Lemah [Tidak/D/E] / Belum dinilai) — clickable filter
    • Tabel coverage per kriteria: kode + teks kriteria + nilai badge + keyakinan + aksi (detail/chat/wiki). Klik row atau tombol detail → modal detail lazy-load (kriteriaDetail): skor_narasi, justifikasi, bukti/sitasi, gap, rekomendasi, kebutuhan pendalaman. Modal klik luar/Esc → tutup (per feedback Wibi 2026-05-28, ganti expand row supaya no scroll hassle)
    • Filter via Pusat/Unit toggle + band filter (composable)
    • Chat per row → sidepanel kriteria-aware dgn suggested_queries dari template (templatePertanyaan — derived dari kriteria_prompts gajah DB)
    • Teks kriteria dari kriteria_teks.json (derived lke_kodifikasi.json, split per level — 35 kriteria same-id beda teks pusat/unit)
  6. Status Pipeline Evaluasi — tile per stage
  7. Buka Detail — nav cards (Detail Komponen / Tinjauan Min Req / LHE)
  8. Rekomendasi Prioritas (Top 5) — list rekomendasi LHE

Data:

  • /aisakip/evaluasi/json — summary (predikat, komponen, pipeline, rekomendasi)
  • /aisakip/evaluasi/kriteriaList — manifest ringan per kriteria (kode, skor_status, skor_label, keyakinan, wiki_url)
  • /aisakip/evaluasi/kriteriaDetail?kode=1.a.1 — lazy-load detail 1 kriteria (justifikasi, bukti, gap, rekomendasi, pendalaman) saat expand row
  • /aisakip/evaluasi/templatePertanyaan — template chat per kriteria (snapshot kriteria_prompts; live-from-DB = follow-up)

Sidepanel Chat Kriteria-aware (mirror Telusur)

Tombol chat per row coverage table → configureAndOpenChat(kriteriaChatConfig(slug, kid, kode, narasi)) → mutate Vue 2 props cube-chat-rag (endpoint, placeholder, suggested_queries, context) → buka #sidePanel-chat.

Context yang di-forward ke gurita webhook sakip-chat:

  • instansi_slug{slug} tenant
  • kriteria_idPUSAT_{kode} / UNIT_{kode} (RAG filter)
  • kriteria_kode{kode} (mis. 1.a.1)
  • levelpusat|unit
  • evaluasi_ref{slug}:{kode}:v{N} (scope target T1/T2/T3)

Suggested queries default 4-template per-kriteria (bukti, gambaran di RPJMD/Renstra, kelemahan utama, rekomendasi tindak lanjut).

Action Bar Per-Response (4 Tombol Governance)

Tombol governance di-inject inline di dalam tiap bubble response .msg-assistant (Option A per feedback Wibi 2026-05-28 — Option B sibling ketutup textbox input). 4 tombol context-aware per response:

Tombol Tier Endpoint forwarder Gurita workflow Role gate
Tambahkan ke Temuan T1 POST /aisakip/evaluasi/temuanprompt sakip-temuan-prompt (PENDING #5082) Semua asesor
Adopsi Instansi T2 POST /aisakip/evaluasi/adopsiinstansi sakip-adopsi-instansi (PENDING #5082) Asesor Senior+
Usulkan Baseline T3 POST /aisakip/evaluasi/usulanprompt sakip-usulan-prompt ✅ LIVE #5069 Asesor Senior+
Run Evaluasi POST /aisakip/evaluasi/runevaluasi (spec TBD — trigger /sakip_lyr1-evaluasi) TBD

Implementasi: MutationObserver pantau subtree cube-chat-raginjectInlineActions tambah grup .ev-inline-actions ke tiap .msg-assistant yang belum punya (idempotent, cek .ev-inline-actions existing). Payload per-bubble (bubblePayload): response_body dari teks bubble .msg-markdown, prompt_body dari pertanyaan user yang mendahului (precedingQuestion), konteks kriteria dari vm.context. Header sidepanel di-set SETELAH openSidePanel() (yang overwrite label) supaya kode kriteria tampil.

Payload yang di-forward

Common payload (semua tombol):

  • kriteria_id (PUSAT_1.a.1), kriteria_kode (1.a.1), level (pusat|unit)
  • slug / slug_target (tenant target)
  • evaluasi_ref ({slug}:{kode}:v{N})
  • prompt_body (pertanyaan terakhir user)
  • response_body (jawaban AI terakhir)
  • proposer_account_id, proposer_name (dari beo SSO claim — saat ini stub window.__currentUserName)

T2 wajib rationale (default "Adopsi instansi via UI evaluasi sidepanel — asesor manual confirm"). T3 buka modal rationale (textarea required, min 10 char).

Boundary

Semua tombol governance hanya di halaman evaluasi (single-surface per Lebah #5074). Halaman telusur (/ingest/telusur) revert ke generic document search tanpa curation buttons. Lihat memory [[telusur-vs-evaluasi-boundary]].

Mental model:

  • Doc-first (telusur) — "apa isi dokumen ini tentang X" → ad-hoc lookup, ephemeral
  • Kriteria-first (evaluasi) — "bagian dokumen mana yang relevan untuk kriteria X" → curation persistent → tombol governance

Role gating

  • Source role: claim JWT beo SSO (lihat [[project-beo-sso-gajah-gotrue]])
  • Tombol T2/T3 disabled (aria-disabled="true") jika window.__currentUserRole < asesor_senior
  • Backend re-check role di endpoint (defense in depth — TODO saat beo SSO terintegrasi)

Status implementasi v1 (post-#5083)

Tombol Frontend Forwarder phpvb Gurita workflow
T1 Tambahkan ke Temuan ✅ LIVE ✅ LIVE ⏳ PENDING #5082
T2 Adopsi Instansi ✅ LIVE ✅ LIVE ⏳ PENDING #5082
T3 Usulkan Baseline ✅ LIVE ✅ LIVE #5061 ✅ LIVE #5069
Run Evaluasi ✅ LIVE ✅ stub 501 ❌ TBD (sub-issue baru)

Env required: GURITA_INGRESS_TOKEN (bearer untuk semua forwarder). Optional override URL: GURITA_USULAN_WEBHOOK_URL, GURITA_TEMUAN_WEBHOOK_URL, GURITA_ADOPSI_WEBHOOK_URL.