Executive Briefing
Spesifikasi teknis modul Executive Briefing (/app/briefing atau /dashboard/briefing), perakitan ringkasan strategis berkala (Hari ini, Kemarin, 1 Minggu, 1 Bulan), serta pemetaan sumber daya Elasticsearch dan PDF engine.
Executive Briefing (/app/briefing / /dashboard/briefing)
Modul Executive Briefing mengompilasi lembar laporan intelijen pimpinan (Menteri, Kepala Lembaga, Direksi) dengan opsi filter periode multi-rentang (Hari ini, Kemarin, 2 Hari lalu, 1 Minggu, 1 Bulan, serta kalender kustom) dan ekspor berkas cetak resmi berformat PDF.
Arsitektur Perakitan Komposit (Zero-Redundancy)
Modul ini tidak memerlukan worker pipeline baru yang memproses ulang data mentah artikel. Modul ini murni bekerja di layer aplikasi/backend sebagai Composite Aggregator / Assembler yang merangkai hasil pra-agregasi harian (daily rollups) dari worker yang sudah ada: nexa-aggregation (national_dashboard) dan decision-worker (decision_intelligence & pillar_intelligence).
1. Arsitektur Alur Composite End-to-End
┌──────────────────────────────────────┐ ┌──────────────────────────────────────┐
│ nexa-aggregation │ │ decision-worker │
│ (Cron Job Harian 01:15 & 03:00) │ │ (Cron Job Harian Dini Hari) │
└──────────────────┬───────────────────┘ └──────────────────┬───────────────────┘
│ │
▼ ▼
[Elasticsearch: national_dashboard] [Elasticsearch: decision_intelligence]
• national_{YYYY-MM-DD} • Isu prioritas KRITIS & TINGGI
• total_event (Berita Terpantau) • root_cause, impact, risk_score
• active_sources (Sumber Media) • recommended_actions, confidence
• national_risk & stability score • evidence artikel rujukan
• intelligence_analysis: │
- high_risk_insight ▼
- economic_dynamic_insight [Elasticsearch: pillar_intelligence]
- calm_zone_insight • pillar_{key}_{YYYY-MM-DD}
│ • Narasi analitik per sektor makro
│ │
└─────────────────────┬──────────────────────┘
│
▼
[f1-api-backend / Briefing Composite Layer]
│
┌─────────────────────────────────┴─────────────────────────────────┐
▼ (Mode 1: Single Date Preset) ▼ (Mode 2: Multi-Window Preset)
"Hari ini", "Kemarin", "2 hari lalu" "1 Minggu", "1 Bulan", Datepicker
• Direct Point Get ID: national_{date} • Date range filter ES query
• Direct filter decision_intelligence • Sum total_event, avg national_risk
• Latensi super cepat (< 20ms) • Top 5 isu Kritis terakumulasi
│ │
└─────────────────────────────────┬─────────────────────────────────┘
│
┌────────────────────┴────────────────────┐
▼ ▼
[GET /ew/briefing?from=...&to=...] [GET /ew/briefing/pdf?from=...&to=...]
│ │
▼ ▼
Frontend: ExecutiveBriefing.jsx Backend PDF Renderer (Puppeteer/PDFKit)
(KPI Cards, Narasi AI, Prioritas Modal) (Stream Berkas PDF Siap Cetak A4)2. Tabel Pemetaan Komponen ke PostgreSQL & Elasticsearch
| Komponen / Bagian UI | PostgreSQL (Tabel & Kolom Kunci) | Elasticsearch (Indeks & Field Kunci) | Alur Event / Pemrosesan |
|---|---|---|---|
KPI & Ringkasan HarianGET /ew/briefing?from=...&to=... | - (Tidak diakses langsung) | • national_dashboard↳ total_event, active_sources, national_risk, intelligence_analysis• pillar_intelligence↳ Narasi analitik per sektor makro | Point get instan national_{date} (harian) atau rollup ringan (multi-hari). |
| Prioritas Tindak Lanjut (Modal & daftar isu mendesak) | • articles↳ Link bukti artikel rujukan | • decision_intelligence↳ issue, priority, risk_score, impact, recommended_actions, evidence | Filter isu priority IN ['KRITIS', 'TINGGI'] diurutkan berdasarkan risk_score DESC. |
Ekspor PDF EksekutifGET /ew/briefing/pdf?from=...&to=... | • briefing_archives↳ (Opsional) Snapshot hash & metadata legal | Mengambil payload JSON dari /ew/briefing | On-demand rendering (Puppeteer/PDFKit) ke file binary %PDF-1.4. |
3. Resolusi Periode Cepat vs Rentang Bebas
Antarmuka menyediakan 5 tombol preset cepat dan 2 pemilih tanggal kustom:
A. Periode Harian Tunggal (Hari ini, Kemarin, 2 Hari lalu)
Untuk tombol preset harian:
- Hari ini: Backend mengambil dokumen
national_{today}dan dokumendecision_intelligencebertanggal hari ini. - Kemarin: Backend mengambil dokumen
national_{today - 1}. - 2 Hari lalu: Backend mengambil dokumen
national_{today - 2}.
Keuntungan Efisiensi: Operasi ini merupakan direct point lookup berdasarkan ID dokumen di Elasticsearch. Tidak ada pemindaian penuh indeks, latensi respons < 20ms, dan sama sekali tidak mengonsumsi kuota token LLM.
B. Periode Multi-Hari (1 Minggu, 1 Bulan, Kustom Datepicker)
Untuk rentang multi-hari:
- Metrik Numerik: Backend mengeksekusi agregasi ringan atas rentang dokumen
national_*pada rentangfroms.d.to(misal 7 dokumen untuk seminggu). - Prioritas Isu: Mengambil 5 isu teratas dari
decision_intelligenceyang terjadi dalam jendela waktu tersebut. - Narasi: Menggunakan draf narasi pilar terkini atau menggabungkan sintesis profil risiko rentang berjalan.
4. Spesifikasi Kontrak API (GET /ew/briefing)
Kontrak JSON yang disajikan oleh backend untuk dikonsumsi ExecutiveBriefing.jsx:
{
"summary_ai": true,
"first_date": "2026-10-01T00:00:00.000Z",
"last_date": "2026-10-07T23:59:59.000Z",
"stats": {
"risk": 42.5,
"stability": 57.5,
"total": 5812,
"srcs": 60
},
"summary_overview": "Stabilitas nasional secara umum terkendali pada indeks 84.5/100. Terdapat atensi khusus pada volatilitas harga pangan dan ketersediaan BBM solar subsidi di simpul jalur logistik antarprovinsi.",
"summary_sections": [
{
"category": "ekonomi",
"n": 2400,
"neg_pct": 38,
"region": "Jawa Barat, DKI Jakarta, Lampung",
"text": "Kenaikan harga beras medium di beberapa pasar induk regional mencapai deviasi 8-12% di atas HET akibat jeda panen raya dan biaya angkut."
},
{
"category": "keamanan",
"n": 1800,
"neg_pct": 26,
"region": "Sumatera Bagian Selatan",
"text": "Kepadatan antrean pengisian solar di SPBU jalur logistik Trans-Sumatera berhasil diurai melalui penempatan personel dan penambahan kuota harian."
}
],
"priorities": [
{
"id": "pilkada-dki",
"tier": "kritis",
"theme": "Polarisasi Kampanye Pilkada",
"region": "DKI Jakarta",
"total": 376,
"score": 88,
"confidence": 95,
"impact": "Meningkatnya polarisasi masyarakat dan potensi konflik sosial berbasis agama yang mengancam stabilitas keamanan regional.",
"prediction": "Atensi publik diproyeksikan tetap tinggi dalam 3-7 hari ke depan seiring eskalasi debat publik.",
"timeline": [
"Sinyal eskalasi sentimen di media sosial",
"Pemeriksaan pelanggaran oleh Bawaslu daerah",
"Resonansi meluas ke simpul wilayah penyangga"
],
"recos": [
{ "p": "Tinggi", "t": "Bawaslu dan aparat penegak hukum meningkatkan pengawasan kampanye digital" },
{ "p": "Sedang", "t": "KPU dan Pemda mengintensifkan edukasi publik mengenai kerukunan" }
],
"articles": [
{
"id": "art-101",
"title": "Bawaslu Periksa Sejumlah Saksi Terkait Dinamika Kampanye Daerah",
"url": "https://antaranews.com",
"date": "2026-10-06T06:30:00.000Z",
"kategori": "politik",
"sentimen": "Negatif"
}
]
}
]
}5. Generator Dokumen PDF Eksekutif (GET /ew/briefing/pdf)
Untuk kebutuhan rapat pimpinan (BOD Meeting) atau nota dinas cetak:
- Pemicu On-Demand: Pengguna mengklik tombol "Ekspor PDF" di antarmuka web dengan membawa parameter query string periode (
?from=...&to=...). - Kompilasi Data: Backend mengambil data JSON yang sama dengan yang dihasilkan oleh handler
/ew/briefing. - Injeksi Template HTML: Data disuntikkan ke template dokumen resmi (Header Lambang Garuda/NEXA, Grid KPI 4 kolom, narasi eksekutif, serta tabel prioritas dan QR-Code validasi).
- Rendering Headless: Modul rendering (Puppeteer atau PDFKit) mengonversi dokumen HTML ke binary
%PDF-1.4(ukuran kertas A4, margin standar). - Streaming Download: Berkas langsung di-stream ke browser pengguna dengan nama
NEXA_Briefing_{tanggal}.pdf.
AI Insights
Spesifikasi teknis antarmuka Decision Intelligence Center (/dashboard/ai-insights), pemetaan 100% komponen UI AiInsights.jsx ke database PostgreSQL dan Elasticsearch, tangkapan layar per section, serta penjelasan lengkap sumber suplai data.
AI Agents (Agen AI)
Panduan modul antarmuka Agen AI (/dashboard/ai-agents), integrasi asisten percakapan kognitif Analis Keputusan NEXA, starter prompts, tombol kontekstual "Tanya AI", serta konsumsi Server-Sent Events (SSE) di Frontend.