4 Commits

Author SHA1 Message Date
Andrey Epifancev
17141c0a11 feat(contract): копии контракта обоих MAJOR, модели v2.0, приём конвертов 1.x/2.0, предупреждения файла структурами
Копии api/contracts/ побайтно равны docs/contracts/ (тест идентичности плана 0): схемы v2.0 основные, .v1 рядом,
examples/ — v2.0, examples/v1/ — v1.0. Модели result_v2.py и RecognitionResultMessageV2, versions.py выбирает модель
по MAJOR. Приём конвертов принимает оба MAJOR; metrics.warnings в recognition_job пишется структурами (строки 1.x
оборачиваются в LEGACY_WARNING). JobBrief.warnings отдаёт структуры, мусор пропускается, БД не переписывается.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
2026-10-18 19:26:50 +04:00
Andrey Epifancev
46d17e6de7 chore(contract): копия схемы v1.2 и модели (DISCLOSURE, checks, границы периода), без изменения логики
Refs RSHB/arm-tabular-parser#14

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
Claude-Session: cedd7915-2efe-41e5-988c-a9117033598b
2026-10-06 14:30:41 +04:00
Andrey Epifancev
b87b3cefd7 contract: копия результата v1.1 — rows[].extra, примеры (#11)
Схема 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
2026-10-05 20:24:20 +04:00
Andrey Epifancev
490d2568bc chore: копии схем контракта распознавания v1.0 и jsonschema в dev-зависимостях
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 23:01:23 +04:00