Files
ss-tools/docs/adr
busya 585a00c537 semantic-curation: fix anchors, metadata, and relations across backend + specs
- Replace legacy @PURPOSE with @BRIEF across 241 files
- Add missing [C:N] complexity tiers to function contracts in core modules
- Fix tombstone contracts: add @STATUS DEPRECATED to 5 deprecated anchors
- Resolve 7 unresolved @RELATION edges in executor.py (DictionaryManager, TranslationPreview, etc.)
- Fix flat hierarchical IDs in 4 test files (22 test functions)
- Fix invalid tags/relations in logger.py (@ADR, @CONSEQUENCES, DISABLED_BY)
- Rebuild semantic index: 9,576 contracts, 4,742 edges, 0 parse warnings
2026-08-20 11:45:15 +03:00
..

Реестр архитектурных решений

ADR фиксирует принятое и проверяемое архитектурное решение. Это не план работ и не каталог желаемой архитектуры: обещание, которое ещё не реализовано, должно иметь статус PROPOSED или быть вынесено в spec.

Статусы

Статус Значение
ACCEPTED Решение действует и соответствует реализации.
PARTIALLY IMPLEMENTED Направление принято, но в репозитории есть существенная незавершённая часть.
SUPERSEDED Решение заменено указанным ADR; исторический файл не меняет действующую архитектуру.
REJECTED Альтернатива запрещена; это не описание действующей реализации.
PROPOSED Решение обсуждается и не должно считаться обязательным.

Актуальный реестр

ADR Статус Проверенное содержание
0001 PARTIALLY IMPLEMENTED Базовое разделение backend/frontend/docs/specs сохранено; точная схема файла устарела.
0002 ACCEPTED Семантические skills и контракты в исходном коде остаются правилом репозитория.
0003 ACCEPTED Сервис остаётся внешним оркестратором Superset.
0004 SUPERSEDED Заменён ADR-0016: исходный subprocess/TOML-контракт не был реализован.
0005 ACCEPTED Локальная аутентификация, RBAC и ADFS JIT provisioning реализованы.
0006 ACCEPTED Svelte 5, Screen Models и UI atoms применяются в frontend.
0007 REJECTED Комбинация fromStore с несколькими $derived запрещена.
0008 ACCEPTED Декораторный registry реализован в backend/src/api/routes/assistant/_tool_registry.py.
0009 ACCEPTED Управление корпоративными CA реализовано в Docker и HTTP-клиентах.
0010 ACCEPTED Порог декомпозиции Screen Model остаётся архитектурным ограничением.
0011 PARTIALLY IMPLEMENTED Async Task Manager, EventBus и bounded executors внедрены; утверждение о полном отказе от sync-кода не подтверждено.
0012 ACCEPTED Интеграционные Superset-тесты используют Postgres, init/web контейнеры и superset_config.py.
0013 ACCEPTED scripts/coverage-summary.sh существует и собирает сводный отчёт.
0014 SUPERSEDED Заменён ADR-0015.
0015 ACCEPTED Agent и shared utilities выделены в отдельные installable packages.
0016 ACCEPTED Плагины загружаются в процессе из backend/src/plugins через PluginBase.
0017 ACCEPTED Agent-centric traces achieved by editing call sites (meaningful intents, removal of per-request noise) rather than only adding complexity to the logger.
0018 REJECTED Dataset Review is removed from the active product; specs/027-dataset-llm-orchestration/ is retained only as archived history.
0019 ACCEPTED UUID-трансформация БД (не strip_databases), cross-filter patching через IdMappingService, password injection flow (await_input→wait_for_input→retry), разделение dry-run/execute, парсинг имён YAML-файлов БД.
0020 ACCEPTED Обнаружение виртуальных (SQL) датасетов в maintenance discovery через серверный фильтр sql is_not_null (fallback — клиентский скан по непустому sql); AsyncAPIClient.request поднимает не-2xx ответы (raise_for_status); sqlparse token-limit (10000) fallback к regex-only для гигантских виртуальных датасетов.

Правила сопровождения

  1. Новый ADR добавляется только для решения, которое меняет границу модулей, runtime/topology, безопасность, данные или постоянный способ разработки.
  2. Каждый ADR содержит контекст, решение, последствия и отклонённые альтернативы.
  3. При изменении решения создаётся новый ADR со ссылкой на заменённый, а прежний получает SUPERSEDED; историю не переписывают.
  4. В ADR указываются существующие пути и проверяемые факты. Версии, пороги и команды обновляются вместе с кодом либо заменяются ссылкой на источник истины.