# Backend V7 — RAG Distribution & Gemini Supervisor

## Fungsi backend V7

Backend tidak lagi menjadi otak utama chat. Fungsinya:

- autentikasi pengguna;
- mendistribusikan knowledge pack bertanda tangan;
- menyimpan metadata/versioning pack;
- memanggil Gemini hanya sebagai supervisor;
- menyimpan log supervisor;
- menyediakan dashboard Knowledge Center, Retrieval Test, dan Supervisor Monitor.

## Upload

Upload folder `backend/` ke:

```text
/home/sekaija1/sakinah.bgsx.biz.id/backend/
```

Jangan menimpa `config.php` produksi.

## Private key

File dalam folder `deploy-secrets/` harus ditempatkan di luar `public_html`:

```text
/home/sekaija1/sakinah-secrets/knowledge_private_key.pem
```

Permission: `600`.

## Config

Merge isi contoh `backend/CONFIG_V7_ADDITIONS.example.php` ke array `config.php`. Jangan mengganti seluruh config dengan file contoh.

## Migrasi

```text
https://sakinah.bgsx.biz.id/backend/upgrade_v700.php?token=TOKEN
```

Hapus upgrader dan kosongkan token setelah berhasil.

## Endpoint

- `/backend/local-ai-health.php`
- `/backend/knowledge-manifest.php`
- `/backend/knowledge-download.php?slug=...`
- `/backend/ai-supervisor.php`
- `/backend/admin/knowledge-center.php`
- `/backend/admin/rag-test.php`
- `/backend/admin/ai-supervisor-monitor.php`

## Security

- knowledge file disimpan di luar document root;
- download hanya melalui slug aktif dari database;
- filename selalu dibasename;
- pack diverifikasi saat upload;
- hash ditandatangani RSA SHA-256;
- private key tidak ikut ke APK;
- supervisor membutuhkan bearer session;
- rate limit supervisor diterapkan;
- local draft tetap digunakan jika supervisor gagal.
