94 lines
2.6 KiB
Markdown
94 lines
2.6 KiB
Markdown
# Teach flow VM smoke tests
|
|
|
|
Дата: 26.06.2026 | Проверка isolated teaching flow на VM после внедрения.
|
|
|
|
## Что проверяли
|
|
|
|
Проверялся Flask-слой VM через test client с подменой DB-слоя, чтобы подтвердить поведение новых endpoints без риска для боевой БД.
|
|
|
|
### Проверенные маршруты
|
|
|
|
- `GET /teach`
|
|
- `GET /teach/api/meta`
|
|
- `GET /teach/api/contracts`
|
|
- `GET /teach/api/context?supplement_id=...`
|
|
- `POST /teach/api/feedback`
|
|
- `GET /teach/api/feedback?contract_id=...&supplement_id=...`
|
|
|
|
## Результат smoke-test
|
|
|
|
Все маршруты вернули `200 OK` в mocked окружении.
|
|
|
|
### `/teach`
|
|
|
|
- Страница отдала HTML с заголовком `Сверка договоров — обучение`.
|
|
|
|
### `/teach/api/meta`
|
|
|
|
Вернуло дефолтные метаданные:
|
|
|
|
```json
|
|
{
|
|
"ok": true,
|
|
"prompt_version": "vm-teach-v1",
|
|
"model_name": "gpt-oss-120b"
|
|
}
|
|
```
|
|
|
|
### `/teach/api/contracts`
|
|
|
|
Вернуло список договоров и допников в ожидаемой структуре:
|
|
- `contract_id`
|
|
- `contract_number`
|
|
- `client`
|
|
- `date_signed`
|
|
- `supplements[]`
|
|
|
|
### `/teach/api/context`
|
|
|
|
Вернуло:
|
|
- `supplement`
|
|
- `current_rows`
|
|
- `previous_rows`
|
|
|
|
### `POST /teach/api/feedback`
|
|
|
|
Проверена запись feedback со значениями:
|
|
- `scope = row`
|
|
- `verdict = error`
|
|
- `error_type = wrong_price`
|
|
- `field = price`
|
|
- `llm_value` и `correct_value` как JSON
|
|
- `prompt_version = vm-teach-v1`
|
|
- `model_name = gpt-oss-120b`
|
|
- `doc_mode = amendment`
|
|
|
|
Запись успешно ушла в mock cursor и commit был вызван.
|
|
|
|
### `GET /teach/api/feedback`
|
|
|
|
Возвратил сохранённую запись в читаемом JSON виде.
|
|
|
|
## Что всплыло по окружению
|
|
|
|
Во время проверки не хватало runtime-зависимостей в VM-venv:
|
|
- `python-dotenv`
|
|
- `Flask`
|
|
- `psycopg2-binary`
|
|
- `httpx`
|
|
- `pdfplumber`
|
|
- `python-docx`
|
|
- `redis`
|
|
|
|
Эти пакеты были установлены в VM-venv, после чего smoke-test прошёл.
|
|
|
|
## Вывод
|
|
|
|
Isolated teaching flow на VM не только компилируется, но и проходит mocked smoke-test по основным endpoint'ам:
|
|
- чтение метаданных,
|
|
- загрузка списка договоров,
|
|
- загрузка контекста допника,
|
|
- запись и чтение feedback.
|
|
|
|
Старый Lucee-frontend и основной compare pipeline при этом не затрагивались.
|