Дельта data-model переименована на v5.21, пакет — только файлы в ERROR, tasks — ссылки на docs PR #157 и задачи ревью; config.yaml — DBML v5.21. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5.6 KiB
Proposal
Why
AURORA-1442: после TIMEOUT/NO_ACK аналитик не может повторить обработку уже загруженного файла; ошибочный период или счёт ОСВ нельзя уточнить через API. DBML v5.20 и решение OQ-161 от 21.10.2026 уже задают хранение исходных значений рядом с исправленными и правила снятия подтверждения.
What Changes
- Завершение остатка Среза 2c (§9.4–9.5 правил), с интеграцией с версиями Среза 4: ручной повтор одного файла и подходящих файлов пакета версии. Новое recognition_job с новым id и attempt + 1, прежнее остаётся в истории.
- Повтор только tabular после timeout/TIMEOUT или dlq/NO_ACK, до max_attempts; OCR и другие причины исключены.
- PATCH /api/v1/documents/{id}/osv-header по §9.5 п.12: период и счёт меняются на месте, исходные четыре поля сохраняются в document.original_values; копий document и правок file_ordinal нет.
- DBML v5.20: четыре колонки document, одна добавочная миграция; сброс подтверждения и снятие привязок, ручное переподтверждение, аудит RECOGNIZED_DATA_EDIT. Строки osv_entry и первичка в S3 неизменны.
- DBML v5.21: отдельная миграция enum audit_action с FILE_REPROCESS по §9.5 п.13.
- Документировать новые API, ошибки и ограничения; временный CONSOLIDATION_PERIOD_FROM_VERSION сохраняется.
Capabilities
New Capabilities
Нет: расширяются существующие возможности.
Modified Capabilities
primary-files: API ручной повторной обработки одного файла и пакета версии, права и ограничения.recognition-job-exchange: новая попытка через существующий outbox, сохранение истории и защита от старых ответов.documents-api: уточнение шапки ОСВ, сохранение исходных значений, сброс подтверждения и привязок.data-model: переход к DBML v5.21 через отдельные миграции v5.20 (document) и v5.21 (audit_action).audit-trail: RECOGNIZED_DATA_EDIT для шапки ОСВ и согласованный FILE_REPROCESS для каждого ручного повтора файла.
Impact
Реализация — arm-core; документация — arm-ka-docs (../docs), отдельный согласованный docs change/PR для уточнения
§9.4–9.5 (п.12–13) и frontend-api-guide. Схема для ОСВ утверждена в v5.20, аудит повтора — в v5.21;
целевой источник истины — model/data-model-v5.21.dbml и entities-v5.21.md;
упоминания v5.17 в конфигурации OpenSpec устарели и не отменяют явно запрошенные пользователем v5.20 и v5.21.
Таблицы: document (четыре новых поля), recognition_job, stored_file, consolidation_document, audit_event; consolidation_version/member читаются для статусов и периметра. Новых таблиц не требуется. Схема и аудит реализуются по опубликованным версиям: v5.20 — четыре поля document, v5.21 — FILE_REPROCESS в audit_action. Дополнять старую v5.20 новым enum не требуется. Отдельная миграция v5.21 добавляет только значение enum; откат запрещён при наличии событий FILE_REPROCESS.
Согласованный пакет версии: файлы с stored_file.consolidation_id консолидации выбранной версии и ЮЛ из её периметра, подходящие по текущему заданию и лимиту попыток. Версии одной консолидации могут видеть те же файлы.
Код: api/src/{models,schemas,domain,services,repositories,api/endpoints/files,api/dependencies/files.py}, api/alembic/versions, api/tests, Makefile, README. Контракты парсеров и фронтенд не меняются. Основание: §9.4, §9.5 п.6–7,12–13; правила привязок §3; OQ-161 закрыт вариантом 2, OQ-55 относится к автоматическому обмену.
Non-goals
- UI повторной обработки и правки ОСВ (отдельные задачи фронта, в том числе AURORA-1679).
- Повтор OCR, error результата сервиса, ошибок маппинга, автоматический retry с увеличением attempt.
- Копирование документов, перенос ручных правок на повторное распознавание, изменение строк ОСВ при смене счёта шапки.
- Отмена временного флага периода, изменение §7 ББ/ОФР, новые механизмы доставки NATS.