Code Intelligence
Контекстный слой Code Review, который индексирует default branch репозитория и ищет по нему семантически, чтобы дать review контекст всей кодовой базы.
Code Intelligence — это контекстный слой внутри Code Review, а не отдельный продукт. Он индексирует default branch подключённого репозитория Code Review в files и symbols, а при настроенной vector database — ещё и в semantic embeddings, чтобы автоматический review мог опираться на релевантный контекст из остальной кодовой базы, а не только на diff.
Без него review видит только diff. С ним review может выяснить, где ещё в кодовой базе встречается тот же приём, прежде чем оставить комментарий.
Availability
Для Code Intelligence должны одновременно выполняться три условия:
- Feature flag
code_review.intelligenceвключён для организации (Dashboard → Settings → Code Review → Feature availability). Это deployment-wide kill switch для индексации и repository-aware контекста review. - Организации доступна эта функция: на Cloud — тариф Pro и выше (platform admins проходят всегда); на self-hosted — активная enterprise license.
- Для репозитория включена настройка Code Intelligence (repository-aware reviews). Как и Review skills, она наследуется от organization к project и к repository — оставьте её не заданной, чтобы наследовать, либо переопределите на более узком уровне.
Репозиторий также должен быть активным подключённым репозиторием Code Review. listRepositoryStatus сообщает, что репозиторий отключён, а не выбрасывает ошибку, если хотя бы одно условие не выполнено; reindexRepository, наоборот, выбрасывает PRECONDITION_FAILED, если Code Intelligence отключён. semanticSearch и disableRepository сами эти условия не проверяют.
Индексация
Индексация всегда идёт по настроенному default branch репозитория — индексации по отдельным branch нет.
- Автоматически — push в default branch (получаемый через webhook Code Review) ставит reindex в очередь после небольшого debounce, если Code Intelligence включён и installation провайдера активен.
- Вручную —
codeIntel.reindexRepositoryставит в очередь полный reindex текущего head default branch. Если для этого branch уже есть snapshot в состоянииqueued,cloning,parsingилиembedding, возвращается именно он, а не создаётся новый. Требует permissioncode_review.manage_repositoriesи хотя бы один ранее замеченный branch head (Skitflow должен был увидеть хотя бы один push в branch, прежде чем сможет его проиндексировать).
Snapshot проходит через queued → cloning → parsing → embedding → ready, либо failed. На branch репозитория одновременно существует не более одного ready snapshot — более старый ready snapshot, вытесненный новым, переходит в obsolete. После готовности snapshot хранит commit, количество files, количество symbols и разбивку files по языкам.
codeIntel.listRepositoryStatus возвращает это состояние по каждому репозиторию в project и питает панель Code Intelligence на странице настроек репозитория Code Review, которая опрашивается каждые 5 секунд, пока snapshot активно индексируется. Требует permission code_review.read.
Семантический поиск
codeIntel.semanticSearch встраивает (embed) запрос на естественном языке и возвращает ближайшие проиндексированные фрагменты кода из одного snapshot, ранжированные по cosine similarity:
POST /api/trpc/codeIntel.semanticSearch
{
"repositoryId": "...",
"snapshotId": "...",
"query": "where do we validate webhook signatures?",
"limit": 10
}Каждый результат включает путь файла, опциональный id symbol, найденный контент и score от 0 до 1. Результаты с cosine distance больше 0.6 отбрасываются, а не возвращаются как слабые совпадения. limit принимает значения 1–50, по умолчанию 10.
Если vector database не настроена или вызов embedding завершился ошибкой, endpoint возвращает { "unavailable": true } вместо ошибки — вызывающая сторона должна воспринимать это как «сейчас недоступно», а не как неудавшийся запрос.
semanticSearch требует permission code_review.read и членство в организации; members дополнительно нужен доступ к project репозитория.
Отключение и очистка
codeIntel.disableRepository выключает настройку для репозитория и планирует очистку сохранённых данных индекса этого репозитория (snapshots, files, symbols и embeddings). Требует permission code_review.manage_settings.
Cloud vs self-hosted
Code Intelligence доступен и на Cloud (тариф Pro и выше), и на self-hosted (с enterprise license и включённым feature flag) — см. Доступность. Все endpoints codeIntel работают только через tRPC: они обслуживают dashboard Code Review и не входят в справочник REST/OpenAPI API.