# Единая граница выполнения REST Operation Admin Draft Test и MCP `tools/call` используют один путь: `RuntimeExecutionRequest → crank-runtime → ProtocolAdapter → crank-adapter-rest`. До mapping и сетевого dispatch envelope фиксирует workspace, origin, точную Operation/version, Agent для immutable snapshot, authorization, resolved auth, correlation context и монотонный deadline. Runtime не создаёт fallback Request ID или Trace ID. `admin_draft` не принимает Agent ID, а `agent_snapshot` требует его. ## Результат и ошибки Успешный результат — нормализованный JSON output. Ошибка один раз преобразуется в закрытый `ExecutionFailure`: `error_code`, `stage`, `retryability`, `outcome_certainty`, безопасные Request/Trace IDs и ограниченный typed context. Admin и MCP лишь проецируют этот descriptor в свои wire-ответы. `retryability` принимает `never`, `safe`, `after_delay`, `manual_reconcile` или `requires_confirmation`. При timeout/transport cancellation после возможного dispatch возвращается `manual_reconcile + outcome_unknown`; автоматически повторять такой вызов нельзя. HTTP/MCP status и текст ошибки не меняют это решение. Raw URL, upstream body/headers, parser/Reqwest/SQLx error и секреты не входят в ответ или Invocation History. Resolved auth и confirmation token имеют redacted `Debug` и не сериализуются как execution envelope. ## История и совместимость Migration v5 (`execution-outcome-v5`) добавляет nullable поля exact Operation version, stage, stable error code, retryability и certainty. Для legacy v4 строк они остаются `NULL`; значения не фабрикуются. Новые Admin/MCP записи сохраняют их вместе с Request ID и Trace ID независимо от telemetry sampling. Пути Admin API, MCP methods и успешные response fields не изменены. Поля ошибки добавлены обратно совместимо. Outbound DNS/redirect/retry/SSRF policy принадлежит Story 1.9 и этой границей не считается завершённой.