# Codex Handoff

Snapshot tanggal: `2026-05-21`

Dokumen ini dipakai untuk mempercepat pindah sesi kerja Codex tanpa perlu audit ulang dari nol.

## Ringkasan Cepat

- Repo: `bizone-portal`
- Branch aktif terakhir yang dicek: `main`
- Worktree tidak bersih
- Backend build: sukses
- Frontend build: sukses, dengan warning CSS compatibility
- Production readiness: belum siap, masih banyak blocker operasional dan integrasi

## Worktree Saat Snapshot

Hasil `git status --short --branch` saat handoff dibuat:

```text
## main...origin/main
 M deploy/debian12/app.env.example
?? public/
```

File untracked yang terlihat:

- `public/favicon.ico`
- `public/bizone.png`

Jangan asumsi file di atas aman untuk dihapus. Verifikasi dulu apakah memang asset baru yang ingin dipakai.

## Struktur Kerja Utama

- `backend/`: NestJS + TypeScript
- `frontend/`: Next.js 15 app router
- `prisma/`: schema dan migration
- `deploy/debian12/`: artefak deploy production Debian 12
- `PRODUCTION_CHECKLIST.md`: sumber status readiness production

## Status Build Terakhir

Perintah yang sudah diverifikasi:

```bash
cd backend && npm run build
cd frontend && npm run build
```

Hasil:

- Backend compile sukses
- Frontend compile sukses dan generate static pages sukses

Warning frontend yang masih ada berasal dari `autoprefixer` pada [frontend/src/app/globals.css](/Users/wirabasalamah/Documents/Codex/bizone-portal/frontend/src/app/globals.css):

- line `3868`
- line `4681`
- line `7788`
- line `8399`
- line `8755`

Masalahnya penggunaan nilai seperti `start` atau `end` pada properti yang lebih aman memakai `flex-start` atau `flex-end`.

## Status Production Checklist

Snapshot dari [PRODUCTION_CHECKLIST.md](/Users/wirabasalamah/Documents/Codex/bizone-portal/PRODUCTION_CHECKLIST.md):

- Selesai: `35`
- Parsial: `5`
- Belum selesai: `39`

Area blocker utama sebelum production:

- staging final belum ada
- test Meta end-to-end belum dilakukan
- audit permission belum selesai
- CI/CD deploy flow belum final
- monitoring dan alerting belum aktif
- backup dan restore drill belum dibuktikan
- full smoke test lintas modul belum selesai

## Dokumen yang Perlu Dibaca Dulu

Urutan baca yang paling efisien untuk sesi baru:

1. [PRODUCTION_CHECKLIST.md](/Users/wirabasalamah/Documents/Codex/bizone-portal/PRODUCTION_CHECKLIST.md)
2. [README.md](/Users/wirabasalamah/Documents/Codex/bizone-portal/README.md)
3. [deploy/debian12/README.md](/Users/wirabasalamah/Documents/Codex/bizone-portal/deploy/debian12/README.md)
4. [backend/package.json](/Users/wirabasalamah/Documents/Codex/bizone-portal/backend/package.json)
5. [frontend/package.json](/Users/wirabasalamah/Documents/Codex/bizone-portal/frontend/package.json)

## Command Cepat Untuk Re-Orientasi

```bash
git status --short --branch
sed -n '1,220p' PRODUCTION_CHECKLIST.md
cd backend && npm run build
cd frontend && npm run build
```

Kalau perlu cek warning CSS:

```bash
nl -ba frontend/src/app/globals.css | rg '\b(start|end)\b'
```

## Prioritas Kerja Berikutnya

Urutan yang paling masuk akal untuk dilanjutkan:

1. Rapikan warning CSS di `frontend/src/app/globals.css` lalu build ulang frontend.
2. Audit perubahan di `deploy/debian12/app.env.example` dan putuskan apakah mau di-commit.
3. Putuskan status folder `public/` apakah asset final atau artefak lokal.
4. Pecah `PRODUCTION_CHECKLIST.md` menjadi task implementasi teknis yang bisa dikerjakan satu per satu.
5. Fokuskan sprint berikut ke salah satu jalur:
   - jalur infra: staging, backup, monitoring, CI/CD
   - jalur product integration: Meta webhook dan outbound live test
   - jalur app hardening: permission audit dan smoke test

## Catatan Kerja

- Root `package.json` hanya dipakai untuk dependency Prisma bersama.
- Backend local run yang disarankan oleh repo: `cd backend && npm run local`
- Frontend local run: `cd frontend && npm run dev`
- Deploy production yang didokumentasikan menargetkan `https://portal.bizone.id`
- Ada perbedaan konsep URL backend di dokumen deploy: browser-facing route memakai `/api`, sementara backend internal juga diekspos lewat `/backend-api`. Jangan ubah ini tanpa cek alur Next route handler lebih dulu.

## Definition Of Done Untuk Sesi Lanjutan

Sesi baru sebaiknya selalu menutup kerja dengan:

- build ulang area yang diubah
- update dokumen status bila ada perubahan readiness
- catat blocker nyata, bukan asumsi
- pastikan `git status` jelas sebelum handoff berikutnya
