Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BJKMLHdxMwSUeYcdkwqX4W
16 lines
1.6 KiB
Markdown
16 lines
1.6 KiB
Markdown
# Эталоны нормализатора scan-gateway (golden v2)
|
||
|
||
`<name>.json` — результат `OcrNormalizer` для набора `ocr/<name>.json` + `ocr/<name>_*.json` в формате контракта 2.0
|
||
файла результата: `{schema_version, status, error, metrics, documents}`.
|
||
|
||
- `documents` — `statementDocument` контракта 2.0 (общий код `arm_statements`): колонки, строки со `line_status`,
|
||
`needs_review`, `parent_ref`, значения с `amount`/`string_value`/`is_recognized`, предупреждения и проверки документа.
|
||
- `metrics.warnings` — структуры предупреждений файла (`code`, `severity`, `message`, `locator`), например `JSON_FAILED`.
|
||
- `error` пишется только при `status = error` (тогда `documents = []`).
|
||
- Ключи `job_id`, `file_id`, `service`, `raw_s3_key` не пишутся: `service.statements_version` меняется при каждой
|
||
раскладке пакета, а идентификаторы в тестах фиктивные.
|
||
|
||
Обновление: `make golden-update` в scan-gateway; изменения смотреть через `git diff` и объяснять в PR.
|
||
Эталоны фиксируют поведение на реальных сканах, включая известные ограничения распознавания. Тест
|
||
`test_golden.py` дополнительно проверяет полный файл результата по JSON Schema `result`.
|