Andrey Epifancev 98f00c0faa docs: change retry-recognition-and-edit-osv-header, README и CLAUDE.md — DBML v5.21 (ревью #161)
Дельта data-model переименована на v5.21, пакет — только файлы в ERROR,
tasks — ссылки на docs PR #157 и задачи ревью; config.yaml — DBML v5.21.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 17:13:41 +04:00

5.6 KiB
Raw Blame History

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.