# Ответ Соннета — архитектура upload+process (2026-07-13)

## Рекомендация: Вариант А + блокирующий /process

```
POST /api/upload          → {session_id}   (фронт шлёт по одному, N раз)
POST /api/process/{sid}   → {status:"done"}  (блокирует до конца обработки)
GET  /api/download/{sid}  → ZIP
```

Без polling — `/process` просто блокирует XHR до готовности. Waitress держит.

## Детали
- Mapping.csv — на лету, аккумулируется после каждого файла
- Сессии — dict в памяти, TTL 30 минут через threading.Timer
- Фронт: цикл upload → process → download. Три простых XHR.
- Никакого JS-кода обработки данных.
