Джина Гайд

architecture Specification

Purpose

Нормативные ограничения принятой архитектуры системы «Обратная связь — регион». Проектные представления находятся в architecture/.

Requirements

Requirement: REQ-ARC-001 — Атомарная фиксация публикации и задания

{
  "id": "REQ-ARC-001",
  "level": "REQ",
  "status": "agreed",
  "owner": "architecture-owner",
  "parents": [
    "HLR-POS-005",
    "HLR-POS-008"
  ],
  "sources": [
    "DEC-ARCH-002",
    "architecture/catalog.md"
  ],
  "questions": [],
  "required_aspects": [
    "before_commit",
    "after_commit"
  ],
  "verification": "test",
  "risk": "high"
}

Система MUST атомарно фиксировать публикацию, answered и сохранённое задание уведомления в одной транзакции STORE-DATA-MAIN. Внешний вызов разрешён после commit. До commit остановка не оставляет частичных изменений; после commit задание восстанавливается без повторной публикации. Область действия указана для REQ-ARC-001 в таблице «Нормативные ограничения» архитектурного каталога; изменение транзакционной границы требует пересмотра DEC-ARCH-002.

Scenario: SCN-ARC-001 — Остановка на границе commit

Подробности и данные: acceptance/scenarios/scn-arc-001.json.

Requirement: REQ-ARC-002 — Граница аналитического доступа

{
  "id": "REQ-ARC-002",
  "level": "REQ",
  "status": "agreed",
  "owner": "architecture-owner",
  "parents": [
    "HLR-POS-006",
    "HLR-POS-007"
  ],
  "sources": [
    "DEC-ARCH-003",
    "architecture/catalog.md"
  ],
  "questions": [],
  "required_aspects": [
    "allowed_path",
    "forbidden_path"
  ],
  "verification": "inspection",
  "risk": "high"
}

CMP-APP-QUERY MUST читать только STORE-DATA-AGG и MUST NOT иметь прямых/транзитивных зависимостей от STORE-DATA-MAIN, его репозиториев, соединений и учётных данных, включая fallback и экспорт. CMP-APP-PROJECTION строит агрегаты вне контекста запроса. Проверяются зависимости и SQL-grants учётной записи CMP-APP-QUERY. Исключений нет; изменение границы требует пересмотра DEC-ARCH-003 и этого REQ.

Scenario: SCN-ARC-002 — Инспекция аналитической зависимости

Подробности и данные: acceptance/scenarios/scn-arc-002.json.

Requirement: REQ-ARC-003 — Соответствие технологическому базису

{
  "id": "REQ-ARC-003",
  "level": "REQ",
  "status": "agreed",
  "owner": "architecture-owner",
  "parents": [
    "HLR-POS-008"
  ],
  "sources": [
    "architecture/technology-stack.md",
    "DEC-ARCH-004"
  ],
  "questions": [],
  "required_aspects": [
    "approved_products",
    "pinned_delivery"
  ],
  "verification": "inspection",
  "risk": "high"
}

Сборка и серверная среда системы MUST соответствовать продуктам, редакциям, версиям и области применения технологического базиса. Поставка MUST иметь закреплённые сборки, хеши и конфигурацию сервиса по правилам базиса. Несогласованная замена и плавающая версия блокируют приёмку; изменение базиса согласует архитектор. Исключений нет.

Scenario: SCN-ARC-003 — Инспекция технологического состава поставки

Случаи и отдельные CHECK: acceptance/scenarios/scn-arc-003.json. Инспекция состава дополняется испытаниями совместимости приложения на выбранной среде.