Hệ thống Lead Flow sử dụng **Postgres Persistence Layer** (`common.lead_flow_postgres`) thay vì Redis (có TTL ngắn). Điều này đảm bảo lịch sử chat của khách hàng không bị mất, giúp AI #1 luôn có context dài hạn về toàn bộ "hành trình mua sắm" của user.

### Cấu trúc định danh (Identity keys)
- **Mỗi thiết bị** được định danh qua `device_id` (sinh ra bằng hàm `uuidv4()` lưu ở `localStorage` trên frontend với key: `canifa_lead_device_id`).
- **Mỗi cuộc hội thoại** dùng `conversation_id` để gom nhóm các tin nhắn (Turn) cho một phiên độc lập.

### Cơ chế lưu trữ 
Khi có một Request đến, middleware sẽ đọc Header `device_id`, ghi nhận vào `request.state`. 
Trong quá trình Controller chạy, tất cả các tin nhắn In/Out đều được sync thẳng vào Table Postgres chuyên dụng cho Lead Flow. 

```javascript
// Đoạn logic Frontend tạo persistent ID
let LEAD_DEVICE_ID = (() => {
    const KEY = 'canifa_lead_device_id';
    let id = localStorage.getItem(KEY);
    if (!id) { id = uuidv4(); localStorage.setItem(KEY, id); }
    return id;
})();
```