Metadata-Version: 2.5
Name: s-orchestrationkit
Version: 0.1.0
Summary: Развязанные оркестраторы КОРНЯ китов (SessionLoader/HealthMonitor/OnboardingService) + сущности/порты/перечисления/протоколы/веер проб — связный кластер, переехавший из librarykit (волна 5, Ruling 5-3), три внешних потребителя.
Author: Dmitry
License: MIT
License-File: LICENSE
Requires-Python: >=3.11
Requires-Dist: s-corekit>=0.0.13
Description-Content-Type: text/markdown

# orchestrationkit

Развязанные оркестраторы КОРНЯ китов экосистемы S-kits: `SessionLoader`,
`HealthMonitor`, `OnboardingService` — плюс их общий фундамент (нейтральные
сущности, порты, канонические перечисления, контракты и внутренний веер
параллельных проб).

## Откуда

Родился волной 5 платформы китов (Atlas #2710, `docs/superpowers/plans/
2026-09-08-kits-wave5-librarykit.md`, Ruling 5-3) выделением из `librarykit`
связного кластера в 1 763 строки, у которого было ТРИ разных внешних
потребителя (`adapterkit`, `gws`, `bublictr`) — оркестрация стоит на сущностях
и портах, протоколы — контракт для неё же, веер проб — её внутренний примитив.
Это случай «новый дом», а не «раскидать по чужим китам».

## Состав

- `orchestrationkit.orchestration` — `SessionLoader`, `HealthMonitor` (+
  `classify_health_state`, `register_health_probe`/`get_health_probe`,
  `GenericAdapterHealthProbe`), `OnboardingService`/`OnboardingDeps`.
- `orchestrationkit.entities` — домен-нейтральные носители данных (`Session`,
  `SessionContext`, `HealthReport`, `RawHealthStatus`, ...).
- `orchestrationkit.ports` — Protocol-порты под оркестрацию (репозитории,
  probe, secret store).
- `orchestrationkit.enums` — канонические перечисления состояний
  (`HealthState`, `SsoState`).
- `orchestrationkit.protocols` — контракты подключения и здоровья.
- `orchestrationkit.fanout` — веер параллельных проб (внутренний примитив
  здоровья, используется `HealthMonitor`).

## Закон слоёв

Только `corekit` (единственная точка — `corekit.dto.SessionRef` в
`protocols.py`). Никакого импорта `librarykit`/`adapterkit`/`clikit`/
`bublictr` — доменные привязки (реестр адаптеров, `Operation`/`TargetKind`,
координаты `SessionRef`, audit-store, браузерный профиль) инъектируются
доменом при инстанцировании. Контракт закреплён `.importlinter`.

## Совместимость

`librarykit.orchestration`/`.entities`/`.ports`/`.enums`/`.protocols`/`.fanout`
остаются алиасами (`sys.modules`-подмена) на этот кит — прежние импорты
работают байт-в-байт.

## Разработка

```
uv sync
uv run pytest -q
uv run ruff check .
uv run lint-imports
```

Сетка безопасности (CI/release_guard/check_dist_leaks/importlinter) — из
`devcontour/tools/kits/template/`, см. `docs/kits/SAFETY-NET.md` в devcontour.
