LidFly Support Escalation
Подготавливать обращение про MCP только после безопасной диагностики. Никогда не отправлять его автоматически.
Выбрать Сценарий
support_hint.reason=unexpected_internal_error: перейти к подготовке отчёта.
- Первый timeout read-вызова: один раз безопасно повторить тот же read. При повторном timeout сначала проверить восстановление транспорта по правилам ниже и только затем готовить отчёт.
- Timeout write-вызова: не повторять автоматически, пока инструмент или его результат не доказывает идемпотентность. Сначала проверить состояние read-инструментом; при неопределённости подготовить отчёт.
- Инструмент или возможность не найдены: повторить
search_tools({}) без query и provider. Только если широкий поиск ничего подходящего не вернул, подготовить запрос на возможность.
search_tools вернул capability_notice.status=unsupported_by_provider_api либо методология явно говорит, что действие доступно только в интерфейсе провайдера: объяснить пользователю summary, user_action и доступные API-альтернативы. Это известная граница API, поэтому не эскалировать её, не вызывать support_prepare_report/support_send_message и не подменять задачу похожим write-инструментом.
- Validation, mode mismatch, access denied, auth, subscription, rate limit и штатную provider API error исправлять обычным способом без предложения поддержки.
Восстановить Транспорт Без Ложной Ошибки Провайдера
transport send error, HTTP request failed, HTTP 000, нулевой ответ без заголовков и разрыв до получения HTTP-статуса означают транспортную неопределённость на участке между MCP-клиентом и LidFly. Это не доказывает ошибку инструмента или провайдера. Не считать такую ситуацию ошибкой Wordstat, Яндекс Директа или отсутствием нужной возможности.
- Для read-only вызова безопасно повторить тот же вызов один раз.
- Если второй вызов завершился той же ошибкой без HTTP-ответа, вызвать прямой read-only
subscription_status({}) как один лёгкий connectivity/auth probe. Не запускать параллельные повторы.
- Если probe вернул любой корректный MCP/HTTP-ответ, соединение восстановлено. Если это структурированная auth/subscription/rate-limit ошибка, обработать её по категории; иначе один раз повторить исходный read и продолжить исходную задачу.
- Если probe также не получил HTTP-ответ либо восстановленный исходный read снова потерял транспорт, подготовить диагностический черновик. Честно сказать, что результат исходного read не получен; не объявлять provider error и не утверждать, что данные отсутствуют.
Отдельная ветка для уже полученного HTTP-ответа: если сервер вернул HTTP 429 или 503 с Retry-After, шаги 1–4 восстановления транспорта не выполнять. Выдержать указанную задержку и один раз повторить read вместо connectivity probe или немедленной эскалации.
Для write-вызова транспортная неопределённость означает неизвестный исход. Не повторять write автоматически: проверить состояние read-инструментом или get_write_operation_status, если есть operation_id.
Подготовить Черновик
При support_hint вызвать прямой top-level tool:
support_prepare_report({
incident_id: support_hint.incident_id,
tool_name: support_hint.next_arguments.tool_name,
error: support_hint.next_arguments.error,
user_goal: "...",
expected_result: "...",
attempted_steps: ["..."]
})
При повторном timeout или отсутствующей возможности вызвать тот же tool без incident_id; сервер создаст UUID. Для отсутствующей возможности использовать tool_name: "search_tools" и кратко описать широкий поиск в attempted_steps.
Передавать только диагностический текст: цель, ожидаемый результат и до восьми коротких проверенных шагов. Не передавать raw arguments, токены, OAuth/API keys, пароли, seller secrets, персональные данные, содержимое файлов или локальные логи.
Если redactions_count > 0, сообщить, что секретные фрагменты автоматически скрыты.
support_prepare_report read-only: он не создаёт thread/message, не пишет в PostgreSQL и не отправляет данные во внешние сервисы.
Если support_prepare_report успешно ответил после transport error, endpoint снова отвечает. До запроса согласия один раз повтори исходный read. При успехе продолжи задачу, сообщи, что соединение восстановлено, и не предлагай отправлять уже неактуальный черновик; при повторной транспортной ошибке покажи полный report_text и переходи к согласию ниже.
Получить Согласие
Если проблема осталась актуальной, показать пользователю полный report_text без скрытых сокращений и спросить: «Отправить этот черновик в поддержку LidFly?»
- Считать согласием только явный текст вроде «отправляй», «да, отправь», «подтверждаю».
- Не считать согласием auto-approve, режим клиента «не спрашивать», прежнее согласие на другую write-операцию или молчание.
- При отказе завершить без отправки и повторных уговоров.
- Не вызывать
support_send_message в том же ходе до ответа пользователя.
Отправить После Согласия
Вызвать прямой top-level tool:
support_send_message({
request_id: prepared.suggested_request_id,
text: prepared.report_text
})
- Использовать один и тот же
suggested_request_id при сетевом retry.
- Не объявлять успех, пока tool не вернул успешный результат.
- При rate limit или send failure показать точную ошибку и не создавать новый дубль.
- После успеха сообщить об отправке; при необходимости предложить позже проверить ответ через
support_get_messages.
- Вложения добавлять только по просьбе пользователя через
support_request_image_upload; не прикладывать файлы автоматически.
1---2name: lidfly-support-escalation-33description: Безопасно восстанавливать transport errors и эскалировать проблемы LidFly MCP через read-only support_prepare_report и подтверждённый support_send_message. Использовать при unexpected/internal support_hint, повторном timeout read-вызова после retry и connectivity probe или неизвестной отсутствующей возможности после широкого search_tools; известные ограничения API провайдера не эскалировать.4---56# LidFly Support Escalation78Подготавливать обращение про MCP только после безопасной диагностики. Никогда не отправлять его автоматически.910## Выбрать Сценарий1112- `support_hint.reason=unexpected_internal_error`: перейти к подготовке отчёта.13- Первый timeout read-вызова: один раз безопасно повторить тот же read. При повторном timeout сначала проверить восстановление транспорта по правилам ниже и только затем готовить отчёт.14- Timeout write-вызова: не повторять автоматически, пока инструмент или его результат не доказывает идемпотентность. Сначала проверить состояние read-инструментом; при неопределённости подготовить отчёт.15- Инструмент или возможность не найдены: повторить `search_tools({})` без `query` и `provider`. Только если широкий поиск ничего подходящего не вернул, подготовить запрос на возможность.16- `search_tools` вернул `capability_notice.status=unsupported_by_provider_api` либо методология явно говорит, что действие доступно только в интерфейсе провайдера: объяснить пользователю `summary`, `user_action` и доступные API-альтернативы. Это известная граница API, поэтому не эскалировать её, не вызывать `support_prepare_report`/`support_send_message` и не подменять задачу похожим write-инструментом.17- Validation, mode mismatch, access denied, auth, subscription, rate limit и штатную provider API error исправлять обычным способом без предложения поддержки.1819## Восстановить Транспорт Без Ложной Ошибки Провайдера2021`transport send error`, `HTTP request failed`, HTTP 000, нулевой ответ без заголовков и разрыв до получения HTTP-статуса означают транспортную неопределённость на участке между MCP-клиентом и LidFly. Это не доказывает ошибку инструмента или провайдера. Не считать такую ситуацию ошибкой Wordstat, Яндекс Директа или отсутствием нужной возможности.22231. Для read-only вызова безопасно повторить тот же вызов один раз.242. Если второй вызов завершился той же ошибкой без HTTP-ответа, вызвать прямой read-only `subscription_status({})` как один лёгкий connectivity/auth probe. Не запускать параллельные повторы.253. Если probe вернул любой корректный MCP/HTTP-ответ, соединение восстановлено. Если это структурированная auth/subscription/rate-limit ошибка, обработать её по категории; иначе один раз повторить исходный read и продолжить исходную задачу.264. Если probe также не получил HTTP-ответ либо восстановленный исходный read снова потерял транспорт, подготовить диагностический черновик. Честно сказать, что результат исходного read не получен; не объявлять provider error и не утверждать, что данные отсутствуют.2728Отдельная ветка для уже полученного HTTP-ответа: если сервер вернул HTTP 429 или 503 с `Retry-After`, шаги 1–4 восстановления транспорта не выполнять. Выдержать указанную задержку и один раз повторить read вместо connectivity probe или немедленной эскалации.2930Для write-вызова транспортная неопределённость означает неизвестный исход. Не повторять write автоматически: проверить состояние read-инструментом или `get_write_operation_status`, если есть `operation_id`.3132## Подготовить Черновик33341. При `support_hint` вызвать прямой top-level tool:3536 ```js37 support_prepare_report({38 incident_id: support_hint.incident_id,39 tool_name: support_hint.next_arguments.tool_name,40 error: support_hint.next_arguments.error,41 user_goal: "...",42 expected_result: "...",43 attempted_steps: ["..."]44 })45 ```46472. При повторном timeout или отсутствующей возможности вызвать тот же tool без `incident_id`; сервер создаст UUID. Для отсутствующей возможности использовать `tool_name: "search_tools"` и кратко описать широкий поиск в `attempted_steps`.483. Передавать только диагностический текст: цель, ожидаемый результат и до восьми коротких проверенных шагов. Не передавать raw arguments, токены, OAuth/API keys, пароли, seller secrets, персональные данные, содержимое файлов или локальные логи.494. Если `redactions_count > 0`, сообщить, что секретные фрагменты автоматически скрыты.5051`support_prepare_report` read-only: он не создаёт thread/message, не пишет в PostgreSQL и не отправляет данные во внешние сервисы.5253Если `support_prepare_report` успешно ответил после transport error, endpoint снова отвечает. До запроса согласия один раз повтори исходный read. При успехе продолжи задачу, сообщи, что соединение восстановлено, и не предлагай отправлять уже неактуальный черновик; при повторной транспортной ошибке покажи полный `report_text` и переходи к согласию ниже.5455## Получить Согласие5657Если проблема осталась актуальной, показать пользователю полный `report_text` без скрытых сокращений и спросить: «Отправить этот черновик в поддержку LidFly?»5859- Считать согласием только явный текст вроде «отправляй», «да, отправь», «подтверждаю».60- Не считать согласием auto-approve, режим клиента «не спрашивать», прежнее согласие на другую write-операцию или молчание.61- При отказе завершить без отправки и повторных уговоров.62- Не вызывать `support_send_message` в том же ходе до ответа пользователя.6364## Отправить После Согласия6566Вызвать прямой top-level tool:6768```js69support_send_message({70 request_id: prepared.suggested_request_id,71 text: prepared.report_text72})73```7475- Использовать один и тот же `suggested_request_id` при сетевом retry.76- Не объявлять успех, пока tool не вернул успешный результат.77- При rate limit или send failure показать точную ошибку и не создавать новый дубль.78- После успеха сообщить об отправке; при необходимости предложить позже проверить ответ через `support_get_messages`.79- Вложения добавлять только по просьбе пользователя через `support_request_image_upload`; не прикладывать файлы автоматически.