Explore this system
Step through curated paths without changing the source diagram.
Beat
Next
ReadyChapter 01 / 01
Guided chapter
Diagram guideExplore this system
Inspecting compiled semantics
E ExportT ThemeS Style0 Reset+ Zoom in- Zoom outEsc Close
Find a node
⌕/
No matching nodes
Semantic passport
Verified source
Authored reach
Route probeChoose a start node
Pick two semantic nodes on the diagram
Choose the source, then the destination. Direction matters.
Semantic lensCompare system roles
Choose up to two semantic kinds. One reveals its real traffic; two compare only direct authored relationships.
Choose a kind to inspect its nodes and touching relationships.
Semantic radar
Building overview
Click nodeDrag to pan
Semantic radar needs more MAP space.
Что не меняется
• Клиент → nginx (TLS) → API Gateway; Gateway опрашивает Auth (gRPC, Redis-кэш токенов, при промахе TMS) и LMS Check(request_id, client_code, token_uuid, nexus_id), решает по двум ответам и передаёт запрос в Proxy (REST)
• Биллинг и платформенные квоты LMS; отказ «нексус недоступен» — до выбора подписки
Изменяется
• Ainima: подключение с PKCE, обмен callback, хранение refresh token, refresh по расписанию и по событию SMS, публикация access token для SMS
• CMS: документы «пулы подписок» и «AT для SMS» — оба только для SMS; Proxy новых документов не получает, для него подписочный нексус — обычный конфиг нексуса (тип авторизации Subscription, тип Claude/Codex), который Ainima формирует при сохранении; конфиг идёт по цепочке Ainima → RabbitMQ q.api-gateway.config.v1 → Gateway → CMS → fanout x.<client_code>.config.v1
• Proxy: новый тип авторизации «Сервис подписок» — Acquire по gRPC, access token и значения подписки подставляются в {{AUTH_TOKEN}} и заголовки, после ответа Report; штатные повторы — только для 429 Too Many Requests в ту же подписку; Bypass — вне MVP
Новое
• SMS (Subscriptions Management Service): сервис Middleware, хранилище только Redis; выбор подписки, выдача access token, наблюдения, резервы; refresh token не видит
• SMS → RabbitMQ → Ainima: сводка состояния и «нужен refresh»
• Липкие сессии: SMS держит привязку «ключ сессии + вендор → подписка» в Redis SMS; ранжирование — при первой привязке и переезде
• Отдельного исполнителя в Proxy нет: используется существующий механизм отправки нексуса