| Gateway-only ingress |
pass |
Фронт → /api на gateway; шаблоны services/* без бизнес-REST |
| gRPC internal sync |
pass |
Активные домены + gateway BFF |
| API key trust через auth |
pass |
ValidateServiceApiKey + gateway:invoke |
| Обязательная propagated metadata |
pass |
validatePropagatedGatewayMetadata после проверки ключа |
| Именование snake/camel по границе |
partial |
Proto snake; REST camel на gateway; полная нормализация ID — roadmap |
| UUIDv7 для новых сущностей |
gap |
Требует миграции схем |
| Единый error envelope REST |
pass |
code, message, details, requestId на gateway |
| gRPC→HTTP mapping |
partial |
Централизованно в shared; BFF местами глотает ошибки |
| Deadlines read/write |
partial |
GRPC_DEADLINE_READ_MS / GRPC_DEADLINE_WRITE_MS; мутации можно пометить явно |
| Retries только idempotent |
pass |
Убран channel retry policy на gateway gRPC |
| Idempotency-key |
partial |
Проброс в metadata; домены — по мере внедрения |
| GraphQL depth limit |
pass |
depthLimit(12) на gateway |
| Секреты не в коде |
pass |
Seed требует SEED_GATEWAY_SERVICE_API_KEY |
| Ротация API keys |
partial |
Несколько ключей в БД; runbook в RELEASE |
| Audit / rate-limit / SLO |
gap |
Отдельные эпики |