---
doc_id: MAP-CK8S-DOMAIN-PROVIDER-NATIVE-WORK-ITEMS
type: issue-map
title: kodex — карта Issue домена рабочих сущностей провайдера
status: active
owner_role: KM
created_at: 2026-04-25
updated_at: 2026-06-02
---

# Карта Issue — рабочие сущности провайдера

## TL;DR

Долгоживущая карта домена `provider-native-work-items` и сервиса-владельца `provider-hub`.

## Матрица

| Issue/PR | Документы | Волна | Статус | Примечание |
|---|---|---|---|---|
| не назначено | `docs/domains/provider-native-work-items/product/requirements.md`, `docs/domains/provider-native-work-items/architecture/design.md`, `docs/domains/provider-native-work-items/architecture/data_model.md`, `docs/domains/provider-native-work-items/architecture/api_contract.md`, `docs/domains/provider-native-work-items/delivery/provider_hub_delivery.md` | PRV-0 | done | Доменный каркас и границы `provider-hub`. |
| не назначено | `proto/kodex/providers/**`, `specs/asyncapi/provider-hub.v1.yaml`, `docs/domains/provider-native-work-items/delivery/provider_hub_delivery.md` | PRV-1 | done | gRPC/AsyncAPI контракты и сгенерированный код. |
| не назначено | `services/internal/provider-hub/**`, `docs/domains/provider-native-work-items/architecture/data_model.md`, `docs/domains/provider-native-work-items/delivery/provider_hub_delivery.md` | PRV-2 | done | Сервисный каркас, схема БД, миграции и слой репозитория. |
| не назначено | `services/internal/provider-hub/**`, `docs/domains/provider-native-work-items/architecture/design.md`, `docs/domains/provider-native-work-items/architecture/data_model.md`, `docs/domains/provider-native-work-items/delivery/provider_hub_delivery.md` | PRV-3 | done | Внешние аккаунты у провайдера, лимиты, GitHub-адаптер и журнал операций. |
| не назначено | `services/internal/provider-hub/**`, `docs/domains/provider-native-work-items/architecture/design.md`, `docs/domains/provider-native-work-items/architecture/data_model.md`, `docs/domains/provider-native-work-items/delivery/provider_hub_delivery.md` | PRV-4 | done | Журнал webhook, дедупликация, нормализация GitHub-событий и базовые outbox-события. |
| не назначено | `services/internal/provider-hub/**`, `docs/domains/provider-native-work-items/architecture/data_model.md`, `docs/domains/provider-native-work-items/delivery/provider_hub_delivery.md` | PRV-5 | done | Проекции `Issue`, `PR/MR`, комментариев, review-сигналов, watermark и связей. |
| не назначено | `services/internal/provider-hub/**`, `docs/domains/provider-native-work-items/architecture/data_model.md`, `docs/domains/provider-native-work-items/architecture/api_contract.md`, `docs/domains/provider-native-work-items/delivery/provider_hub_delivery.md` | PRV-6.1 | done | Идемпотентная и атомарная очередь сверки, `sync_cursor`, чтение, список и короткая аренда курсора. |
| #719 | `services/internal/provider-hub/**`, `libs/go/accesscheck/**`, `libs/go/secretresolver/**`, `docs/domains/provider-native-work-items/**`, `docs/platform/architecture/secret_resolution.md` | PRV-6.2b | done | Пакетная GitHub-сверка подключает `ResolveExternalAccountUsage` и `libs/go/secretresolver`, читает GitHub API по арендованному курсору, продвигает курсор, обновляет проекции провайдера, лимитный бюджет и операционное состояние без хранения токена. |
| #703 | `services/internal/provider-hub/**`, `proto/kodex/providers/**`, `docs/domains/provider-native-work-items/architecture/api_contract.md`, `docs/domains/provider-native-work-items/architecture/data_model.md`, `docs/domains/provider-native-work-items/delivery/provider_hub_delivery.md` | PRV-6.3 | done | Ускоряющие сигналы от agent-manager/MCP и slot-агентов сохраняют signal-level идемпотентность и ставят hot cursor по provider target и выбранному внешнему аккаунту. |
| #711 | `libs/go/secretresolver/**`, `docs/platform/architecture/secret_resolution.md`, `docs/domains/provider-native-work-items/**`, `docs/domains/access-and-accounts/**`, `docs/domains/package-platform/**` | PRV-6.4 | done | Общий контракт безопасного разрешения секретов по ссылке после `ResolveExternalAccountUsage`; реализации хранилища `kubernetes_mounted_secret`, `env` и `vault`; значения не попадают в gRPC-ответы, БД, события, аудит, трассировку, логи или ошибки. |
| #725 | `proto/kodex/providers/**`, `docs/domains/provider-native-work-items/architecture/api_contract.md`, `docs/domains/provider-native-work-items/architecture/design.md`, `docs/domains/provider-native-work-items/architecture/data_model.md`, `docs/domains/provider-native-work-items/delivery/provider_hub_delivery.md`, `docs/platform/architecture/provider_integration_model.md`, `docs/platform/architecture/service_boundaries.md` | PRV-7a | done | Контрактный каталог инструментов записи провайдера для `agent-manager`/MCP: типизированные инструменты, общий конвейер команд, контекст политики по риску, ссылка на approval/gate и безопасный результат без реализации операций записи. |
| #731 | `services/internal/provider-hub/**`, `docs/delivery/coordination/**`, `docs/domains/provider-native-work-items/README.md`, `docs/domains/provider-native-work-items/architecture/design.md`, `docs/domains/provider-native-work-items/architecture/data_model.md`, `docs/domains/provider-native-work-items/architecture/api_contract.md`, `docs/domains/provider-native-work-items/delivery/provider_hub_delivery.md`, `docs/platform/architecture/provider_integration_model.md` | PRV-7b | done | Общий конвейер команд операций записи реализован без реальных GitHub/GitLab write-вызовов: типизированные gRPC handlers, casters, единый доменный конвейер, `ProviderOperation` со следом политики/gate, проверкой ожидаемой версии и outbox-событиями `provider.operation.completed/failed`. |
| #737 | `services/internal/provider-hub/**`, `proto/kodex/providers/**`, `docs/domains/provider-native-work-items/**`, `docs/platform/architecture/provider_integration_model.md`, `docs/delivery/coordination/**` | PRV-7c | done | GitHub write-адаптер поверх общего pipeline: создание и обновление задач, комментариев, `PR`, review-сигналов и provider-native связей с журналом операций, безопасным secret resolver, идемпотентным replay, проекциями и событиями. |
| не назначено | `services/internal/provider-hub/**`, `docs/domains/provider-native-work-items/delivery/provider_hub_delivery.md`, `docs/delivery/coordination/agent-2-provider-hub.md` | PRV-7d | done | Усилен GitHub write-адаптер и жизненный цикл `ProviderOperation`: проверки повторов по `idempotency_key`, конфликтов цели, secondary/rate limits, временных ошибок провайдера/сети, permission denied/not found и безопасных operation/outbox сводок ошибок без реального GitHub. |
| #747 | `docs/domains/platform-mcp-server/**`, `docs/platform/architecture/mcp_and_interaction_model.md`, `docs/platform/architecture/service_boundaries.md` | MCP-0 | готово | MCP-поверхность фиксирует provider tools как маршруты в `provider-hub`; GitHub/GitLab write pipeline, PRV-8 bootstrap/adoption и provider state не переносятся в MCP. |
| #748 | `services/internal/provider-hub/**`, `proto/kodex/providers/**`, `docs/domains/provider-native-work-items/**`, `docs/delivery/coordination/**` | PRV-8a | done | Provider-side bootstrap для уже созданного пустого репозитория: `CreateBootstrapPullRequest` принимает подготовленные файлы и refs, создаёт или обновляет bootstrap branch/PR через GitHub write pipeline, обновляет проекцию, provider relationship и событие `provider.repository.bootstrap_completed`. |
| #761 | `services/internal/provider-hub/**`, `proto/kodex/providers/**`, `specs/asyncapi/provider-hub.v1.yaml`, `docs/domains/provider-native-work-items/**`, `docs/platform/architecture/repository_onboarding.md`, `docs/delivery/coordination/**` | PRV-8b | done | Создание GitHub-репозитория на стороне провайдера: `CreateRepository` создаёт репозиторий с `auto_init`, возвращает default branch как `base_branch`, фиксирует `ProviderOperation` и событие `provider.repository.created`. |
| #770 | `services/internal/provider-hub/**`, `proto/kodex/providers/**`, `docs/domains/provider-native-work-items/**`, `docs/platform/architecture/repository_onboarding.md`, `docs/delivery/coordination/**` | PRV-8c | done | Provider-side adoption существующего репозитория: `CreateAdoptionPullRequest` принимает подготовленные файлы и refs, создаёт или обновляет adoption branch/PR через GitHub write pipeline, обновляет проекцию, provider relationship и событие `provider.repository.adoption_pr_created`. |
| #840 | `services/internal/provider-hub/**`, `specs/asyncapi/provider-hub.v1.yaml`, `libs/go/platformevents/provider/**`, `docs/domains/provider-native-work-items/**`, `docs/platform/architecture/repository_onboarding.md`, `docs/domains/projects-and-repositories/**`, `docs/delivery/coordination/agent-2-provider-hub.md` | PRV-8d | done | Provider-side merge signal для bootstrap/adoption PR: GitHub `pull_request closed + merged` фиксируется как safe refs/digest/timestamps, публикует `provider.repository.bootstrap_merged` или `provider.repository.adoption_merged`, дедуплицируется по signal key и не вызывает project-catalog напрямую. |
| #865 | `services/internal/provider-hub/**`, `proto/kodex/providers/**`, `specs/asyncapi/provider-hub.v1.yaml`, `libs/go/platformevents/provider/**`, `docs/domains/provider-native-work-items/**`, `docs/platform/architecture/repository_onboarding.md`, `docs/platform/architecture/service_boundaries.md`, `docs/delivery/coordination/agent-2-provider-hub.md` | PRV-8e | done | Lightweight provider-side adoption repository scan: `ScanRepositoryForAdoption` читает GitHub metadata/ref/tree, сохраняет safe snapshot refs/markers/counts/warnings/digest и публикует `provider.repository.adoption_scan_completed` без raw file contents и project decision. |
| #883 | `services/internal/provider-hub/**`, `proto/kodex/providers/**`, `docs/domains/provider-native-work-items/**`, `docs/domains/projects-and-repositories/architecture/api_contract.md`, `docs/delivery/coordination/agent-2-provider-hub.md` | PRV-8f | done | Provider-native read surface для bootstrap/adoption: gRPC отдаёт adoption scan snapshots и safe merge signals по stable ids/context с provider refs, branches, commit sha, status, timestamps, version и safe `etag`; checked artifact/payload остаются в `project-catalog`. |
| #895 | `fixtures/provider-webhooks/**`, `services/internal/provider-hub/**`, `services/external/integration-gateway/**`, `docs/domains/provider-native-work-items/**`, `docs/domains/integration-gateway/**`, `docs/delivery/coordination/agent-2-provider-hub.md` | PRV-8g | done | Synthetic GitHub `pull_request closed + merged` fixtures проверяются Go tests: route wiring, `IngestWebhookEvent`, safe `RepositoryMergeSignal` read surface и outbox/event-log readiness без consumer framework и checked artifact payload. |
| #909 | `fixtures/provider-webhooks/**`, `services/internal/provider-hub/**`, `services/external/integration-gateway/**`, `docs/domains/provider-native-work-items/**`, `docs/domains/integration-gateway/**`, `docs/delivery/coordination/agent-2-provider-hub.md` | PRV-8h | done | Bootstrap/adoption fixtures проверяются Go tests: route/ingest/read/outbox, replay без дубля merge event, safe conflict diagnostic и отсутствие raw/canonical webhook payload в safe signal/read surface/outbox/event-log. |
| #939 | `docs/domains/provider-native-work-items/**`, `docs/domains/integration-gateway/**`, `docs/delivery/coordination/agent-2-provider-hub.md` | PRV-8i | заменён Go-runner | Live GitHub provider path не является shell smoke. Product API проверка живёт в `cmd/onboarding-runner`: dry-run читает safe provider merge signals/snapshots и project repository binding, apply явно вызывает project-side reconcile с checked input и safe target policy без вывода provider payload, секретов, адресов и доменов. |
| #908 | `docs/domains/provider-native-work-items/**`, `docs/platform/architecture/provider_integration_model.md`, `services/internal/provider-hub/**` | PRV-4 privacy-hardening | partial | Webhook inbox storage перешёл на safe envelope only: новые записи не хранят canonical provider body в `payload_json`, старые retained payload редактируются миграцией, replay/conflict использует `payload_sha256`, read RPC/events/diagnostics не возвращают raw/canonical payload. `RetryWebhookEventProcessing` не replay-ит raw body: поддержанный GitHub onboarding `pull_request` перечитывается через provider API по safe refs и связанному `ProviderOperation`, а неподдержанные/expired случаи получают safe diagnostic `payload_unavailable`, `payload_expired` или `refetch_unavailable`. Остаются encryption-at-rest/KMS и расширение refetch-покрытия. |
| #281, #282 | `cmd/onboarding-runner/**`, `docs/platform/architecture/repository_onboarding.md`, `docs/domains/provider-native-work-items/delivery/provider_hub_delivery.md` | PRV-8e+ | модель выбрана, частично реализована | Полный end-to-end bootstrap/adoption остаётся открытым: provider-side срезы дают repository create/write, adoption scan, safe merge signal и read surface; `project-catalog` имеет публичные gRPC команды `ReconcileBootstrapMergeSignal` и `ReconcileAdoptionMergeSignal` для checked import. Go runner проверяет product API path, готовит checked input из уже нормализованного JSON payload с обычным SHA-256 `content_hash` и `artifact_digest = content_hash`, для empty-repo bootstrap умеет через `project-catalog` создать provider repository/bootstrap PR, а для self-repo `codex-k8s/kodex` умеет привязать существующий repository binding и построить safe summary изменения `services.yaml`/deploy-relevant путей без shell/live smoke, прямого GitHub/GitLab, auto deploy и вывода подготовленных файлов. Остались фактическая webhook delivery/регистрация, операторский интерфейс, слияние владельцем, adoption deep scan/report и пользовательский запуск. |
| #281, #282 | `services/internal/provider-hub/**`, `proto/kodex/providers/**`, `specs/asyncapi/provider-hub.v1.yaml`, `libs/go/platformevents/provider/**`, `cmd/onboarding-runner/**`, `docs/platform/architecture/repository_onboarding.md`, `docs/domains/provider-native-work-items/**` | self-repo live signal | готово | `provider-hub` фиксирует GitHub `push`/`pull_request merged` как safe `RepositoryChangeSignal` для self-repo: provider refs, branch `main`, commit sha, path summary status, category counters, `services_policy_changed`, `deploy_relevant_changed`, digest/fingerprint и событие `provider.repository.changed` без raw webhook body, diff, path list, YAML, provider response или секретов. Runner читает сигнал через публичный gRPC read surface и показывает ожидание live delivery, но не запускает build/deploy и не переносит project import в provider-hub. |
| #810 | `docs/domains/provider-native-work-items/architecture/api_contract.md`, `docs/platform/architecture/repository_onboarding.md`, `docs/domains/projects-and-repositories/**` | ONB-2 | готово | Project-side срез использует существующий `provider-hub CreateRepository` contract: provider-native запись остаётся в `provider-hub`, а project/repository binding и `base_branch` policy остаются в `project-catalog`. |
| #818 | `docs/domains/provider-native-work-items/architecture/api_contract.md`, `docs/platform/architecture/repository_onboarding.md`, `docs/domains/projects-and-repositories/**` | ONB-3 | готово | Project-side импорт после merge bootstrap PR использует provider projection/checked signal без нового provider write contract: provider-native факт merge остаётся в `provider-hub`, webhook inbox отдаёт только safe envelope/digest, а checked policy import и activation binding остаются в `project-catalog`. |
| #864 | `docs/platform/architecture/repository_onboarding.md`, `docs/domains/projects-and-repositories/**`, `docs/domains/provider-native-work-items/**`, `proto/kodex/projects/v1/project_catalog.proto`, `services/internal/project-catalog/**` | ONB-4 | готово | Project-side reconciliation принимает safe provider bootstrap merge signal и checked artifact metadata через `ReconcileBootstrapMergeSignal`; provider-native факт merge и projection остаются у `provider-hub`, webhook inbox отдаёт только safe envelope/digest, а import/activation остаются у `project-catalog`. |
| #781 | `docs/domains/integration-gateway/**`, `specs/openapi/integration-gateway.v1.yaml`, `docs/platform/architecture/provider_integration_model.md`, `docs/platform/architecture/service_boundaries.md`, `docs/platform/architecture/c4_container.md`, `docs/delivery/coordination/agent-2-provider-hub.md` | IGW-0 | готово | Смежный gateway-срез для публичного provider webhook входа: `integration-gateway` проверяет HTTP edge, а `provider-hub` остаётся владельцем webhook inbox и нормализации через `IngestWebhookEvent`. |
| #792 | `services/external/integration-gateway/**`, `services.yaml`, `docs/domains/integration-gateway/**`, `docs/delivery/coordination/agent-2-provider-hub.md`, `docs/delivery/issue-map/domains/integration-gateway.md` | IGW-1 | готово | Смежный сервисный каркас `integration-gateway`: внешний HTTP edge собирается и фиксирует client interface к `provider-hub.IngestWebhookEvent`; provider-hub остаётся владельцем webhook inbox и нормализации. |
| #807 | `services/external/integration-gateway/**`, `specs/openapi/integration-gateway.v1.yaml`, `services.yaml`, `docs/domains/integration-gateway/**`, `docs/delivery/coordination/agent-2-provider-hub.md`, `docs/delivery/issue-map/domains/integration-gateway.md` | IGW-2 | готово | Смежный GitHub webhook route `integration-gateway`: edge проверяет source/signature/headers/size и передаёт безопасный envelope в `provider-hub.IngestWebhookEvent`; provider-hub остаётся владельцем inbox, дедупликации и нормализации. |
| #819 | `services/external/integration-gateway/**`, `services.yaml`, `docs/domains/integration-gateway/**`, `docs/delivery/coordination/agent-2-provider-hub.md`, `docs/delivery/issue-map/domains/integration-gateway.md` | IGW-4 | готово | Смежное security hardening `integration-gateway`: edge применяет per-source limits/backpressure и safe audit summary до вызова `provider-hub`, не создавая gateway inbox или business state. |
| #853 | `services/external/integration-gateway/**`, `specs/openapi/integration-gateway.v1.yaml`, `services.yaml`, `deploy/base/integration-gateway/**`, `docs/domains/integration-gateway/**`, `docs/delivery/coordination/agent-2-provider-hub.md`, `docs/delivery/issue-map/domains/integration-gateway.md` | IGW-6 | готово | Смежный callback route `integration-gateway`: edge принимает generic channel/package callback и маршрутизирует safe envelope в `interaction-hub.RecordChannelCallback`; provider-hub и provider write pipeline не меняются. |
| #754 | `services/internal/provider-hub/**`, `deploy/base/provider-hub/**`, `deploy/base/postgres/**`, `scripts/build-provider-hub-images.sh`, `bootstrap/host/config.env.example`, `bootstrap/host/bootstrap_cluster.sh`, `services.yaml`, `docs/domains/provider-native-work-items/ops/provider_hub_runbook.md`, `docs/domains/provider-native-work-items/ops/provider_hub_monitoring.md`, `docs/domains/provider-native-work-items/delivery/provider_hub_delivery.md` | PRV-9 | done | Эксплуатационный контур `provider-hub`: БД, манифесты, migration job, runbook и наблюдаемость; проверка первого кольца идёт через `bootstrap/host/smoke_backend_contour.sh`. |
