Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Слои архитектуры и governance зависимостей

Статус

Модель слоёв стабилизирована (active). Изменения вносятся только через RFC.

Цель: иметь простую, проверяемую модель слоёв и зависимостей, чтобы изменения не размывали границы.

Слои (рабочая модель)

  1. Core engine (angarabase): семантика SQL, транзакции, storage API, WAL/recovery primitives.
  2. Adapters (angarabased, будущие): pgwire/HTTP/admin surfaces, преобразование протоколов.
  3. Tooling (angara-cli, tools/*): утилиты, runners, тестовые harness’ы.
  4. Distribution/Packaging tooling (packaging/*, tools/release/*): release artifacts, signatures, package manifests, publication scripts.
  5. Operational surfaces: конфигурация, runbooks, policies, evidence packs.

Правило зависимостей (самое важное)

  • Core не зависит от adapters и tooling.
  • Adapters могут зависеть от core.
  • Tooling может зависеть от core и adapters (но без обратных крючков в core).
  • Distribution/Packaging tooling может зависеть от tooling/core artifacts и не вносит runtime dependency в core/adapters.

Визуальная схема

flowchart TB
 subgraph Core[Core engine (angarabase)]
 CoreAPI[engine public API]
 end

 subgraph Adapters[Adapters (angarabased, pgwire, ...)]
 Pgwire[pgwire]
 Admin[admin surfaces]
 end

 subgraph Tooling[Tooling (angara-cli, tools/*)]
 CLI[angara-cli]
 Runners[test/bench runners]
 end

 Adapters --> Core
 Tooling --> Core
 Tooling --> Adapters
 CoreAPI --> Core

Связанные документы

  • Do-not-block constraints: angarabook/src/architecture/constraints.md
  • Engine core карта: angarabook/src/architecture/components/engine_core.md
  • Governance RFC: RFC-2026-449-architecture-layering-and-dependency-governance-v0