# Proposal

## Why

Dashboard masih menampilkan angka, grafik, dan daftar WO dummy sehingga belum mencerminkan kondisi Maintenance dan Inventory. Dibutuhkan ringkasan operasional dari database dengan definisi PM compliance berdasarkan penyelesaian tepat waktu, mencakup pilot plant dan sparepart karantina.

## What Changes

- Tambahkan endpoint terautentikasi `GET /api/v1/dashboard/overview` mengikuti arsitektur routes, controllers, services, validators, dan OpenAPI yang sudah ada.
- Sajikan empat KPI: PM selesai tepat waktu bulan berjalan, seluruh PM aktif terlambat, seluruh corrective aktif, dan SKU dengan stok tersedia kritis.
- Isi lima grafik yang sudah ada dari database: WO menurut jenis, status PM, stok tersedia per kelompok dan satuan, sparepart kritis, dan kondisi stok per kelompok.
- Sajikan maksimal lima WO mendesak/terbaru dari pilot plant dan karantina sparepart dengan target yang sesuai sumbernya.
- Tambahkan `apps/app/src/services/dashboard.service.ts` dan integrasi React Query; tampilkan loading, empty, error/retry, serta data terakhir ketika pembaruan gagal.
- Hapus calibration dan kolom Technician beserta avatar dari dashboard sesuai persetujuan pengguna. Tidak menghapus enum, relasi, atau riwayat database.
- Sesuaikan label periode, keterangan KPI, legenda PM, dan kolom target WO agar menjelaskan data aktual. Hubungkan tombol View all yang sudah ada ke Maintenance.
- Gunakan bulan berjalan berdasarkan zona waktu fasilitas untuk statistik periode; backlog dan stok menggunakan kondisi saat permintaan. Tidak menambahkan date picker, fitur ekspor, atau kontrol dashboard baru dalam MVP ini.

## Capabilities

### New Capabilities

- `dashboard-overview`: Ringkasan operasional Maintenance dan Inventory yang terautentikasi, definisi agregasi yang konsisten, serta konsumsi pada halaman Home.

### Modified Capabilities

Tidak ada spesifikasi utama yang diubah. Inventaris `openspec/specs` saat proposal dibuat masih kosong; implementasi mengikuti arsitektur dan fitur yang sudah tersedia.

## Impact

- Backend: file Dashboard baru pada `src/routes`, `src/controllers`, `src/services`, dan `src/validators`; registrasi router, dokumentasi OpenAPI, serta pengujian kontrak/agregasi.
- Frontend: `apps/app/src/pages/home/page.tsx`, komponen dashboard, data dummy lokal, service baru, dan integrasi query mengikuti pola service yang ada.
- Database: membaca WorkOrder, target pilot plant/karantina, Part, PartGroup, StockBalance, dan konfigurasi zona waktu yang sudah ada. Tidak memerlukan model, ERD, migration, atau seeder baru.
- Tidak menambahkan cronjob, notifikasi baru, keuangan, lokasi, atau assignment teknisi. Endpoint tidak membuat WO maupun mengubah stok.
- Perubahan tampilan selain penghapusan calibration/teknisi dirinci dalam design untuk direview sebelum apply. Bila implementasi ternyata membutuhkan perubahan database, konfirmasi pengguna terlebih dahulu.
