2.7 KiB
Spec: <Judul singkat, aktif, deskriptif>
Status: DRAFT | APPROVED | IN PROGRESS | DONE Date: YYYY-MM-DD Author: <nama/agent> Related: <link ke spec/plan terkait jika ada> Todo: <link ke todo.md untuk tugas ini, jika ada>
Problem
<Deskripsi masalah atau keinginan. Apa yang rusak? Apa yang belum ada? Sebutkan siapa yang melaporkan (user/bot/audit) dan konteksnya. Gunakan evidence: log, error, metrik, atau observasi langsung.>
Root cause
<Analisis teknis mengapa masalah ini terjadi. Jika bug: trace dari symptom ke cause. Jika fitur baru: jelaskan gap saat ini. Referensikan file + line number yang relevan.>
Behavior target
<Deskripsi eksplisit perilaku yang diharapkan setelah fix/fitur. Buat list bernomor. Setiap item harus bisa di-verify.>
Verified facts
Fakta-fakta teknis yang sudah diverifikasi dari pembacaan kode, log produksi, atau eksperimen langsung. Setiap fakta harus citation ke file:line. Jika belum diverifikasi, tulis
UNVERIFIEDdan rencana verifikasi.
path/to/file.ts:42—path/to/file.ts:88—- Kolom DB
table.column— <tipe, constraint, index> - Config
ENV_VARdefault —
Keputusan desain
<Pilihan desain yang dibuat, beserta rationale (mengapa bukan alternatif lain). Format: nomor, judul singkat, penjelasan.>
- : <penjelasan + rationale>
- Alternatif yang ditolak: <apa + mengapa ditolak>
Perubahan file
Daftar semua file yang perlu diubah/ditambah/dihapus, dikelompokkan per service. Untuk setiap file: sebutkan apa yang berubah (bukan copy-paste kode).
Gateway (services/discord-gateway/)
src/modules/<module>/<file>.ts—
Backend (services/backend/)
src/modules/<module>/<file>.ts—
Frontend (services/frontend/)
src/<path>/<file>.ts|tsx—
Database / Config
Schema/type changes
<Perubahan tipe, interface, atau DB schema. Jika tidak ada, tulis "TIDAK ada perubahan.">
Verification
Harus spesifik dan executable. Jangan tulis "works correctly". Tulis command yang bisa dijalankan dan expected outcome.
- Typecheck:
<service> pnpm typecheck— clean - Lint:
<service> pnpm lint— no errors - Build:
<service> pnpm build— compiles - Test:
<service> pnpm test— all pass (+ test baru jika ada) - Smoke test: <langkah manual untuk verifikasi visual/behavioral>
- DB:
- Deploy: CI green → deploy → cek
Notes (opsional)
<Catatan tambahan: risiko, fallback, future work, atau hal yang sengaja di-scope-out.>