Контракт результата v1.1: копия схемы и OsvRow.extra #13

Merged
aep merged 1 commits from fix/11-contract-v1-1-copy into main 2026-10-05 19:46:12 +03:00
Owner

Closes #11

Что сделано:

  • api/contracts/recognition-result.schema.json и examples/result-*.json скопированы байт в байт из docs/contracts/ (v1.1; добавлен новый пример result-osv-needs-check.json). Запрос и конверт не менялись.
  • OsvRow.extra: dict[str, str | None] | None = None в api/src/contract/result.py (как в tabular-parser).
  • tests/test_contract.py: таблица примеров дополнена result-osv-needs-check.json, EXAMPLES_COUNT = 9.
  • CONTRACT_VERSION оставлен "1.0": ядро — потребитель, принимает любой MINOR 1.x, запрос не менялся.

Проверки: pytest tests/test_contract.py — 167 passed (идентичность копий docs, примеры проходят схему и модель); make check зелёный (ruff, ruff format, mypy, 827 passed, 290 deselected). Интеграционные тесты не запускались: примеры контракта используются только в test_contract.py.

🤖 Generated with Claude Code

https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2

Closes #11 Что сделано: - `api/contracts/recognition-result.schema.json` и `examples/result-*.json` скопированы байт в байт из `docs/contracts/` (v1.1; добавлен новый пример `result-osv-needs-check.json`). Запрос и конверт не менялись. - `OsvRow.extra: dict[str, str | None] | None = None` в `api/src/contract/result.py` (как в tabular-parser). - `tests/test_contract.py`: таблица примеров дополнена `result-osv-needs-check.json`, `EXAMPLES_COUNT = 9`. - `CONTRACT_VERSION` оставлен "1.0": ядро — потребитель, принимает любой MINOR 1.x, запрос не менялся. Проверки: `pytest tests/test_contract.py` — 167 passed (идентичность копий docs, примеры проходят схему и модель); `make check` зелёный (ruff, ruff format, mypy, 827 passed, 290 deselected). Интеграционные тесты не запускались: примеры контракта используются только в test_contract.py. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
aep added 1 commit 2026-10-05 19:24:35 +03:00
Схема recognition-result и примеры result-* скопированы байт в байт из docs/contracts (v1.1);
OsvRow.extra добавлен в pydantic-модель; в тест примеров добавлен result-osv-needs-check.json.
CONTRACT_VERSION не менялся: ядро — потребитель, принимает любой MINOR 1.x, запрос не менялся.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
aep merged commit 66eb214a66 into main 2026-10-05 19:46:12 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-core#13
No description provided.