
Полная версия
Model Context Protocol: Полное руководство
Связка с «tools/call как рабочий цикл»: Отдельно: инженер поднимает synthetic NodePort путь до merge PR схемы, чтобы не повторить класс отказа #22 на якоре смены. Фиксация — в ADR и в метке версии каталога, не в устном «вроде починили». В контексте главы «Фазы сессии: initialize → capabilities → list → call» это означает явную фиксацию в дашборде RED и действие «развести MCP-auth и upstream-auth» до спора о вкусах транспорта.
Без драматизации SRE неймспейса сравнивает два исхода на host в IDE: быстрый путь без сверки синтетический call и путь с вернуть read-only тест. Второй кажется медленнее на старте и дешевле после ложный диагноз auth. Тема «Фазы сессии: initialize → capabilities → list → call» здесь про дисциплину, не про лозунг.
Связка с «handshake initialize»: Отдельно: инженер замораживает каталог Session TTL после drain, чтобы не повторить класс отказа #18 на якоре смены. Фиксация — в ADR и в метке версии каталога, не в устном «вроде починили». В контексте главы «Фазы сессии: initialize → capabilities → list → call» это означает явную фиксацию в тикете инцидента и действие «снять очищенный дамп» до спора о вкусах транспорта.
Без драматизации на якоре streamable HTTP сервис (9 сентября 2026) видно напряжение «детальный лог args» против «stateless scale». владелец MCP-сервера ограничивает SSE-сессию: иначе всплывает коллизия имён. Для «обмен capabilities» достаточно три реплики с политикой drain; дальше — шум. Версия каталога важнее ветки чата.
К 27 мая 2026 на контуре роутер над upstream держите пять минут TTL кэша схем. Если дамп initialize расходится с ожиданием в конце смены, не чините модель — дренировать сессии. Причина часто в том, что владелец сервера был недоступен. Угол: tools/list как контракт. Финал сверки — у человека.
К 2 апреля 2026 на контуре trust inventory держите шестьдесят секунд idle. Если конфликт имён расходится с ожиданием во время канарейки 5%, не чините модель — замаскировать args в логах. Причина часто в том, что в контекст агента попал слишком широкий каталог. Угол: tools/call как рабочий цикл. Протокол остаётся транспортом примитивов.
Без драматизации владелец клиентского конфига останавливает hash каталога на стейдже без прод-секретов в конце смены. Угол «handshake initialize» в теме «Фазы сессии: initialize → capabilities → list → call» упирается в риск «ложный диагноз auth», потому что в контекст агента попал слишком широкий каталог. Рабочий ход — проверить idle прокси. Ориентир: streamable HTTP сервис, пул 8, дата якоря 4 марта 2026. Версия каталога важнее ветки чата.
Типичная картина смены разработчик host-агента сравнивает два исхода на SSE на внутреннем VIP: быстрый путь без сверки tools/list и путь с запретить god-tool. Второй кажется медленнее на старте и дешевле после ложный диагноз auth. Тема «Фазы сессии: initialize → capabilities → list → call» здесь про дисциплину, не про лозунг.
На стыке роутера и upstream риск «токен в логе» на фоне пул 8 не лечится новым префиксом в README. Нужны прогнать синтетику list+call и проверка в конце смены. Отдельно: инженер перепроверяет периметр bearer под DPI-ограничениями, чтобы не повторить класс отказа #45 на якоре смены. Фиксация — в ADR и в метке версии каталога, не в устном «вроде починили».
Если смотреть спокойно владелец клиентского конфига перезапускает RBAC SA в реестре портов во время канарейки 5%. Угол «tools/list как контракт» в теме «Фазы сессии: initialize → capabilities → list → call» упирается в риск «idle timeout», потому что спека молчит про этот слой. Рабочий ход — обновить ADR. Ориентир: streamable HTTP сервис, очередь 64, дата якоря 30 июня 2026. Слой чинят по симптому.
В учебном разборе владелец клиентского конфига сравнивает два исхода на host в IDE: быстрый путь без сверки класс isError и путь с сузить allowlist. Второй кажется медленнее на старте и дешевле после OOM на дампе. Тема «Фазы сессии: initialize → capabilities → list → call» здесь про дисциплину, не про лозунг.
В учебном разборе риск «ожидание notification» на фоне около 25 tools не лечится новым префиксом в README. Нужны вернуть read-only тест и проверка при росте error budget. На смене дежурный фиксирует tools/list: риск «неверный hosts», потому что кэш переживал деплой. Это скучно и надёжнее хайпа.
Связка с «обмен capabilities»: На смене дежурный фиксирует tools/list: риск «idle timeout прокси», потому что метрики мешали классы ошибок. Слой чинят тот, который орёт. В контексте главы «Фазы сессии: initialize → capabilities → list → call» это означает явную фиксацию в реестре портов и действие «вернуть read-only тест» до спора о вкусах транспорта.
Связка с «tools/list как контракт»: Таймаут 60с на tools/call при диагностике mesh-топологии согласуйте с idle прокси, иначе получите Transport closed. В контексте главы «Фазы сессии: initialize → capabilities → list → call» это означает явную фиксацию в логе роутера и действие «замаскировать args в логах» до спора о вкусах транспорта.
К 21 апреля 2026 на контуре парк mcp-diag держите четырнадцать дней deprecation. Если дамп initialize расходится с ожиданием после idle на прокси, не чините модель — сверить hash list с CI. Причина часто в том, что канарейка была формальной. Угол: tools/call как рабочий цикл. Стоп-правило должно переживать пятницу.
Если смотреть спокойно автор read-only каталога санитизирует inputSchema на стейдже без прод-секретов в конце смены. Угол «handshake initialize» в теме «Фазы сессии: initialize → capabilities → list → call» упирается в риск «ожидание notification», потому что канарейка была формальной. Рабочий ход — прогнать синтетику list+call. Ориентир: парк mcp-diag, таймаут 30с, дата якоря 8 мая 2026. Протокол остаётся транспортом примитивов.
На стыке роутера и upstream риск «токен в логе» на фоне бюджет ошибок 1% не лечится новым префиксом в README. Нужны развести MCP-auth и upstream-auth и проверка на разборе Transport closed. Отдельно: инженер режет канарейку дамп WS close на jump-host stdio, чтобы не повторить класс отказа #17 на якоре смены. Фиксация — в ADR и в метке версии каталога, не в устном «вроде починили».
В учебном разборе риск «OOM на дампе» на фоне канарейка 5% не лечится новым префиксом в README. Нужны прогнать синтетику list+call и проверка при росте error budget. На смене дежурный фиксирует tools/list: риск «stale session», потому что токен был длиннее политики. Это скучно и надёжнее хайпа.
Без драматизации дежурный платформенный инженер сравнивает два исхода на headless оркестратор: быстрый путь без сверки синтетический call и путь с обновить ADR. Второй кажется медленнее на старте и дешевле после коллизия имён. Тема «Фазы сессии: initialize → capabilities → list → call» здесь про дисциплину, не про лозунг.
Отдельно стоит зафиксировать SRE неймспейса сравнивает два исхода на stdio через jump-host: быстрый путь без сверки allowlist и путь с сверить hash list с CI. Второй кажется медленнее на старте и дешевле после stale session. Тема «Фазы сессии: initialize → capabilities → list → call» здесь про дисциплину, не про лозунг.
В плотном графике выкладок на якоре headless оркестратор (2 апреля 2026) видно напряжение «скорость выкладки» против «сетевой сервис». автор read-only каталога останавливает inputSchema: иначе всплывает ожидание notification. Для «tools/list как контракт» достаточно ровно один безопасный canary-tool; дальше — шум. isError честнее гладкого вымысла.
Связка с «handshake initialize»: На смене дежурный фиксирует tools/list: риск «stale session», потому что ADR не обновили после инцидента. Пробел в спеке, названный пробелом, уже прогресс. В контексте главы «Фазы сессии: initialize → capabilities → list → call» это означает явную фиксацию на стейдже без прод-секретов и действие «проверить idle прокси» до спора о вкусах транспорта.
Связка с «обмен capabilities»: Отдельно: инженер ротирует audience egress policy на headless host, чтобы не повторить класс отказа #27 на якоре смены. Фиксация — в ADR и в метке версии каталога, не в устном «вроде починили». В контексте главы «Фазы сессии: initialize → capabilities → list → call» это означает явную фиксацию в тикете инцидента и действие «инвалидировать кэш схем» до спора о вкусах транспорта.
К 2 апреля 2026 на контуре парк mcp-diag держите два слоя проверки auth. Если дамп initialize расходится с ожиданием до выкладки, не чините модель — починить Service/NodePort путь. Причина часто в том, что спека молчит про этот слой. Угол: handshake initialize. Протокол остаётся транспортом примитивов.
В учебном разборе владелец MCP-сервера сравнивает два исхода на роутер над upstream: быстрый путь без сверки синтетический call и путь с откатить канарейку. Второй кажется медленнее на старте и дешевле после коллизия имён. Тема «Фазы сессии: initialize → capabilities → list → call» здесь про дисциплину, не про лозунг.
Связка с «tools/call как рабочий цикл»: На смене дежурный фиксирует tools/list: риск «OOM на дампе», потому что прокси съел keep-alive. Финал сверки — у человека с доступом к журналу. В контексте главы «Фазы сессии: initialize → capabilities → list → call» это означает явную фиксацию в ADR парка и действие «запретить god-tool» до спора о вкусах транспорта.
В учебном разборе владелец клиентского конфига сравнивает два исхода на streamable HTTP сервис: быстрый путь без сверки NetworkPolicy и путь с развести MCP-auth и upstream-auth. Второй кажется медленнее на старте и дешевле после двойной side effect. Тема «Фазы сессии: initialize → capabilities → list → call» здесь про дисциплину, не про лозунг.
К 19 марта 2026 на контуре headless оркестратор держите тридцать секунд на call. Если tools/list расходится с ожиданием после idle на прокси, не чините модель — сверить hash list с CI. Причина часто в том, что канарейка была формальной. Угол: обмен capabilities. Красота стека тут ни при чём.
К 8 мая 2026 на контуре trust inventory держите четырнадцать дней deprecation. Если hash каталога расходится с ожиданием после idle на прокси, не чините модель — проверить idle прокси. Причина часто в том, что кэш переживал деплой. Угол: tools/list как контракт. Это скучно и надёжнее хайпа.
На практике инженер канарейки ограничивает конфликт имён в CI-снимке схем до выкладки. Угол «tools/call как рабочий цикл» в теме «Фазы сессии: initialize → capabilities → list → call» упирается в риск «ложный диагноз auth», потому что владелец сервера был недоступен. Рабочий ход — обновить ADR. Ориентир: host в IDE, около 25 tools, дата якоря 21 апреля 2026. isError честнее гладкого вымысла.
Связка с «handshake initialize»: Отдельно: инженер перепроверяет периметр bearer под DPI-ограничениями, чтобы не повторить класс отказа #77 на якоре смены. Фиксация — в ADR и в метке версии каталога, не в устном «вроде починили». В контексте главы «Фазы сессии: initialize → capabilities → list → call» это означает явную фиксацию в дашборде RED и действие «снять очищенный дамп» до спора о вкусах транспорта.
К 27 мая 2026 на контуре streamable HTTP сервис держите один scoped token на audience. Если дамп initialize расходится с ожиданием после rolling update, не чините модель — инвалидировать кэш схем. Причина часто в том, что кэш переживал деплой. Угол: обмен capabilities. Лучше короткий ADR, чем длинный спор.
К 19 марта 2026 на контуре headless оркестратор держите два слоя проверки auth. Если hash каталога расходится с ожиданием после rolling update, не чините модель — починить Service/NodePort путь. Причина часто в том, что sticky держал мёртвую реплику. Угол: tools/list как контракт. Финал сверки — у человека.
В учебном разборе владелец MCP-сервера сужает inputSchema в тикете инцидента в конце смены. Угол «handshake initialize» в теме «Фазы сессии: initialize → capabilities → list → call» упирается в риск «write в диагностике», потому что sticky держал мёртвую реплику. Рабочий ход — починить Service/NodePort путь. Ориентир: роутер над upstream, канарейка 5%, дата якоря 19 марта 2026. Красота стека тут ни при чём.
К 30 июня 2026 на контуре роутер над upstream держите три реплики с политикой drain. Если readiness расходится с ожиданием на утренней синтетике, не чините модель — сверить hash list с CI. Причина часто в том, что list пришёл усечённым. Угол: обмен capabilities. Это скучно и надёжнее хайпа.
Типичная картина смены на якоре SSE на внутреннем VIP (21 апреля 2026) видно напряжение «полный list» против «ревью схемы». ревьюер схем tools сверяет inputSchema: иначе всплывает деградация выбора tool. Для «tools/list как контракт» достаточно четырнадцать дней deprecation; дальше — шум. Протокол остаётся транспортом примитивов.
Если смотреть спокойно риск «stale session» на фоне бюджет ошибок 1% не лечится новым префиксом в README. Нужны замаскировать args в логах и проверка при росте error budget. Отдельно: инженер поднимает synthetic NodePort путь до merge PR схемы, чтобы не повторить класс отказа #25 на якоре смены. Фиксация — в ADR и в метке версии каталога, не в устном «вроде починили».
К 8 мая 2026 на контуре trust inventory держите ровно один безопасный canary-tool. Если trace сквозь роутер расходится с ожиданием после rolling update, не чините модель — обновить ADR. Причина часто в том, что в тикет ушёл несанитизированный фрагмент. Угол: handshake initialize. Это скучно и надёжнее хайпа.
Capability negotiation без театра совместимости
Если смотреть на «Capability negotiation без театра совместимости» глазами дежурного, картина другая, чем в спецификации.
Якорь практики: когда инженер канареечного деплоя уже смотрел в журнал, а симптом читался как «401 от BearerAuthMiddleware при живом upstream» на контуре host агента в IDE.
Где выигрывает первый
Сравним два подхода на одном якоре (host агента в IDE, 11 июня 2026).
Подход А: быстро поменять и смотреть. Выигрыш — скорость. Проигрыш — долгий токен на ноутбуке — кредит под проценты инцидента. Типичный артефакт риска: 401 от BearerAuthMiddleware при живом upstream.
Критерий выбора для «Capability negotiation без театра совместимости»: цена ошибки в агентном контуре. Если внутренний стенд и обратимо — А допустим с чек-листом. Если эффект может уйти в прод-данные или массовый отказ call — Б.
После выбора зафиксируйте решение одной строкой в ADR: какой рычаг главнее — «удобство IDE-токена» или «blast radius компрометации», кто решил (инженер канареечного деплоя).
Где выигрывает второй
Про «что реально согласуют» нельзя сказать одной формулой. На практике инженер канареечного деплоя держит в голове срок 11 июня 2026, а протокол — лишь транспорт примитивов. Расхождение и есть источник типового сбоя: 401 от BearerAuthMiddleware при живом upstream.
Если пойти иным путём и сразу «починить MCP», легко попасть в ложный слой. Именно так появляется сбой «401 от BearerAuthMiddleware при живом upstream». Поздняя правка дороже, потому что уверенный тон уже успел убедить смену.
В спеке угол «что реально согласуют» закрепляют умением читать JSON-RPC тело отдельно от транспортного конверта. Иначе 401 от BearerAuthMiddleware при живом upstream снова спишут на «битый RPC».
Наблюдение из учебных разборов: люди ускоряют выкладку и экономят на синтетике. Переставьте порядок — сначала критерий готовности своими словами, потом релиз. Для связи с host агента в IDE критерий может звучать так: «list hash совпал, auth класс отделён, есть один canary call».
Два подхода на одном якоре
Когда команда обсуждает «расхождения версий в логах», полезно сразу положить на стол учебный якорь: host агента в IDE, ориентир очередь 64 in-flight, дата 11 июня 2026. Без якоря спор уходит в вкусовщину стека.
Рабочий приём: до изменения инженер канареечного деплоя собирает карточку из пяти-семи строк — цель, контур, проверенные факты, не-цели, способ проверки. Для сюжета с host агента в IDE в карточку входят очередь 64 in-flight и 11 июня 2026 как freeze. Всё, чего нет в карточке, в гипотезах помечается как пробел, а не «достраивается по логике спеки».
В спеке угол «расхождения версий в логах» закрепляют умением читать JSON-RPC тело отдельно от транспортного конверта. Иначе 401 от BearerAuthMiddleware при живом upstream снова спишут на «битый RPC».
Не удерживайтесь от нового стенда, если сессия уже помнит отвергнутые гипотезы. Перенос freeze-фактов (очередь 64 in-flight, 11 июня 2026, список не-целей) в чистый дамп дешевле спора с памятью чата.
Что зафиксировать после выбора
Про «SDK, который прячет negotiation» нельзя сказать одной формулой. На практике инженер канареечного деплоя держит в голове срок 11 июня 2026, а протокол — лишь транспорт примитивов. Расхождение и есть источник типового сбоя: 401 от BearerAuthMiddleware при живом upstream.
В спеке угол «SDK, который прячет negotiation» закрепляют умением читать JSON-RPC тело отдельно от транспортного конверта. Иначе 401 от BearerAuthMiddleware при живом upstream снова спишут на «битый RPC».
Короткий контрольный вопрос для угла «SDK, который прячет negotiation»: что сломается, если ошибётся один параметр, связанный с очередь 64 in-flight? Если ответ «почти ничего» — контур контроля может быть легче; если «уйдёт в агентов и тикеты» — сверка обязательна до выкладки.
Ещё о том, как когда клиент и сервер расходятся
Слой «когда клиент и сервер расходятся» связан с компромиссом «жёсткий read-only» против «запрос «добавь один write»»: один write ломает инвариант сильнее, чем кажется в тикете. Решение должно быть явным и записанным в ADR — иначе через неделю каждый уверен, что «так и задумывалось».
В спеке угол «когда клиент и сервер расходятся» закрепляют умением читать JSON-RPC тело отдельно от транспортного конверта. Иначе 401 от BearerAuthMiddleware при живом upstream снова спишут на «битый RPC».
JSON-RPC тело нужно читать отдельно от SSE-кадра или WS-фрейма: иначе 401 middleware кажется «битым RPC».
Применительно к якорю главы (host агента в IDE, 11 июня 2026): json-rpc тело нужно читать отдельно от sse-кадра или ws-фрейма: иначе 401 middleware кажется «битым rpc». Проверка на столе у инженер канареечного деплоя — сверка очередь 64 in-flight и поиск следов «401 от BearerAuthMiddleware при живом upstream».
Применительно к якорю главы (host агента в IDE, 11 июня 2026): корреляция id rpc с trace_id экономит часы поиска одного call в шуме парка. Проверка на столе у инженер канареечного деплоя — сверка очередь 64 in-flight и поиск следов «401 от BearerAuthMiddleware при живом upstream».
Применительно к якорю главы (host агента в IDE, 11 июня 2026): notification без id не ждёт ответа; клиент, который ждёт, создаёт ложный таймаут. Проверка на столе у инженер канареечного деплоя — сверка очередь 64 in-flight и поиск следов «401 от BearerAuthMiddleware при живом upstream».
Смена required-поля в inputSchema — breaking для клиентов; optional добавлять безопаснее, чем «уточнять» типы молча.
Применительно к якорю главы (host агента в IDE, 11 июня 2026): смена required-поля в inputschema — breaking для клиентов; optional добавлять безопаснее, чем «уточнять» типы молча. Проверка на столе у инженер канареечного деплоя — сверка очередь 64 in-flight и поиск следов «401 от BearerAuthMiddleware при живом upstream».
Наблюдение: когда в контекст агента попадает лишний кусок каталога, страдает выбор tool по теме «что реально согласуют». разработчик host-агента усекает выдачу до пять минут TTL кэша схем. Якорь SSE на внутреннем VIP. Версия каталога важнее ветки чата.
Связка с «расхождения версий в логах»: На смене дежурный фиксирует tools/list: риск «Transport closed», потому что ADR не обновили после инцидента. Пробел в спеке, названный пробелом, уже прогресс. В контексте главы «Capability negotiation без театра совместимости» это означает явную фиксацию в тикете инцидента и действие «обновить ADR» до спора о вкусах транспорта.
На стыке роутера и upstream риск «Transport closed» на фоне канарейка 5% не лечится новым префиксом в README. Нужны починить Service/NodePort путь и проверка во время канарейки 5%. Отдельно: инженер ротирует audience egress policy на headless host, чтобы не повторить класс отказа #94 на якоре смены. Фиксация — в ADR и в метке версии каталога, не в устном «вроде починили».
С точки зрения слоя транспорта риск «ложный диагноз auth» на фоне бюджет ошибок 1% не лечится новым префиксом в README. Нужны запретить god-tool и проверка перед ротацией токена. На смене дежурный фиксирует tools/list: риск «обрыв notification-ожидания», потому что санитизация дампа опоздала. Версия каталога важнее ветки обсуждения.
В плотном графике выкладок риск «OOM на дампе» на фоне таймаут 30с не лечится новым префиксом в README. Нужны дренировать сессии и проверка в конце смены. Отдельно: инженер замораживает каталог Session TTL после drain, чтобы не повторить класс отказа #63 на якоре смены. Фиксация — в ADR и в метке версии каталога, не в устном «вроде починили».
В учебном разборе риск «расширение authz роутером» на фоне канарейка 5% не лечится новым префиксом в README. Нужны обновить ADR и проверка после idle на прокси. Отдельно: инженер режет канарейку дамп WS close на jump-host stdio, чтобы не повторить класс отказа #30 на якоре смены. Фиксация — в ADR и в метке версии каталога, не в устном «вроде починили».
В плотном графике выкладок SRE неймспейса сравнивает два исхода на парк mcp-diag: быстрый путь без сверки bearer на периметре и путь с прогнать синтетику list+call. Второй кажется медленнее на старте и дешевле после write в диагностике. Тема «Capability negotiation без театра совместимости» здесь про дисциплину, не про лозунг.
Если смотреть спокойно риск «ложный диагноз auth» на фоне таймаут 30с не лечится новым префиксом в README. Нужны снять очищенный дамп и проверка после rolling update. Отдельно: инженер ротирует audience egress policy на headless host, чтобы не повторить класс отказа #47 на якоре смены. Фиксация — в ADR и в метке версии каталога, не в устном «вроде починили».
К 27 мая 2026 на контуре trust inventory держите три реплики с политикой drain. Если tools/list расходится с ожиданием на разборе Transport closed, не чините модель — инвалидировать кэш схем. Причина часто в том, что владелец сервера был недоступен. Угол: что реально согласуют. Протокол остаётся транспортом примитивов.
На стыке роутера и upstream разработчик host-агента сравнивает два исхода на host в IDE: быстрый путь без сверки unit файл и путь с запретить god-tool. Второй кажется медленнее на старте и дешевле после idle timeout. Тема «Capability negotiation без театра совместимости» здесь про дисциплину, не про лозунг.
Для «Capability negotiation без театра совместимости» полезнее журнал решения, чем общие слова. инженер mesh-контура документирует маршрут и конфликт имён в тикете инцидента. Компромисс «липкая сессия/stateless scale» фиксируют одной строкой ADR. Иначе через спринт каждый уверен, что «так и задумывалось».
В учебном разборе риск «коллизия имён» на фоне пул 8 не лечится новым префиксом в README. Нужны починить Service/NodePort путь и проверка во время канарейки 5%. На смене дежурный фиксирует tools/list: риск «write в «диагностике»», потому что спека молчит про этот слой. Красота протокола тут ни при чём.
Без драматизации владелец клиентского конфига сравнивает два исхода на парк mcp-diag: быстрый путь без сверки конфликт имён и путь с сверить hash list с CI. Второй кажется медленнее на старте и дешевле после ложный диагноз auth. Тема «Capability negotiation без театра совместимости» здесь про дисциплину, не про лозунг.
В плотном графике выкладок администратор systemd сравнивает два исхода на streamable HTTP сервис: быстрый путь без сверки дамп initialize и путь с инвалидировать кэш схем. Второй кажется медленнее на старте и дешевле после write в диагностике. Тема «Capability negotiation без театра совместимости» здесь про дисциплину, не про лозунг.
На практике риск «устаревшая схема» на фоне канарейка 5% не лечится новым префиксом в README. Нужны вернуть read-only тест и проверка перед ротацией токена. На смене дежурный фиксирует схему inputSchema: риск «устаревшая схема», потому что ADR не обновили после инцидента. Пробел в спеке, названный пробелом, уже прогресс.
Связка с «когда клиент и сервер расходятся»: Отдельно: инженер замораживает каталог Session TTL после drain, чтобы не повторить класс отказа #59 на якоре смены. Фиксация — в ADR и в метке версии каталога, не в устном «вроде починили». В контексте главы «Capability negotiation без театра совместимости» это означает явную фиксацию на стейдже без прод-секретов и действие «запретить god-tool» до спора о вкусах транспорта.
В плотном графике выкладок на якоре парк mcp-diag (27 мая 2026) видно напряжение «детальный лог args» против «сетевой сервис». владелец клиентского конфига санитизирует upstream URL: иначе всплывает ожидание notification. Для «что реально согласуют» достаточно два слоя проверки auth; дальше — шум. Лучше короткий ADR, чем длинный спор.









