AI 코딩 에이전트를 위한 오픈 소스 거버넌스 및 하드 게이트 (Claude Code, Codex CLI, Pi 지원)
요약
codeArbiter는 AI 코딩 에이전트가 수행하는 작업에 대한 오픈 소스 거버넌스 레이어입니다. 이 시스템은 테스트, 리뷰, 보안 검사 등 여러 단계를 강제하여 지속 가능한 프로젝트 컨텍스트를 유지합니다. Claude Code, Codex CLI, Pi 등 다양한 코딩 호스트에서 사용할 수 있는 플러그인을 제공하며, 모든 요청을 정의된 '레인(lane)'을 통해 처리합니다.
핵심 포인트
- AI 에이전트의 작업에 대한 거버넌스 레이어 제공
- 테스트, 리뷰, 보안 검사 등 다단계 프로세스를 강제함
- Claude Code, Codex CLI, Pi 등 다양한 코딩 호스트 지원
- 모든 요청을 정의된 '레인(lane)'으로 처리하여 신뢰성 확보

Claude Code, Codex CLI, 그리고 Pi를 아우르는 AI 코딩 에이전트를 위한 오픈 소스 거버넌스 및 하드 게이트.
codeArbiter는 테스트, 리뷰, 보안 검사, 결정, 지속 가능한 프로젝트 컨텍스트를 위한 리포지토리 기반의 거버넌스 레이어입니다. 사용자가 결정하고, codeArbiter가 강제합니다.
시작 학습 · 설치 · 참고 자료 둘러보기
전역으로 설치하세요. 특정 리포지토리가 명시적으로 옵트인하기 전까지는 비활성 상태로 유지됩니다.
codeArbiter는 코딩 에이전트가 중요한 작업을 수행하도록 하는 팀과 파워 유저를 위한 것입니다. 단순히 “모델이 통과했다고 말했다” 이상의 것이 필요합니다. 모든 요청은 이름 붙여진 레인(lane)으로 들어갑니다. 이 레인은 해당 증거가 무엇인지, 배포해야 할 리뷰어는 누구인지, 그리고 이를 중단시키는 조건들을 정의합니다.
이 리포지토리에는 네 개의 형제 플러그인이 포함되어 있습니다:
ca (Claude Code용),
ca-codex (Codex CLI용), 그리고 ca-pi (Pi용)는 세 가지 거버넌스 호스트입니다. ca-sandbox는 격리된 로컬 Codespace 인프라 플러그인입니다.
세 가지 거버넌스 호스트는 하나의 공유 표면에서 생성되며, 하나 검사된 .codearbiter/ 프로젝트 스토어를 사용합니다. 리포지토리는 사양(specs), 계획(plans), ADRs, 작업(tasks), 결정(decisions) 또는 감사 기록(audit history)을 잃지 않고 호스트 간에 이동할 수 있습니다.
codeArbiter는 다음을 수행하지 않습니다:
- 필수적으로 실패하는 테스트가 존재하기 전에 기능 코드를 작성하거나;
- 레드 스위트(red suite) 상태이거나 커밋 게이트 외부에서 커밋하고;
- 추측으로
[CONFIRM-NN]질문에 답하거나; - 규칙, 문서, 코드 간의 충돌을 조용히 해결하지 않으며; - 사용자 없이 기본 브랜치로 직접 푸시하거나 병합하지 않습니다.
게이트는 작업 규모에 맞춰 확장됩니다. 단순한 문장 편집은 작은 문서 레인(docs lane)을 사용합니다. 보안에 민감한 기능은 전체 사양, 테스트 우선, 리뷰, PR 경로를 거칩니다.
Codex 경로는 신뢰할 수 있는 SessionStart 주입 및 실제 [H-03] PreToolUse 블록과 함께 Codex CLI 0.144.1에서 라이브 검증되었습니다. 날짜가 찍힌 Claude Code + Codex 증거는 지속적으로 검증된 패키징을 모델 기반의 턴이 필요한 라이브 검사로부터 분리합니다.
랜딩 페이지에는 배포된 후크 호출의 충실한 리플레이가 포함되어 있습니다. 이는 실제 pre-bash.py를 호출합니다.
guard는 소스 다이제스트(source digest)를 기록하고, 차단된 명령이 실행되지 않았음을 증명하며, 정확한 stderr와 감사 효과(audit effect)를 보존합니다. 이는 직접적인 후크 리플레이가 호스트 발견이나 신뢰성을 증명한다고 가정하지 않습니다.
운영 루프는 다음과 같습니다:
you /ca:fix the statusline keeps running the old version after an update
arbiter route to the regression-test-first fix lane
failing test -> minimal fix -> focused proof -> full verification
...
결정은 사용자가 합니다. 저장소는 증거를 보관합니다.
이미 사용하고 있는 코딩 호스트에 맞는 어댑터(adapter)를 선택하세요. 호스트 선택기(host chooser)는 안정성, 명령 구문, 신뢰성 및 플랫폼 차이점을 다룹니다.
| Host | Adapter | Command form | Status |
|---|---|---|---|
| Claude Code | ca | /ca:feature | Stable |
| Codex CLI | ca-codex | $ca-feature | Stable |
| Pi | ca-pi | /ca-feature | Feature Forge preview |
사전 요구 사항(Prerequisites): PATH에 Python 3 및 git config user.email 설정이 되어 있어야 합니다. ADR 라이프사이클 증명에는 세 가지 거버넌스 호스트 모두에서 --no-lazy-fetch를 사용한 Git 2.45.0 이상이 필요하며, 비사용 가능 플래그 지원은 업그레이드 사전 요구 사항을 통해 검증을 차단할 뿐, 암묵적인 가져오기 폴백(implicit fetch fallback)으로 작동하지 않습니다. Pi는 또한 Node.js 22.19+가 필요합니다. Python이 누락된 경우, Pi는 최종 래퍼(wrappers)를 설치하지만 변경하는 호출은 차단하고 /ca-doctor를 가리킵니다.; Claude Code와 Codex는 거버넌스가 활성화되었다고 조용히 주장하는 대신 인터프리터 브레드크럼(interpreter breadcrumb)을 표시합니다. 호환성 매트릭스(compatibility matrix)는 지원되는 네이티브 Git/런타임과 연결된 작업 트리 경계(linked-worktree boundary)를 정의하며, 공유 저장소 위에서 혼합된 Windows Git과 WSL Git은 지원되지 않습니다.
/plugin marketplace add arbiterForge/codeArbiter
/plugin install ca@codearbiter
일반 플러그인 신뢰 프롬프트(plugin trust prompt)를 승인하고, 대상 저장소를 열고, /ca:init으로 계속 진행하세요.
공개 GitHub 슬러그 흐름은 현재 이용 가능합니다.
현재 어댑터 버전은 plugins/ca-codex/.codex-plugin/plugin.json에서 읽힙니다.
날짜가 지정된 종단 간(end-to-end) 공개 설치 기록은 릴리스 v2.8.13에서 ca-codex 0.2.4를 발견했습니다.
현재 패키징 및 공유 코어의 동등성(parity)은 지속적으로 검증되며, 해당 이력 기록은 단순히 레이블링만 유지될 뿐 새로운 어댑터에 대한 증거로 승격되지는 않습니다:
codex plugin marketplace add arbiterForge/codeArbiter --ref ca-codex-marketplace
codex plugin add ca-codex@codearbiter
ca-codex-marketplace 브랜치는 승격된 카탈로그입니다. 이 항목은 네이티브 아티팩트 엔진을 포함하는 정확한 자격화된 릴리스 아카이브를 담고 있는 변경 불가능한(immutable) ca-codex-dist-v<version> Git 태그를 고정합니다. main 브랜치는 개발 소스 트리이며, 승격된 바이너리 기반 배포판을 대체할 수 없습니다. (npm 채널 @arbiterforge/ca-codex는 계획되었으나 연기되었습니다, ADR-0040.)
만약 codearbiter가 이전에 --ref ca-codex-marketplace 없이 등록되었다면, marketplace upgrade는 해당 기본 브랜치 등록을 유지하며 이를 승격된 바이너리 기반 채널로 마이그레이션하지 않습니다. 따라서 한 번 제거한 후 다시 추가하고 플러그인을 재설치하십시오:
codex plugin remove ca-codex@codearbiter
codex plugin marketplace remove codearbiter
codex plugin marketplace add arbiterForge/codeArbiter --ref ca-codex-marketplace
...
/hooks를 열어 ca-codex 핸들러를 검토하고 신뢰한 다음, 새로운 작업을 시작하십시오. $ca-init과 $ca-doctor를 실행하십시오.
게시되지 않은 체크아웃을 대상으로 개발하는 경우:
git clone https://github.com/arbiterForge/codeArbiter
cd codeArbiter
codex plugin marketplace add .
...
참고: ca-pi는 Feature Forge의 preview 버전입니다. 현재 실제 사용이 가능하므로, 설치하고 저장소에서 사용하며 발견한 내용을 보고해 주시기 바랍니다. 이 자동화되고 호스팅되는 승격 매트릭스는 녹색(green)이지만, codeArbiter가 100% 검증 또는 안정 상태를 주장하기 위해서는 더 광범위한 실제 세계의 증거가 필요합니다.
가장 빠른 설치 방법은 npm 채널입니다: pi install npm:@arbiterforge/ca-pi
(ADR-0029). 재현 가능한 고정 설치(reproducible pinned install)를 위해서는 독립적으로 버전이 지정된 태그 목록을 나열하고, 정확한 결과 하나를 선택한 다음, 설치된 패키지를 검사하고 프로젝트의 신뢰를 부여하며, 새로운 세션을 시작해야 합니다:
git ls-remote --tags --refs https://github.com/arbiterForge/codeArbiter.git "ca-pi-v*"
pi install git:github.com/arbiterForge/codeArbiter@ca-pi-v<version>
pi list
...
<version>을 선택한 태그의 숫자 접미사로 대체하되, 설치 소스에서 전체 ca-pi-v... 태그는 유지해야 합니다. Git-tag 설치는 네이티브 아티팩트 엔진을 포함하지 않으므로, 작성된 타입 HTML 스펙과 플랜을 생성할 수 없는 부분적(partial) 설치입니다. 이 경우에는 npm 채널을 사용하십시오.
Pi 1.0.2가 이 릴리스 라인의 지원 호스트입니다. 생성된 별칭은 /ca-*이며, 호스트 네이티브 폴백(host-native fallback)은 ; /skill:ca-* 입니다. 모든 ca-pi-v* 태그는 출처(provenance)와 함께 npm의 npm:@arbiterforge/ca-pi로도 게시됩니다 (ADR-0029). 고정된 Git 태그가 재현 가능한 설치를 유지합니다. Pi 런북에는 격리 설치, 신뢰 부여, 검증, 공유 상태 연속성 및 제거에 대한 내용이 포함되어 있습니다.
첫 실행을 위해서는 일회용(disposable) Git 저장소를 사용하십시오. 의미 있는 소스 파일은 최소한 하나 추가한 다음, 아래 호스트 네이티브 명령어들을 호출하십시오:
| 결과 | Claude Code | Codex CLI | Pi |
|---|---|---|---|
| 프로젝트 상태 스캐폴딩 (Scaffold project state) | /ca:init | $ca-init | /ca-init |
| 증명 강제 적용 (Prove enforcement) | /ca:doctor | $ca-doctor | /ca-doctor |
| 실시간 상태 읽기 (Read live state) | /ca:status | $ca-status | /ca-status |
init은 .codearbiter/를 생성하고 기존 코드베이스를 create-context로, 또는 클린 프로젝트(greenfield project)를 decompose로 라우팅합니다. doctor는 저장소를 관리되는 것으로 간주하기 전에 건강한 인터프리터, 현재 페이로드, 그리고 H-03 실시간 테스트 프로브(live-fire probe)를 보고해야 합니다.
예상 출력, 증명 및 복구에 대한 기대치를 확인하려면 전체 첫 번째 저장소 워크스루(walkthrough)를 따르십시오.
Arbiter Academy는 codeArbiter를 위한 선택적 실습 과정입니다. 이 과정은 Academy 저장소의 개인 포크에서 시작되므로, 자신의 프로젝트에 위험을 초래하지 않으면서 실제 커밋을 수행하고, 관리되는 증거(evidence)를 검사하며, 실패한 시도에서 복구할 수 있습니다.
Academy 웹사이트가 학습 표면(lesson surface)입니다. 게시된 각 레슨은 특정 동작이 브라우저, 네이티브 터미널, 활성 하네스(active harness), 또는 에이전트 중 어디에 속하는지 식별하고, 복사 가능한 명령어, 예상 결과, 검사할 증거, 그리고 안전한 복구 경로를 제공합니다. 프로덕션 저장소를 보호하기 전에 워크플로우를 학습하고 싶다면 이곳부터 시작하십시오.
이 사이트는 최초 접촉부터 소스 기반 운영(source-backed operation)까지의 연속적인 경로로 설계되었습니다:
| 필요성 | 여기서 시작 | 완료할 수 있는 것... |
|---|---|---|
| 약속 이해하기 | What is codeArbiter | 명령어, 라우팅, 디스패치, 게이팅 및 배포 설명하기 |
| ... | ||
| 명령어(Command), 스킬(skill), 에이전트(agent), 그리고 후크-게이트 참조 페이지는 사이트 빌드 시마다 배포된 소스에서 생성됩니다. 수동으로 작성된 가이드가 워크플로우를 가르치고; 생성된 페이지가 정확한 현재 표면을 정의합니다. |
flowchart LR
I["호스트-네이티브 명령어"] --> R["소유 스킬"]
R --> A["작성자 또는 운영자 동작"]
...
활성화는 명시적이며 저장소별로 이루어집니다. Claude Code와 Codex는 SessionStart 시점에 .codearbiter/CONTEXT.md를 확인합니다. Pi는 동일한 파일을 session_start 확장 이벤트(extension event)를 통해 확인하며, 또한 긍정적인 프로젝트 신뢰(project trust)를 요구합니다. arbiter: enabled가 없으면 전역 설치(global install)는 비활성화됩니다. 즉, 저장소 페르소나도 없고, 저장소 게이트도 없으며, 거버넌스 행도 없습니다.
프로젝트 기록은 코드 옆에 존재합니다:
.codearbiter/
├── CONTEXT.md 활성화, 어휘(vocabulary), 성숙도(maturity), 현재 목표
├── tech-stack.md 승인된 기술 및 버전
...
.codearbiter 디렉토리 참조는 모든 아티팩트를 누가 생성하고, 읽고, 업데이트하는지, 그리고 그 복구 규칙까지 설명합니다.
tdd이전에는 기능 코드가 없음
1단계 완료. -commit-gate외부 커밋 없음,
그리고 빨간 스위트(red suite)와 함께 결코 없음. - [CONFIRM-NN]
추측을 통해 해결됨. - 규칙 충돌에 대한 암묵적인 조정 없음; /ca:conflict 경로로 이동
.
- 리포지토리, 로그, 이미지 또는 프롬프트에 원시 비밀(raw secret) 저장 안 함.
- 기본 브랜치에 직접 쓰기 금지 및 강제 푸시 금지.
/ca:adr외부 ADR 없음,
명시적인 사용자 기여가 있음. - 모든 /ca:override
, mode --dangerous
/mode --ops
엔트리/엑시트는 영구적이며 출처를 추적할 수 있음. - H-18 활성화 보호에는 세션 내 재정의 경로가 없으므로, 리포지토리를 비활성화하려면 외부 편집기와 명시적인 감사 기록이 필요합니다.
보안 및 감사 추적 정확도가 데이터 무결성, 유지 관리 용이성, 성능 및 속도보다 우선합니다. 이와 관련된 명확하지 않은 트레이드오프가 언급됩니다.
SMARTS는 확장 가능(Scalable), 유지 보수 가능(Maintainable), 가용(Available), 신뢰(Reliable), 테스트 가능(Testable), 보안 가능(Securable) 속성을 평가합니다.
각 옵션은 구체적인 판정 및 증거를 받은 후, strong
, moderate
, 또는 tied
권장 사항이 제시됩니다. 최종 결정은 사용자에게 있습니다.
/ca:sprint는 제한적이고 비(非)하드한 결정에 동일한 렌즈를 사용하며 모든 호출을 신뢰도 플래그와 함께 .codearbiter/sprint-log.md에 기록합니다. 보안 경계, 되돌릴 수 없는 작업, 게이트 우회, 병합 및 미해결 질문은 여전히 진정한 중단점입니다. SMARTS 및 자율 스프린트를 참조하십시오.
먼저 워크플로우를 선택하십시오. 표준 레인은 일일 작업을 간결하게 유지하며, 고급 작업 및 호환성 경로는 전체 참고 자료에서 사용할 수 있습니다.
| 워크플로우 | 선택 명령어 | 사용 목적 |
|---|---|---|
| Evaluate (평가) | /ca:preview | 리뷰어 예측 및 읽기 전용 시크릿 스캔 실행 |
| Initialize (초기화) | /ca:init | 저장소 소유 상태 저장소 생성 또는 검사 |
| Change (변경) | /ca:feature, /ca:sprint, /ca:fix, /ca:refactor, /ca:chore, /ca:spike, /ca:add-dep | 소유 게이트를 통해 공급망 구축, 복구, 재구성, 탐색 또는 변경 |
| Review (검토) | /ca:review | diff 또는 경계가 지정된 경로에 대해 리뷰어 플릿 실행 |
| Decide (결정) | /ca:adr | 번호가 매겨지고 사용자에게 귀속되는 아키텍처 결정 기록 |
| Ship (배포) | /ca:commit, /ca:pr, /ca:release | 커밋, 풀 리퀘스트 스테이징 또는 승인된 릴리스 준비 |
| Operate (운영) | /ca:status, /ca:task, /ca:doctor, /ca:override | 상태 검사, 작업 보드 관리, 강제 적용 확인 또는 허용된 우회 기록 |
전체 명령어 참조에는 고급 작업, 호환성 경로, 내부 프로토콜, 사용 중단 지침 및 호스트 가용성이 포함됩니다. 생성된 호스트 카탈로그는 plugins/ca/COMMANDS.md, plugins/ca-codex/COMMANDS.md, 그리고 plugins/ca-pi/COMMANDS.md에서 계속 검사할 수 있습니다. Claude Code에는 statusline과 prune이 포함되어 있으며, Codex는 이 두 가지를 의도적으로 생략합니다. Pi는 statusline을 생략하고 자체 prune 경로를 통해 네이티브 압축을 사용합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기