OPTEMA AI

This commit is contained in:
Flatlogic Bot 2026-06-20 08:21:09 +00:00
parent b7cb3cc5b5
commit 7eba0ddde6

View File

@ -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.`;
};