# 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.