Копии 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
22 lines
634 B
JSON
22 lines
634 B
JSON
{
|
|
"schema_version": "1.0",
|
|
"job_id": "8d6b1f30-2e94-4a7c-b5d8-0f1e9c3a6b03",
|
|
"file_id": "c7e2a9b4-1d58-4630-a2f7-6b4d8e0c1f04",
|
|
"status": "done",
|
|
"service": { "name": "scan-gateway", "version": "0.1.0" },
|
|
"result_s3": {
|
|
"bucket": "arm-ka",
|
|
"key": "results/c7e2a9b4-1d58-4630-a2f7-6b4d8e0c1f04/8d6b1f30-2e94-4a7c-b5d8-0f1e9c3a6b03/result.json"
|
|
},
|
|
"result_schema_version": "1.0",
|
|
"raw_s3_key": "raw/8d6b1f30-2e94-4a7c-b5d8-0f1e9c3a6b03.json",
|
|
"metrics": {
|
|
"duration_ms": 18400,
|
|
"pages": 2,
|
|
"fields_total": 4,
|
|
"fields_low_confidence": 0,
|
|
"fields_unrecognized": 0,
|
|
"warnings": []
|
|
}
|
|
}
|