diff --git a/DOCS/architecture-round2.md b/DOCS/architecture-round2.md new file mode 100644 index 0000000..efe901b --- /dev/null +++ b/DOCS/architecture-round2.md @@ -0,0 +1,33 @@ +# Архитектура — раунд 2 (ответы Sonnet) + +## Решения + +| Вопрос | Ответ | +|--------|-------| +| Persistent storage | **Нет БД на MVP.** Config → `config.yaml` в git. Результаты → in-memory. | +| YAML-файлы | **Не нужны в app.** Данные сервисов — из API. | +| Threading | **OK при 1 gunicorn worker.** Запасной вариант: `/tmp/run_status.json`. | +| Параметры UI | **JSON textarea.** Рядом hint с `valueList` из API. | +| Приоритет | **Pipeline первый.** Config UI потом. | + +## Фазы + +### Фаза 0 — MVP +- `config.yaml` в репо: test_org_uid + список сервисов с enabled-операциями +- Pipeline: читает config → выполняет операции последовательно +- Страница: кнопка «Запустить» + таблица результатов +- Ноль БД, ноль UI конфигурации + +### Фаза 1 +- UI конфигурации (без правки git) + +### Фаза 2 +- PostgreSQL для истории (если нужно) + +## Моё мнение + +✅ Согласен: pipeline — единственное что имеет смысл сейчас. + +⚠️ Уточнение: `config.yaml` должен лежать в `app-autotest/site/` (платформа клонирует только этот репо). Путь: `site/config.yaml`. + +⚠️ `test_org_uid` — может определяться автоматически: ищем организацию через API (как сейчас), запоминаем uid.