Andrey Epifancev 239d5bc270 OpenSpec: change slice-2c-osv-ingest (загрузка файлов, цикл маппинга, документы — спека)
proposal, design (D-1…D-13), спеки primary-files, osv-result-mapping, documents-api (новые), recognition-job-exchange,
data-model (MODIFIED), audit-trail (ADDED), tasks (13 задач).

Issue: RSHB/arm-core#14

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 21:08:56 +04:00

1.6 KiB
Raw Blame History

Spec Delta: audit-trail

ADDED Requirements

Requirement: События файлов и документов

Загрузка, автозамена, удаление файла и подтверждение документа SHALL писать audit_event через сервис аудита:

Действие action section object_type user_id
файл принят FILE_UPLOAD PRIMARY_DOCUMENTS stored_file инициатор
прежний файл заменён новым (автозамена после маппинга) FILE_REPLACE PRIMARY_DOCUMENTS stored_file (заменённый) NULL (система; инициатор загрузки — в description)
файл удалён FILE_DELETE PRIMARY_DOCUMENTS stored_file инициатор
документ подтверждён DOCUMENT_CONFIRM PRIMARY_DOCUMENTS document инициатор

FILE_REPLACE SHALL содержать в after_value новый file_id, в description — перечень заменённых документов и confirmed=true, если среди них был CONFIRMED. Смена статусов задания и файла в обмене и в цикле маппинга audit_event не пишет (ASSUMPTION(OQ-55)).

Scenario: Загрузка двух файлов

  • WHEN принято два файла одним запросом
  • THEN два события FILE_UPLOAD с object_id каждого файла и after_value (original_name, content_hash, job_id)