From f082c75ff8fa5c2e791065f16f03df6fbe8240ef Mon Sep 17 00:00:00 2001 From: Gros Frumos Date: Fri, 20 Mar 2026 21:23:34 +0200 Subject: [PATCH] =?UTF-8?q?kin:=20BATON-ARCH-004=20=D0=9F=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B8=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20?= =?UTF-8?q?ADR-002-offline-pattern.md=20=D0=B2=D0=BE=20=D0=B8=D0=B7=D0=B1?= =?UTF-8?q?=D0=B5=D0=B6=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=BD=D1=84?= =?UTF-8?q?=D0=BB=D0=B8=D0=BA=D1=82=D0=B0=20=D0=BD=D1=83=D0=BC=D0=B5=D1=80?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/adr/ADR-007-offline-queue-v2.md | 2 +- tests/test_arch_004.py | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/docs/adr/ADR-007-offline-queue-v2.md b/docs/adr/ADR-007-offline-queue-v2.md index 05431c2..fbff592 100644 --- a/docs/adr/ADR-007-offline-queue-v2.md +++ b/docs/adr/ADR-007-offline-queue-v2.md @@ -120,4 +120,4 @@ Baton — приложение экстренного сигнала. Крити } ``` -6. **Решение #1001 требует обновления:** фактический охват Background Sync — 78.75% (21% без поддержки), не 85% как было зафиксировано. Ручной fallback — не «опциональный», а обязательный элемент архитектуры. +6. **ACTION: Обновить решение #1001** — изменить охват BackgroundSync с 85% до 78.75%, пометить ручной fallback как обязательный (не опциональный) элемент архитектуры. diff --git a/tests/test_arch_004.py b/tests/test_arch_004.py index 91d5c35..f47a1a1 100644 --- a/tests/test_arch_004.py +++ b/tests/test_arch_004.py @@ -171,3 +171,26 @@ def test_architecture_md_references_adr_007_for_offline() -> None: assert "ADR-007" in offline_line, ( f"Строка Offline в ARCHITECTURE.md не содержит ADR-007: {offline_line!r}" ) + + +# --------------------------------------------------------------------------- +# Criterion 8 — ADR-007 строка, помечающая #1001 устаревшим, содержит ACTION: +# --------------------------------------------------------------------------- + + +def test_adr_007_stale_reference_has_action_item() -> None: + """Строка ADR-007, ссылающаяся на решение #1001, должна содержать маркер ACTION:. + + Конвенция #1049: все ссылки на устаревшие решения обязаны быть оформлены как + явный ACTION item, а не как пассивная заметка. + """ + content = ADR_007.read_text(encoding="utf-8") + lines_with_1001 = [line for line in content.splitlines() if "#1001" in line] + assert lines_with_1001, ( + "ADR-007 не содержит ни одной строки со ссылкой на решение #1001" + ) + has_action = any(re.search(r"ACTION:", line) for line in lines_with_1001) + assert has_action, ( + "Строка, помечающая решение #1001 устаревшим, не содержит явного маркера ACTION: " + "— нарушение конвенции #1049" + )