AI CLI 3종 설정 동기화 검증 리포트
BLUF
- Codex는
approval_policy=never,sandbox_mode=danger-full-access,model_reasoning_effort=xhigh, MCP 21개로 정상 확인했다. - opencode는 설치와 설정 파일은 확인됐지만 smoke가 실패했다. 인증은 환경변수는 감지되나 저장 credential 0개라 수동 auth 또는 API 키 교체가 필요하다.
- Claude Code에는 Codex에만 있던 핵심
maesterremote MCP를 가산 추가했고, JSON 문법 검증을 통과했다.
대기 상태
state/opencode.done: 존재.- CODEX-A 결과 요약:
STATUS=PARTIAL, opencode1.17.13, modelanthropic/claude-opus-4-8, MCP 21개, smoke 실패, auth 수동 조치 필요.
4축 대조표
| 도구 | 자율성 | 추론 | 지시문 | MCP |
|---|---|---|---|---|
| Claude Code | permissions.defaultMode=bypassPermissions, skipDangerousModePermissionPrompt=true |
effortLevel=high, CLAUDE_CODE_EFFORT_LEVEL=xhigh |
~/.claude/CLAUDE.md symlink -> /home/tlswk/projects/context-bootstrap/.rendered/CLAUDE.md |
전역 11개: chrome-devtools, codebase-memory-mcp, excalidraw, fetch, filesystem, github, maester, meta-ads, supabase, tavily, vercel |
| Codex | approval_policy=never, sandbox_mode=danger-full-access |
model=gpt-5.5, model_reasoning_effort=xhigh |
~/.codex/AGENTS.md 존재, symlink 아님 |
21개: brave-search, chrome-devtools, codebase-memory-mcp, context7, everything, exa, fetch, filesystem, git, github, maester, memory, naver-search, openclaw-local, perplexity, playwright, puppeteer, sequential-thinking, supabase, time, vercel |
| opencode | permission=allow |
model=anthropic/claude-opus-4-8 |
instructions=["/home/tlswk/.codex/AGENTS.md"] |
21개: Codex MCP와 같은 이름 세트, local 19개 + remote 2개 |
실행 가능성 검증
claude --version:2.1.201 (Claude Code).codex doctor:16 ok,1 idle,2 notes,1 warn,0 fail, degraded. 경고는 rollout state DB의 missing/stale row 2개 이슈이며 설정 파싱, auth, MCP, websocket, reachability는 통과.opencode --version:1.17.13.
opencode smoke/auth
- 실행:
cd /home/tlswk && timeout 90s opencode run 'Respond with exactly: OPENCODE_SMOKE_OK'. - 결과: FAIL. B 재시도 출력은
Error: Failed to process error response. - CODEX-A 센티넬의 앞선 smoke 결과: Anthropic API
401 authentication_error invalid x-api-key, 작은 Anthropic 모델도 실패. opencode auth list: 저장 credential 0개, 환경변수 provider 7개 감지.ANTHROPIC_API_KEY는 이름만 확인했고 값은 출력하지 않았다.- 판정: opencode 설정은 생성됐지만 auth는 수동 조치 필요. API 키 교체 또는
opencode auth login후 smoke 재실행 필요.
적용한 변경
- 생성:
/home/tlswk/.codex/prompts/goal.md. - 추가:
/home/tlswk/.claude.json최상위mcpServers.maester. - 백업:
/home/tlswk/.claude.json.bak.20260706_222717.
변경 검증
ls -la /home/tlswk/.codex/prompts/goal.md: 파일 생성 확인.python3 -m json.tool < /home/tlswk/.claude.json: 통과.- Claude Code 전역 MCP 개수: 10개 -> 11개.
- 추가된
maester:type=http,url=http://127.0.0.1:8766/sk-maester-2026/mcp.
남은 수동 단계
- opencode auth 복구: 유효한 Anthropic API 키를 환경에 설정하거나
opencode auth login으로 credential을 등록한다. - 복구 후 확인:
cd /home/tlswk && opencode run 'Respond with exactly: OPENCODE_SMOKE_OK'. - Codex
/goal은 다음 대화형codex세션부터/goal <목표>형태로 사용 가능하다.
롤백 방법
- Claude MCP 추가 롤백:
/home/tlswk/.claude.json.bak.20260706_222717을/home/tlswk/.claude.json으로 복원한 뒤python3 -m json.tool < /home/tlswk/.claude.json실행. - Codex prompt 롤백:
/home/tlswk/.codex/prompts/goal.md삭제.
가드레일 준수
- 스케줄러, cron, systemd timer, claude.ai routine, RemoteTrigger, CronCreate 생성 없음.
- opencode 설정 파일은 읽기 검증만 수행했고 B가 수정하지 않았다.
- 토큰, API 키, credential 값은 출력하거나 리포트에 기록하지 않았다.