2.6 KiB
Teach flow VM smoke tests
Дата: 26.06.2026 | Проверка isolated teaching flow на VM после внедрения.
Что проверяли
Проверялся Flask-слой VM через test client с подменой DB-слоя, чтобы подтвердить поведение новых endpoints без риска для боевой БД.
Проверенные маршруты
GET /teachGET /teach/api/metaGET /teach/api/contractsGET /teach/api/context?supplement_id=...POST /teach/api/feedbackGET /teach/api/feedback?contract_id=...&supplement_id=...
Результат smoke-test
Все маршруты вернули 200 OK в mocked окружении.
/teach
- Страница отдала HTML с заголовком
Сверка договоров — обучение.
/teach/api/meta
Вернуло дефолтные метаданные:
{
"ok": true,
"prompt_version": "vm-teach-v1",
"model_name": "gpt-oss-120b"
}
/teach/api/contracts
Вернуло список договоров и допников в ожидаемой структуре:
contract_idcontract_numberclientdate_signedsupplements[]
/teach/api/context
Вернуло:
supplementcurrent_rowsprevious_rows
POST /teach/api/feedback
Проверена запись feedback со значениями:
scope = rowverdict = errorerror_type = wrong_pricefield = pricellm_valueиcorrect_valueкак JSONprompt_version = vm-teach-v1model_name = gpt-oss-120bdoc_mode = amendment
Запись успешно ушла в mock cursor и commit был вызван.
GET /teach/api/feedback
Возвратил сохранённую запись в читаемом JSON виде.
Что всплыло по окружению
Во время проверки не хватало runtime-зависимостей в VM-venv:
python-dotenvFlaskpsycopg2-binaryhttpxpdfplumberpython-docxredis
Эти пакеты были установлены в VM-venv, после чего smoke-test прошёл.
Вывод
Isolated teaching flow на VM не только компилируется, но и проходит mocked smoke-test по основным endpoint'ам:
- чтение метаданных,
- загрузка списка договоров,
- загрузка контекста допника,
- запись и чтение feedback.
Старый Lucee-frontend и основной compare pipeline при этом не затрагивались.