Автоподтверждение чистых документов (#64, OQ-157) #69
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/64-auto-confirm"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #64
Сливать вместе с RSHB/arm-ka-docs#71 (правило §9.3/§9.5, OQ-157, гайды).
Что сделано
Чистый документ (маппинг сделал бы его
RECOGNIZED) сразу становитсяCONFIRMEDот имени системы:confirmed_by = NULL,audit_event(DOCUMENT_CONFIRM)сuser_id = NULLи описанием «автоподтверждение: без замечаний»; привязывается к версиям и двигает их как при ручном подтверждении (переход отstored_file.uploaded_by, комментарий «автоподтверждение документа <тип> [<счёт>]»). Файл с автоподтверждёнными документами можно удалить, пока все версии с их привязками вINITIATED/DOCUMENTS_PROCESSING/DATA_CORRECTION. DBML и миграции не менялись. Спека:openspec/changes/auto-confirm-clean-documents/(openspec validate --strict— валиден).ff65f21on_document_confirmed(changed_by, comment); приchanged_by=Noneпривязка есть, перехода нет588c098form_confirmable/statement_hard_failures— одни условия формы для ручного и автоматического путиb48d9e6services/auto_confirm.py3830e71result_mapping._map_candidate:map_file→ автозамена →auto_confirm→on_documents_mapped256ddcbbound_versions/unbind_documents,FILE_DELETE.after_value.unbound_version_idse7bef708122205,5f41550make check-full
Прогон на ветке (хвост вывода):
Отдельно (до финальных правок документации):
pytest tests -m "not e2e"— 2108 passed.Находки (маркер / суть / статус)
changed_by=Noneлог пишется на каждую версию (шумно)Noneтолько дляINITIATEDDOCUMENTS_PROCESSINGидёт тем же кодом (MOVES_TO_CORRECTION)form_confirmable8122205created_atis not Noneimport jsonвнутри тестовget_metaпослеform_confirmable_history_ofвнутри открытой сессии8122205(проверено перестановкой: тест падает)auto_confirmиз-за циклаdocuments → result_mapping → auto_confirm → statements → documentsform_confirmable/FORM_TYPES)zip(strict=False)в фабрике тестаunbound_version_idsломала фразу8122205ALREADY_CONFIRMEDв таблице эндпоинтов812220581222058122205IN_WORK_STATUSES)812220581222058122205(код не менялся)bound_versionsпри будущем «вернуть на доработку» (Срез 7)uploaded_byNULL8122205test_exchange_and_mapping_write_no_audit_events8122205documents-api,repositories/files.py); нетtasks.mdtasks.mdне добавлялся (в change его нет,validate --strictпроходит) — deferred доopenspec archive5f41550$H/$LE_QAв разделе 8 не определеныHaiku 5.5вместоOpus 5.5NEEDS_CHECKбольше не покрыта W17 (остаются W22/W27)test_real_osv_is_parsed_end_to_endнестабилен из-за стенда владельца: задание ack'нуто tabular-parser, результат в queue grouparm-coreиногда забирает ядро стенда. Первый прогон ветки — failed (60 с), повтор — passed (4.3 с); на чистомmain(d8bf5b2, отдельный detached worktree): 1-й прогон passed (5.6 с), 2-й failed (62 с). Известная история (RSHB/arm-scan-gateway#19). Стенд не трогалRulings I made
form_confirmableломается строка 2200, а не 2400 из плана (соотношения с 2400 нежёсткие)uploaded_by— реальный пользователь (FKapp_user), неuuid4()confirmed_by(иначе по новому правилу D-4 это автоподтверждение)make check-full— один раз в конце, не внутри Task 6form_confirmableиз цикла импортов — техдолгlock_versions_for_entityauto_confirmв_map_candidateпринятDeferred (для follow-up issue при закрытии)
T1.1, T3.1, T3.2, T4.1, T4.3/M-7, T5.1, T5.2, M-3, M-6 (
tasks.mdпри архивации), T7.11, T7.12, O-2, O-3.🤖 Generated with Claude Code