ADR-0001 · Архитектура ядра
Из чего состоит любая реализация dagstack/plugin-system — манифест, реестр, контекст, адаптеры, контрактные тесты. Как распространяются плагины. Как устроено версионирование.
ADR-0002 · Семантика вызова хуков
Пять классов диспетчеризации — singleton / broadcast-collect / broadcast-notify / chain / capability — их нормативное поведение, порядок исполнения, обработка ошибок, lifecycle-ordering.
ADR-0003 · Orchestration-neutral runtime
Восемь runtime-инвариантов, которые делают плагин работоспособным в FastAPI, Dagster-op, Celery-task и pytest-фикстуре — одинаково, без условного кода. Kind orchestrator как точка интеграции с внешними системами.
ADR-0004 · Формализм hookspec
Hookspec как источник истины для контрактов видов плагинов — YAML-обёртка поверх JSON Schema, генерация типов для Python/TypeScript/Go/OpenRPC/Markdown, CI-gate против дрейфа.
ADR-0005 · Горизонтальные расширения
Пять точек расширения plugin-system для governance / quota / observability — открытый слот metadata, chain-middleware, decoration ресурсов, capability-filtering, распространение trace-context.
ADR-0006 · File-based discovery
Нормативный контракт функции discover(path) — dagstack.toml как canonical manifest, entry_point REQUIRED, namespace-isolation через importlib, правила обхода каталога.