
# Pembersihan

Pembersihan menghapus sandbox yang tidak lagi diperlukan. Pratinjau terlebih dahulu:

```bash
wp rudel cleanup --dry-run
```

`--dry-run` menampilkan yang akan dihapus beserta alasannya. Jalankan tanpa flag tersebut untuk menghapusnya:

```bash
wp rudel cleanup
```

Perintah ini tidak meminta konfirmasi.

## Kebijakan

Sandbox yang tidak dilindungi akan dihapus jika salah satu kondisi berikut terpenuhi:

| Alasan | Aturan |
|--------|------|
| `expiry reached` | `expires_at`-nya sudah lewat |
| `age policy matched` | Dibuat lebih dari `max_age_days` yang lalu |
| `idle policy matched` | Aktivitas terakhirnya lebih dari `max_idle_days` yang lalu |

`max_age_days` dan `max_idle_days` berasal dari `rudel_config` (keduanya default ke `0`, yang menonaktifkan aturan). Ganti nilainya untuk satu kali proses:

```bash
wp rudel cleanup --max-age-days=30 --dry-run
wp rudel cleanup --max-idle-days=7
```

Aktivitas terakhir diperbarui oleh setiap permintaan yang memilih sandbox dan oleh snapshot.

## Sandbox yang digabung

```bash
wp rudel cleanup --merged --dry-run
```

`--merged` menjalankan proses terpisah, bukan kebijakan di atas. Sandbox dihapus ketika setiap worktree Git tertaut yang tercatat untuknya berada pada cabang yang telah digabung ke cabang default repositori, lalu cabang-cabang tersebut dihapus. Worktree tertaut berasal dari kloning sandbox yang direktori temanya merupakan repositori Git (lihat [Git](https://rudel.inline0.dev/id/docs/features/git)). Sandbox yang dibuat dengan `--git` tidak memiliki catatan worktree dan selalu dilewati ([masalah #8](https://github.com/inline0/rudel/issues/8)).

## Sandbox yang dilindungi

Kedua proses melewati sandbox yang dilindungi. Hapus perlindungannya terlebih dahulu dengan `wp rudel update <id> --unprotected` agar pembersihan dapat memeriksanya. `wp rudel destroy` mengabaikan perlindungan.

Menghapus sandbox akan menghapus tabelnya, file dan worktree yang dikelola, serta catatan lingkungan Rudel. Lihat [Otomatisasi](https://rudel.inline0.dev/id/docs/features/automation) untuk menjalankan pembersihan terjadwal.
