Files
contracts/History/features/teach-flow-vm-feedback-tests.md

2.6 KiB

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

Вернуло дефолтные метаданные:

{
  "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 при этом не затрагивались.