OPTEMA AI
This commit is contained in:
parent
b7cb3cc5b5
commit
7eba0ddde6
@ -96,7 +96,7 @@ type Run = {
|
||||
};
|
||||
|
||||
type ProblemKnowledge = {
|
||||
key: 'pengangguran' | 'kemiskinan';
|
||||
key: 'pengangguran' | 'kemiskinan' | 'keluarga_hukum_waris';
|
||||
label: string;
|
||||
keywords: string[];
|
||||
severity: 'Tinggi' | 'Kritis';
|
||||
@ -237,6 +237,71 @@ const PROBLEM_KNOWLEDGE: ProblemKnowledge[] = [
|
||||
'Kemiskinan membutuhkan kombinasi peningkatan pendapatan, pendidikan, keterampilan, dan akses ekonomi.',
|
||||
causeCategories: ['environment', 'people', 'policy', 'process'],
|
||||
},
|
||||
{
|
||||
key: 'keluarga_hukum_waris',
|
||||
label: 'Hukum keluarga, perceraian, dan warisan',
|
||||
keywords: [
|
||||
'selingkuh',
|
||||
'perselingkuhan',
|
||||
'cerai',
|
||||
'perceraian',
|
||||
'warisan',
|
||||
'waris',
|
||||
'ahli waris',
|
||||
'harta waris',
|
||||
'harta bersama',
|
||||
'harta gono gini',
|
||||
'gono gini',
|
||||
'gono-gini',
|
||||
'hak asuh',
|
||||
'nafkah anak',
|
||||
'hak anak',
|
||||
'sengketa keluarga',
|
||||
'rumah tangga',
|
||||
'suami',
|
||||
'istri',
|
||||
],
|
||||
severity: 'Kritis',
|
||||
penyebab: [
|
||||
'Konflik rumah tangga dan dugaan perselingkuhan',
|
||||
'Perceraian, hak asuh, dan nafkah anak belum tertata',
|
||||
'Pembagian harta bersama dan warisan belum jelas',
|
||||
'Hak dan kebutuhan 10 anak berisiko terabaikan',
|
||||
'Dokumen keluarga, aset, dan ahli waris belum diinventarisasi',
|
||||
'Komunikasi keluarga rentan memanas tanpa mediator netral',
|
||||
'Keputusan emosional berisiko memperburuk sengketa hukum',
|
||||
'Belum ada rencana perlindungan anak jangka pendek',
|
||||
'Potensi pengalihan aset sebelum status hukum jelas',
|
||||
'Kebutuhan pendamping hukum dan psikososial belum dipenuhi',
|
||||
],
|
||||
hipotesis: [
|
||||
'Isu perceraian, warisan, harta bersama, nafkah, dan hak anak masih tercampur menjadi satu masalah',
|
||||
'Keluarga belum memiliki kronologi, bukti, dan dokumen pendukung yang rapi',
|
||||
'Ahli waris, aset, utang, dan status harta perlu dipetakan sebelum mengambil keputusan',
|
||||
'Mediasi awal dibutuhkan agar konflik tidak langsung merugikan anak-anak',
|
||||
'Konsultasi advokat, pos bantuan hukum, mediator, atau notaris perlu dilakukan sebelum membuat kesepakatan',
|
||||
'Anak-anak membutuhkan rencana sementara untuk biaya hidup, sekolah, kesehatan, dan tempat tinggal',
|
||||
'Kesepakatan lisan berisiko lemah jika tidak dituangkan dalam dokumen yang benar',
|
||||
'Ada risiko aset keluarga dipindahkan atau dipakai tanpa persetujuan pihak yang berhak',
|
||||
'Perlu pemisahan antara masalah moral/perselingkuhan dan hak perdata keluarga',
|
||||
'Keputusan paling aman adalah langkah hukum bertahap berbasis dokumen',
|
||||
],
|
||||
solusi: [
|
||||
'Konsultasi hukum keluarga dan waris',
|
||||
'Mediasi keluarga dengan pihak netral',
|
||||
'Inventarisasi aset, utang, dan ahli waris',
|
||||
'Rencana hak asuh dan nafkah anak',
|
||||
'Pengamanan dokumen keluarga dan aset',
|
||||
'Pendampingan psikososial anak',
|
||||
'Penyusunan kronologi dan bukti',
|
||||
'Opsi penyelesaian damai tertulis',
|
||||
'Rujukan advokat atau pos bantuan hukum',
|
||||
'Koordinasi notaris/PPAT untuk urusan aset bila diperlukan',
|
||||
],
|
||||
kesimpulan:
|
||||
'Kasus perselingkuhan, perceraian, warisan, dan banyak anak harus dipisahkan menjadi isu hukum keluarga, harta/waris, dan perlindungan anak; langkah aman adalah dokumentasi, mediasi, dan konsultasi hukum profesional.',
|
||||
causeCategories: ['people', 'policy', 'process', 'other'],
|
||||
},
|
||||
];
|
||||
|
||||
const uuid = () =>
|
||||
@ -332,11 +397,14 @@ const applyQuestionFitToDrafts = (
|
||||
};
|
||||
|
||||
const findProblemKnowledge = (problem: string) => {
|
||||
const text = problem.toLowerCase();
|
||||
const scoredKnowledge = PROBLEM_KNOWLEDGE.map((knowledge) => ({
|
||||
knowledge,
|
||||
score: keywordFitScore(problem, knowledge.keywords),
|
||||
}))
|
||||
.filter((item) => item.score > 0)
|
||||
.sort((a, b) => b.score - a.score);
|
||||
|
||||
return PROBLEM_KNOWLEDGE.find((knowledge) =>
|
||||
knowledge.keywords.some((keyword) => text.includes(keyword)),
|
||||
);
|
||||
return scoredKnowledge[0]?.knowledge;
|
||||
};
|
||||
|
||||
const buildKnowledgeCauses = (
|
||||
@ -721,6 +789,182 @@ const buildKnowledgeSolutionDrafts = (
|
||||
]);
|
||||
}
|
||||
|
||||
if (knowledge.key === 'keluarga_hukum_waris') {
|
||||
return withQuestionFit([
|
||||
{
|
||||
title: 'Konsultasi hukum keluarga dan waris terpadu',
|
||||
description:
|
||||
'Memisahkan isu perselingkuhan, perceraian, hak anak, harta bersama, dan warisan agar keluarga punya langkah hukum yang aman dan tidak merugikan 10 anak.',
|
||||
rationale: `Diprioritaskan karena penyebab utama adalah ${topCauses}. Hipotesis yang diuji: ${topHypotheses}. Paket solusi dasar: ${allSolutionOptions}. Rekomendasi ini bersifat arahan awal dan perlu divalidasi dengan advokat, pos bantuan hukum, mediator, notaris, atau pejabat berwenang.`,
|
||||
executionSteps: [
|
||||
'Tulis kronologi singkat kejadian perselingkuhan, konflik rumah tangga, proses cerai, isu warisan, dan posisi 10 anak tanpa menyebarkan tuduhan ke pihak luar.',
|
||||
'Kumpulkan dokumen inti: buku nikah/akta cerai bila ada, kartu keluarga, akta kelahiran anak, identitas pihak terkait, sertifikat aset, rekening, surat utang, dan dokumen waris.',
|
||||
'Pisahkan masalah menjadi 4 jalur: status perkawinan/perceraian, hak asuh dan nafkah anak, harta bersama, serta warisan/ahli waris.',
|
||||
'Buat daftar ahli waris, aset, utang, dan pihak yang menguasai aset saat ini agar pembahasan tidak bercampur dengan emosi konflik.',
|
||||
'Jadwalkan konsultasi dengan advokat/pos bantuan hukum/mediator keluarga dan bawa dokumen serta pertanyaan tertulis.',
|
||||
'Tentukan langkah aman berikutnya: mediasi tertulis, perlindungan hak anak sementara, pengamanan dokumen, atau jalur pengadilan bila damai tidak memungkinkan.',
|
||||
],
|
||||
kpis: [
|
||||
'Kronologi dan dokumen inti terkumpul',
|
||||
'Daftar aset, utang, ahli waris, dan kebutuhan 10 anak tersusun',
|
||||
'Jadwal konsultasi hukum atau mediasi ditetapkan',
|
||||
'Rencana sementara hak asuh, nafkah, sekolah, kesehatan, dan tempat tinggal anak tersedia',
|
||||
],
|
||||
risks: [
|
||||
'Konflik keluarga memanas; mitigasi: gunakan mediator netral dan hindari keputusan sepihak saat emosi tinggi.',
|
||||
'Dokumen atau aset hilang/dialihkan; mitigasi: buat salinan dokumen, catat penguasaan aset, dan konsultasikan langkah pengamanan hukum.',
|
||||
'Hak anak terabaikan; mitigasi: dahulukan biaya hidup, sekolah, kesehatan, dan tempat tinggal anak sebelum sengketa harta diperluas.',
|
||||
],
|
||||
resources: [
|
||||
'Dokumen keluarga dan aset',
|
||||
'Advokat atau pos bantuan hukum',
|
||||
'Mediator keluarga',
|
||||
'Notaris/PPAT bila menyangkut aset',
|
||||
'Pendamping psikososial anak',
|
||||
],
|
||||
type: 'other',
|
||||
impact: 94 + urgency,
|
||||
efficiency: 86,
|
||||
speed: 82,
|
||||
lowRisk: 78,
|
||||
duration: 7,
|
||||
rootCauseId: causes[0]?.id,
|
||||
},
|
||||
{
|
||||
title: 'Mediasi keluarga dan rencana perlindungan anak',
|
||||
description:
|
||||
'Menurunkan eskalasi konflik dengan forum mediasi yang fokus pada keselamatan, kebutuhan, hak asuh, nafkah, dan stabilitas 10 anak.',
|
||||
rationale:
|
||||
'Cocok saat konflik rumah tangga dan perceraian mulai memengaruhi anak-anak; mediasi membantu membuat kesepakatan sementara sebelum proses hukum berjalan lebih jauh.',
|
||||
executionSteps: [
|
||||
'Tentukan pihak yang wajib hadir dan pihak netral yang dipercaya, seperti mediator keluarga, tokoh yang disepakati, konselor, atau pendamping hukum.',
|
||||
'Buat agenda mediasi terbatas: kebutuhan anak, jadwal pengasuhan, nafkah sementara, akses sekolah/kesehatan, dan larangan mengalihkan aset tanpa persetujuan.',
|
||||
'Pisahkan pembahasan dugaan perselingkuhan dari pembahasan kebutuhan anak agar anak tidak menjadi alat tekanan konflik orang tua.',
|
||||
'Tuliskan hasil mediasi sementara secara jelas: siapa membayar apa, kapan, bukti pembayaran, akses komunikasi anak, dan tanggal review.',
|
||||
'Jika mediasi gagal atau ada ancaman/kekerasan, eskalasi ke pendamping hukum atau lembaga perlindungan yang berwenang.',
|
||||
],
|
||||
kpis: [
|
||||
'Agenda mediasi dan pihak netral disepakati',
|
||||
'Kesepakatan sementara nafkah dan pengasuhan anak tertulis',
|
||||
'Kebutuhan sekolah, kesehatan, dan tempat tinggal anak terpetakan',
|
||||
'Risiko konflik atau ancaman berkurang',
|
||||
],
|
||||
risks: [
|
||||
'Salah satu pihak menolak hadir; mitigasi: minta mediator mengirim undangan tertulis dan siapkan opsi konsultasi hukum.',
|
||||
'Anak terseret konflik; mitigasi: batasi pembicaraan orang dewasa dan libatkan pendamping anak bila perlu.',
|
||||
'Kesepakatan tidak dipatuhi; mitigasi: dokumentasikan pelanggaran dan konsultasikan penguatan formalnya.',
|
||||
],
|
||||
resources: [
|
||||
'Mediator keluarga',
|
||||
'Daftar kebutuhan anak',
|
||||
'Catatan komunikasi para pihak',
|
||||
'Pendamping hukum atau konselor',
|
||||
],
|
||||
type: 'other',
|
||||
impact: 90,
|
||||
efficiency: 84,
|
||||
speed: 88,
|
||||
lowRisk: 82,
|
||||
duration: 5,
|
||||
rootCauseId: causes[1]?.id || causes[0]?.id,
|
||||
},
|
||||
{
|
||||
title: 'Inventarisasi harta bersama, warisan, dan ahli waris',
|
||||
description:
|
||||
'Membuat peta aset, utang, status kepemilikan, ahli waris, dan dokumen pendukung sebelum ada pembagian atau keputusan atas warisan.',
|
||||
rationale:
|
||||
'Cocok ketika perceraian dan warisan bercampur; inventarisasi mencegah aset diperebutkan tanpa data dan membantu menentukan isu mana yang perlu notaris, mediator, atau pengadilan.',
|
||||
executionSteps: [
|
||||
'Buat tabel aset: tanah, rumah, kendaraan, tabungan, usaha, barang berharga, piutang, dan utang beserta bukti dokumennya.',
|
||||
'Tandai status setiap aset: milik pribadi, harta bersama, harta warisan, masih sengketa, atau belum jelas.',
|
||||
'Susun daftar calon ahli waris dan hubungan keluarga berdasarkan dokumen resmi, lalu catat pihak yang masih perlu diverifikasi.',
|
||||
'Amankan salinan dokumen dan bukti penguasaan aset agar tidak hilang ketika konflik meningkat.',
|
||||
'Konsultasikan tabel aset dan ahli waris ke notaris/PPAT atau advokat agar langkah pembagian tidak salah prosedur.',
|
||||
],
|
||||
kpis: [
|
||||
'Tabel aset dan utang selesai',
|
||||
'Status harta bersama dan warisan dipisahkan',
|
||||
'Daftar ahli waris awal tersusun',
|
||||
'Dokumen aset tersalin dan aman',
|
||||
],
|
||||
risks: [
|
||||
'Data aset disembunyikan; mitigasi: kumpulkan bukti dari dokumen resmi, saksi, catatan transaksi, dan konsultasi hukum.',
|
||||
'Pembagian dilakukan sebelum status jelas; mitigasi: tahan keputusan pembagian sampai ada validasi pihak berwenang.',
|
||||
'Utang tidak dihitung; mitigasi: masukkan semua kewajiban sebelum menghitung bagian bersih.',
|
||||
],
|
||||
resources: [
|
||||
'Sertifikat dan bukti aset',
|
||||
'Dokumen ahli waris',
|
||||
'Catatan utang/piutang',
|
||||
'Notaris/PPAT atau advokat',
|
||||
],
|
||||
type: 'other',
|
||||
impact: 86,
|
||||
efficiency: 82,
|
||||
speed: 76,
|
||||
lowRisk: 86,
|
||||
duration: 10,
|
||||
rootCauseId: causes[2]?.id || causes[0]?.id,
|
||||
},
|
||||
], [
|
||||
{
|
||||
focus: 'perselingkuhan, perceraian, warisan, hak anak, harta bersama, dan perlindungan 10 anak',
|
||||
keywords: [
|
||||
'selingkuh',
|
||||
'perselingkuhan',
|
||||
'cerai',
|
||||
'perceraian',
|
||||
'warisan',
|
||||
'waris',
|
||||
'10 anak',
|
||||
'anak',
|
||||
'hak anak',
|
||||
'hak asuh',
|
||||
'nafkah',
|
||||
'nafkah anak',
|
||||
'harta bersama',
|
||||
'harta gono gini',
|
||||
'gono gini',
|
||||
'gono-gini',
|
||||
'ahli waris',
|
||||
],
|
||||
},
|
||||
{
|
||||
focus: 'mediasi keluarga, konflik rumah tangga, pengasuhan, nafkah, dan stabilitas anak',
|
||||
keywords: [
|
||||
'mediasi',
|
||||
'konflik',
|
||||
'keluarga',
|
||||
'rumah tangga',
|
||||
'suami',
|
||||
'istri',
|
||||
'anak',
|
||||
'hak asuh',
|
||||
'nafkah',
|
||||
'damai',
|
||||
'konselor',
|
||||
],
|
||||
},
|
||||
{
|
||||
focus: 'inventarisasi aset, utang, harta warisan, ahli waris, sertifikat, dan prosedur notaris/pengadilan',
|
||||
keywords: [
|
||||
'aset',
|
||||
'harta',
|
||||
'warisan',
|
||||
'waris',
|
||||
'ahli waris',
|
||||
'sertifikat',
|
||||
'tanah',
|
||||
'rumah',
|
||||
'utang',
|
||||
'notaris',
|
||||
'ppat',
|
||||
'pengadilan',
|
||||
],
|
||||
},
|
||||
]);
|
||||
}
|
||||
|
||||
return withQuestionFit([
|
||||
{
|
||||
title: 'Pendampingan UMKM, modal mikro, dan digitalisasi usaha',
|
||||
@ -1181,6 +1425,46 @@ const buildTasks = (solution: Solution): PlanTask[] => {
|
||||
const mainRisk = trimSentenceEnd(
|
||||
risks[0] || 'risiko eksekusi yang muncul selama uji coba',
|
||||
);
|
||||
const isLegalFamilyCase = Boolean(
|
||||
`${solution.title} ${solution.description}`.match(
|
||||
/hukum|waris|cerai|perceraian|hak asuh|nafkah|mediasi keluarga|anak/i,
|
||||
),
|
||||
);
|
||||
|
||||
if (isLegalFamilyCase) {
|
||||
return [
|
||||
{
|
||||
id: uuid(),
|
||||
day: 1,
|
||||
title: 'Amankan fakta dan dokumen inti',
|
||||
description: `Kumpulkan fakta dan dokumen awal untuk solusi “${solution.title}”: ${resources.slice(0, 3).join(', ') || 'dokumen keluarga, dokumen aset, dan daftar pihak terkait'}.`,
|
||||
},
|
||||
{
|
||||
id: uuid(),
|
||||
day: 2,
|
||||
title: 'Pisahkan isu hukum utama',
|
||||
description: `Turunkan kasus menjadi langkah hukum pertama yang jelas: ${firstStep}. Pisahkan isu perceraian, warisan, harta, dan hak anak agar tidak bercampur.`,
|
||||
},
|
||||
{
|
||||
id: uuid(),
|
||||
day: 3,
|
||||
title: 'Mulai konsultasi atau mediasi',
|
||||
description: `Jalankan langkah awal yang aman: ${secondStep}. Catat posisi tiap pihak, dokumen yang kurang, dan risiko untuk anak.`,
|
||||
},
|
||||
{
|
||||
id: uuid(),
|
||||
day: 4,
|
||||
title: 'Cek perlindungan anak dan aset',
|
||||
description: `Bandingkan progress dengan indikator utama: ${kpis.slice(0, 3).join(', ') || 'dokumen, mediasi, perlindungan anak, dan status aset'}. Koreksi jika ada hak anak atau aset yang belum terlindungi.`,
|
||||
},
|
||||
{
|
||||
id: uuid(),
|
||||
day: 5,
|
||||
title: 'Putuskan jalur damai atau hukum formal',
|
||||
description: `Pilih langkah lanjut berdasarkan dokumen, hasil konsultasi/mediasi, dan risiko utama: ${mainRisk}.`,
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
return [
|
||||
{
|
||||
@ -1237,6 +1521,10 @@ const buildConclusion = (
|
||||
? ` Knowledge base ${knowledge.label} memiliki severity ${knowledge.severity} dan kesimpulan domain: ${knowledge.kesimpulan}`
|
||||
: '';
|
||||
|
||||
if (knowledge?.key === 'keluarga_hukum_waris') {
|
||||
return `Kesimpulan: kasus ini berada pada prioritas ${priority} (${priorityScore}/100) dan perlu ditangani dengan pendampingan hukum/mediasi bertahap, bukan keputusan emosional atau sepihak. ${evidenceText}, akar masalah paling dominan adalah ${mainCause.toLowerCase()}.${knowledgeConclusion} Rekomendasi utama adalah “${selectedSolution.title}” karena memiliki Decision Score ${selectedSolution.score}/100, estimasi success rate ${selectedSolution.success}%, dan dapat mulai dieksekusi dalam ${selectedSolution.duration} hari. Fokus 5 hari pertama adalah mengamankan dokumen, memetakan perceraian/warisan/harta/hak anak, konsultasi dengan pihak profesional, lalu memilih jalur damai tertulis atau hukum formal.`;
|
||||
}
|
||||
|
||||
return `Kesimpulan: kasus ini berada pada prioritas ${priority} (${priorityScore}/100) dan perlu ditangani dengan eksperimen terukur, bukan keputusan besar tanpa validasi. ${evidenceText}, akar masalah paling dominan adalah ${mainCause.toLowerCase()}.${knowledgeConclusion} Rekomendasi utama adalah “${selectedSolution.title}” karena memiliki Decision Score ${selectedSolution.score}/100, estimasi success rate ${selectedSolution.success}%, dan dapat mulai dieksekusi dalam ${selectedSolution.duration} hari. Fokus 5 hari pertama adalah mengunci baseline, menjalankan eksperimen kecil, mengukur KPI harian, lalu memutuskan scale, iterate, atau stop.`;
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user