Статьи

Codex и Claude Code в одном проекте

Как сохранить один протокол, одну базу знаний и одну семантику работы, даже если среда исполнения агента для программирования меняется.

Один проект не должен принадлежать одному AI-клиенту

Если требования, планы и решения существуют только в скрытой памяти конкретной среды исполнения, смена инструмента превращается в миграцию контекста. Harness строится иначе: проектная истина находится в репозитории, а Codex и Claude Code подключаются к ней как две среды исполнения одного протокола.

Это не означает, что оба инструмента нужно использовать одновременно. Достаточно одного. Важнее другое: выбор среды исполнения не должен менять смысл REQ, STEP или ревью.

Что остаётся общим

Протокол

AGENTS.md, канонические команды, CTS и reasoning boundaries описывают одинаковый жизненный цикл работы.

База знаний

REQ, ADR, PRN, OQ и STEP не имеют отдельных «версий для Codex» и «версий для Claude».

Навыки

Канонические навыки проекта хранятся в .agents/skills/ и доступны обоим адаптерам.

Состояние проекта

Project State API строит одну проекцию без изменений для CLI, UI и других клиентов.

Что различается

ОбластьCodexClaude Code
Основная конфигурация.codex/config.toml.claude/settings.json
Роли.codex/agents/*.toml.claude/agents/*.md
Входной контрактAGENTS.mdCLAUDE.md импортирует AGENTS.md
Состояние аккаунтаApp Server account/readclaude auth status
Model / effortНастраиваются в адаптере CodexНастраиваются в адаптере Claude

Различия относятся к способу исполнения, а не к содержанию проектного контракта.

Context Contract строится до адаптера

Планировщик, реализатор и проверяющий нуждаются в разном контексте. context-contract.py строит манифест контекста задачи из STEP, связанных REQ/ADR/OQ, архитектурных ссылок и применимых Project Principles. Только после этого конкретный адаптер предоставляет выбранные материалы модели.

STEP + role + repository revision
        ↓
Context Contract
        ↓
Codex adapter / Claude Code adapter

Таким образом, физический способ чтения файлов может различаться, но состав смыслового контекста остаётся одинаковым.

Как безопасно сменить среду исполнения

Представим, что план STEP был создан в Codex, после чего разработчик открыл тот же репозиторий в Claude Code. Новая среда не должна получать пересказ старой беседы. Она читает общий protocol layer и текущее состояние проекта.

# предыдущая сессия
Codex → STEP PLAN STEP-024

# новая сессия того же repository
Claude Code → HARNESS STATUS
             STEP IMPLEMENT STEP-024

Если план актуален и execution не требует специального recovery, работа продолжается с сохранённого контракта. Если есть прерванная execution, HARNESS RESUME использует отдельные правила восстановления. Если связанный REQ изменился, план станет stale независимо от того, какой адаптер его читает.

Идентичность аккаунта не становится проектным секретом

UI может показать авторизованный аккаунт выбранной среды исполнения, но Harness не должен сохранять токены или credential files в проектную память. Codex получает машиночитаемое состояние аккаунта через App Server account/read, Claude Code — через claude auth status. Это операционные метаданные, а не новая проектная истина.

Нужно ли использовать оба инструмента

Нет. Harness не требует процесса с несколькими средами исполнения. Один разработчик может постоянно использовать только Codex или только Claude Code. Совместимость важна как свойство архитектуры: repository knowledge не должен быть привязан к внутреннему состоянию сессии одного клиента.

Если команда сознательно использует обе среды, полезно разделять ответственность по ролям и передавать работу через артефакты: например, не переносить план вручную между чатами, а читать один и тот же Ready plan из STEP.

Как проверить на небольшом проекте

Создайте проект из Harness template, выполните PROJECT INIT в одной среде, добавьте небольшой STEP и сохраните план. Затем закройте сессию и откройте repository во второй среде. HARNESS STATUS и артефакты проекта должны дать достаточно контекста для следующего допустимого действия.

Точный контракт Codex и Claude Code → · Начало работы →