GEODE의 공식 픽셀 캐릭터 Geodi
전시실로

GEODE

Autonomous Agent Harness

관측에서 다음 행동으로.

연구, 파일 작업, 예약 작업을 맡길 수 있는 로컬 자율 에이전트 하네스입니다.

2026.02.21 — present

설계·판단·검증 Author · 구현 Claude · 리뷰 Codex

  • CLI공개 배포 · PyPI
  • MCP 서버구현

후보 채택과 배포 권한을 서로 다른 판정으로 나눕니다.

Crucible은 정책 탐색과 별개의 실험 커널입니다. 후보 커밋을 허용 표면과 고정 계약으로 검증하고, 별도 측정 체크아웃에서 쌍 과제를 집계해 KEEP · REJECT · INVALID 중 하나로 판정합니다.

Crucible 구성도 · 고정 커밋 9e2c041과 공개 산출물 23e3428로 그림
GEODE Crucible 구성도후보 채택, sealed 적격, 제품 릴리스를 서로 다른 권한으로 나누는 실험 커널입니다. supervisor가 생산자에게 단일 후보 commit을 받아 허용 표면과 frozen evaluator로 검사하고, 분리된 측정 체크아웃에서 tau2 과제를 실행합니다. promotion.py가 사전 등록된 task · family 단위로 쌍 결과를 집계해 KEEP · REJECT · INVALID를 정하고, KEEP이면 탐색 head만 옮깁니다. sealed 평가는 train bundle을 한 번 쓰는 disjoint test pack으로 판정하며, ELIGIBLE이어도 eligible ref까지만 쓰고 릴리스 권한은 없습니다.actor · user 모델r14 · r35: gpt-5.4/hightau2 환경과제 · 시뮬레이션 사용자GEODE 제품 릴리스연결 없음 · 별도 권한search/producers생산자 명령 · 설정replay producersearch/supervisor.pypropose → preflightevaluate → decide → recordcontract.py허용 표면 · candidate difffrozen evaluator · 사전 등록attempt/feedback.json실패 코드 · train 과제 IDmeasurement checkout생산자와 분리 · 후보 commitassays/tau2 실행 · receipt과제 verifierpromotion.pypaired · task · family 집계KEEP · REJECT · INVALIDattestation/bundle.pytrain bundle · 재계산 KEEP · 계보attestation/sealed.pydisjoint test pack · 1회 소비ELIGIBLE · release_authority nonerefs/cruciblesearch/* headeligible/*geode-eval-artifactsr14 · train KEEP → sealed REJECTr35 · INVALID · 쌍 0 · nullevolve/crucible외부 실험 커널 · SIL과 별개search · train 판정attestation · sealed1 후보 요청 · propose → preflight → search/producers12 후보 commit 1개 · search/producers → propose → preflight23 허용 표면 · diff 검사 · propose → preflight → 허용 표면 · candidate diff34분리 체크아웃5고정 계약으로 실행6actor · 사용자 대화7모델 호출8paired evidence9사전 등록 집계 규칙10KEEP · head 이동1paired evidence2사전 등록 집계 규칙3REJECT · INVALID4실패 코드 · 과제 ID1record · ref receipt2 train bundle만 · 1회 · train bundle · 재계산 KEEP · 계보 → disjoint test pack · 1회 소비23 eligible ref까지 · ELIGIBLE · release_authority none → eligible/*31verdict.json 공개본2sealed decision.json

train 판정

허용 표면 안의 후보 하나를 분리된 체크아웃에서 고정 계약으로 재고, 사전 등록된 규칙으로 KEEP · REJECT · INVALID를 정합니다.

  1. propose → preflightsearch/supervisor.py실행 · 판정: 후보 요청search/producers

    탐색 supervisor가 생산자에게 후보를 요청합니다. r14의 후보는 replay producer가 이전 후보(r13)를 다시 적용한 것이며, 새 LLM 후보 생성 실적이 아닙니다.

  2. search/producers데이터: 후보 commit 1개propose → preflightsearch/supervisor.py

    생산자는 허용 경로 안의 단일 candidate commit을 냅니다.

  3. propose → preflightsearch/supervisor.py실행 · 판정: 허용 표면 · diff 검사허용 표면 · candidate diffcontract.py

    candidate diff가 계약이 허용한 표면 안에 있는지와 frozen evaluator를 검사합니다. r14 · r35에서 허용 대상은 tau2_agent_policy.md 한 파일이었고, core와 Crucible 구현은 evaluator 경로로 고정됐습니다.

  4. evaluate → decide → recordsearch/supervisor.py실행 · 판정: 분리 체크아웃생산자와 분리 · 후보 commitmeasurement checkout

    생산자와 분리된 측정 체크아웃에서 후보를 검사합니다.

  5. 생산자와 분리 · 후보 commitmeasurement checkout실행 · 판정: 고정 계약으로 실행tau2 실행 · receiptassays/

    baseline과 candidate를 같은 계약 · seed · 과제로 실행합니다.

  6. tau2 실행 · receiptassays/데이터: actor · 사용자 대화tau2 환경

    GEODE agent(actor)가 tau2 과제 환경에서 evaluator 소유의 시뮬레이션 사용자와 대화합니다.

  7. tau2 실행 · receiptassays/데이터: 모델 호출actor · user 모델

    r14 · r35는 actor와 시뮬레이션 사용자 모두 gpt-5.4/high(구독)였습니다.

  8. 과제 verifierassays/데이터: paired evidencepaired · task · family 집계promotion.py

    과제 verifier의 결과를 baseline과 candidate의 쌍으로 남깁니다.

  9. frozen evaluator · 사전 등록contract.py실행 · 판정: 사전 등록 집계 규칙paired · task · family 집계promotion.py

    task와 사전 등록된 family 단위로 쌍 결과를 집계하고, 예산 · coverage · 인프라 · 안전 조건을 따로 봅니다.

  10. KEEP · REJECT · INVALIDpromotion.py실행 · 판정: KEEP · head 이동search/* headrefs/crucible

    KEEP이면 refs/crucible/search/*의 다음 head가 후보로 바뀝니다. train 판정의 promotion_authority는 none입니다.

거절 · 무효 · 피드백

REJECT와 INVALID는 head를 유지하고, 다음 후보에는 실패 코드와 고정 train 과제 ID만 돌려줍니다. INVALID는 0점이 아닙니다.

  1. 과제 verifierassays/데이터: paired evidencepaired · task · family 집계promotion.py

    과제 verifier의 결과를 baseline과 candidate의 쌍으로 남깁니다.

  2. frozen evaluator · 사전 등록contract.py실행 · 판정: 사전 등록 집계 규칙paired · task · family 집계promotion.py

    task와 사전 등록된 family 단위로 쌍 결과를 집계하고, 예산 · coverage · 인프라 · 안전 조건을 따로 봅니다.

  3. KEEP · REJECT · INVALIDpromotion.py데이터: REJECT · INVALID실패 코드 · train 과제 IDattempt/feedback.json

    거절되거나 무효면 이전 head를 그대로 두고, 후보와 기록은 보존합니다. INVALID의 평균은 0이 아니라 null입니다.

  4. 실패 코드 · train 과제 IDattempt/feedback.json데이터: 실패 코드 · 과제 IDsearch/producers

    다음 후보에 주는 피드백은 실패 코드와 고정된 train 과제 ID로 제한됩니다. evaluator의 trajectory나 정답을 넘기지 않습니다.

sealed 적격 · 권한 분리

train KEEP은 탐색 head만 옮깁니다. sealed 적격도 eligible ref까지이며, 제품 릴리스와 배포는 Crucible 밖의 별도 권한입니다.

  1. evaluate → decide → recordsearch/supervisor.py데이터: record · ref receipttrain bundle · 재계산 KEEP · 계보attestation/bundle.py

    train bundle은 계약, baseline · candidate 근거, 다시 계산한 KEEP, 제안 계보, supervisor 기록, 적용된 ref receipt가 이어져야 성립합니다. 성능 상승의 다른 이름이 아닙니다.

  2. train bundle · 재계산 KEEP · 계보attestation/bundle.py실행 · 판정: train bundle만 · 1회disjoint test pack · 1회 소비attestation/sealed.py

    sealed 평가는 train과 겹치지 않는 test pack을 한 번만 쓰며, 인프라 재시도는 0회입니다.

  3. ELIGIBLE · release_authority noneattestation/sealed.py실행 · 판정: eligible ref까지eligible/*refs/crucible

    ELIGIBLE이어도 refs/crucible/eligible/*까지만 쓰며, release_authority는 none으로 고정됩니다.

공개 기록 · r14 · r35

r14는 train KEEP 뒤 sealed REJECT, r35(2026.07.13)는 coverage 부족과 인프라 오염으로 INVALID(쌍 0행, 평균 null)였고 head는 그대로였습니다.

  1. KEEP · REJECT · INVALIDpromotion.py데이터: verdict.json 공개본geode-eval-artifacts

    공개 산출물은 23e3428에 고정된 정규화 기록입니다. r14의 사전 등록 train config hash가 공개 config bytes와 달라, 원본 체인 전체를 다시 인증한 것은 아닙니다.

  2. attestation/sealed.py데이터: sealed decision.jsonr14 · train KEEP → sealed REJECTgeode-eval-artifacts

    r14: telecom train 6과제 × 1회(쌍 6행)에서 KEEP(승격 권한 없음) 뒤 별도 sealed 판정이 REJECT(release 권한 없음)였습니다.

모든 연결을 같은 굵기로 보여 줍니다. 흐름을 고르면 그 경로만 번호와 함께 강조됩니다.

  • 실선 · 요청 · 후보 · 결과가 흐르는 방향
  • 파선 · 실행 · 판정 · 권한 · 설정
  • 굵은 검은 선 · 고른 흐름, 번호는 순서
  • 상자 · 코드 · 기록 경계, 머리말에 경로
  • 안쪽 칩 · 그 경계의 구성 요소
  • 점선 상자 · 그 경계 밖
  • 탐색 supervisor
  • 계약 · 판정 · 증명
  • ref · 기록
  • 생산자 · 실행

Crucible은 SIL과 별개의 커널이며, 두 탐색이 서로의 후보를 자동으로 승격시키는 하나의 파이프라인이 아닙니다. 제품 릴리스 상자에는 들어오는 연결이 없습니다.

세 권한
train KEEP은 탐색 head 이동, sealed ELIGIBLE은 eligible ref 기록, 제품 릴리스는 Crucible 밖의 별도 결정입니다. 앞의 판정이 뒤의 권한을 주지 않습니다.
null은 0이 아님
r35는 계획 9과제 × 3회(arm당 27행) 가운데 비교할 쌍이 0행이라 평균과 개선값이 null입니다. 27개 과제 실패나 성공률 0%로 읽지 않습니다.