oh-my-opencode v3.9.0
187개 파일 변경. +7,046/−1,891 줄. 3,391개 테스트. 0개 실패.
🔧 워크트리 인식 계획
/start-work는 이제 --worktree를 허용합니다 — Prometheus는 어느 워크트리에 속하는지 알고 있는 계획을 생성합니다. Atlas는 boulder 연속 작업에서 워크트리 경로를 인식합니다. 서로 겹치지 않는 병렬 기능 브랜치.
🧠 더 스마트한 모델 라우팅
전체적으로 Gemini 3 → 3.1 Pro. GPT 모델 감지가 이름 기반 매칭으로 단순화됨 — 더 깔끔하고 빠르며, o-시리즈의 엣지 케이스 제거. Kimi가 쓰기 카테고리 폴백에 추가됨. Hephaestus 자동 커밋 동작이 제거됨 — 에이전트는 명시적 요청 없이 커밋하지 않습니다.
🛡️ 신뢰성 강화
모든 주요 제어 루프가 강화되었습니다:
- Ralph Loop: 완료 감지가 루프 시작 이후의 메시지로 범위가 지정됨. 인플라이트 가드가 무한 재트리거를 방지합니다. 세션 리셋과 TUI 전환 사이의 레이스 조건이 제거됨.
- Todo 연속 작업: 차단된 todo는 불완전 카운트에서 제외됨 — 종속 작업에서 더 이상 무한 루프 없음.
- Background 에이전트: 유휴 세션을 위한 알림 큐. 세션 삭제 시 대기 중인 알림이 정리됨.
- Token Limiter: 절단이 이제 줄바꿈 경계를 존중합니다. 위임된 프롬프트에서 더 이상 중간 줄 자르기 없음.
- Compaction: 타임아웃 + 정리가 레이트 제한 중 무한 대기를 방지합니다.
📊 Hashline Edit 벤치마크
@minpeter가 기여한 새로운 벤치마크 스위트 (46개 테스트) hashline-edit용. 중복 제거 및 유효성 검사 수정. Diff 컨텍스트가 3줄로 제한되어 과도하게 큰 청크를 방지합니다.
🖥️ 플랫폼 & 호환성
Windows: 모든 Bun.spawn 호출에 windowsHide — 더 이상 외부 터미널 창 없음. 레거시 하드웨어: 기본 CPU 변형 바이너리가 추가됨. Config: 새 기본값을 작성할 때 기존 사용자 설정 보존. Formatter config가 더 이상 조용히 제거되지 않음.
- bdd86b1 fix(hephaestus): 예기치 않은 커밋을 방지하기 위해 자동 커밋 정책 제거
- 76cba9b Merge pull request #2159 from code-yeongyu/fix/ralph-loop-completion-scoping
- 2955dc8 Merge pull request #2158 from code-yeongyu/fix/hashline-diff-format-compat
- 3ab4b7f Merge pull request #2157 from code-yeongyu/fix/token-limiter-safe-truncation
- 3540d1c Merge pull request #2156 from code-yeongyu/fix/background-pending-notif-leak
- 9bc9dca Merge pull request #2155 from code-yeongyu/fix/ultrawork-thinking-db-write
- f2a1412 test(ralph-loop): ralph-loop 완료 감지기 PluginInput 모의 강화
- 190c699 fix(ralph-loop): 루프 시작 시 세션 메시지 카운트 유지
- e17a00a fix(ralph-loop): 루프 시작 이후의 메시지로 완료 감지 범위 지정
- c8aa1bb test(hashline-edit): diff 형식 호환성 테스트 추가
- 911710e fix(token-limiter): 원시 슬라이스 대신 줄바꿈 경계에서 절단
- 050b93b fix(background-agent): session.deleted에서 pendingNotifications 정리
- 2ffa803 fix(ultrawork-db): 지연된 모델 오버라이드에서 $.thinking을 $.variant와 함께 작성
- cf97494 Merge pull request #2154 from minpeter/feat/hashline-benchmark
- 8fb5949 fix(benchmarks): 오류 처리 및 유효성 검사에 대한 검토 피드백 해결
- 04f50ba feat(benchmarks): hashline-edit 테스트 스위트 추가 (46개 테스트)
- d1a0a66 feat(benchmarks): hashline-edit 벤치마크 에이전트 및 의존성 추가
- b1203b9 hashline-edit 중복 제거 및 유효성 검사 수정
- 5820122 Merge pull request #2093 from code-yeongyu/fix/issue-1966-ultrawork-variant
- 4efad49 Merge pull request #2149 from code-yeongyu/fix/issue-1815-1733-prompt-token-count
- 4df69c5 fix(keyword-detector): "max"를 하드코딩하는 대신 ultrawork 설정 변형 존중
- 2ece7c3 Merge pull request #1963 from MoerAI/fix/multi-issue-1888-1693-1891
- decff31 Merge pull request #2145 from code-yeongyu/fix/issue-1915-windows-spawn-hide
- 0526bac Merge pull request #2148 from code-yeongyu/fix/issue-2121-legacy-hardware-baseline
- 0c62656 Merge pull request #2146 from code-yeongyu/fix/issue-2065-1968-model-updates
- aff43bf Merge pull request #2143 from code-yeongyu/fix/issue-2017-stop-continuation-cancel
- 6865cee Merge pull request #2141 from code-yeongyu/fix/issue-2084-ralph-loop-inflight
- 8721ba4 Merge pull request #2140 from code-yeongyu/fix/issue-2025-blocked-todo-continuation
- 96d27ff Merge pull request #2134 from code-yeongyu/fix/issue-2064-config-overwrite
- 017c18c Merge pull request #2138 from code-yeongyu/fix/issue-2062-compaction-timeout
- fb194fc Merge pull request #2147 from code-yeongyu/fix/issue-2117-preserve-formatter-config
- 10c25d1 Merge pull request #2144 from code-yeongyu/fix/issue-2087-look-at-hang
- 86fcade Merge pull request #2142 from code-yeongyu/fix/issue-1922-retain-agent-keys
- 5bc3a9e Merge pull request #2137 from code-yeongyu/fix/issue-2051-diff-context-limit
- 810ebec Merge pull request #2136 from code-yeongyu/fix/issue-2044-atlas-task-tool
- 8f7ed29 Merge pull request #2135 from code-yeongyu/fix/issue-2115-background-output-block
- 7ff8352 fix(config): opencode 설정에서 formatter config 보존
- d425f9b fix(models): Gemini 3을 3.1 Pro로 업데이트하고 Kimi를 쓰기 카테고리 폴백에 추가
- cc5e9d1 fix(ci): 레거시 하드웨어 지원을 위한 기본 CPU 변형 바이너리 추가
- 269f37a fix(windows): 외부 터미널 창을 방지하기 위해 Bun.spawn 호출에 windowsHide 추가
- 1e060e9 fix(look-at): 프로세스 대기를 방지하기 위해 동기 모델 재시도에 타임아웃 추가
- ccb789e fix(stop-continuation): 정지 시 실행 중인 작업을 취소하도록 backgroundManager 연결
- a6617d9 fix(ralph-loop): 무한 루프를 방지하기 위해 인플라이트 가드 추가 및 완료 감지 개선
- 2295161 fix(ralph-loop): 무한 루프를 방지하기 위해 인플라이트 가드 추가 및 완료 감지 개선
- 0516f2f fix(todo-continuation): 무한 루프를 방지하기 위해 불완전 카운트에서 차단된 todo 제외
- df02c73 fix(agents): 크래시를 방지하기 위해 remapAgentKeysToDisplayNames에서 원래 에이전트 키 유지
- 52658ac fix(config): 새 기본값을 작성할 때 기존 사용자 설정 보존
- fab820e fix(compaction): 레이트 제한에서 무한 대기를 방지하기 위해 타임아웃 추가 및 정리 보장
- 6f54404 fix(hephaestus): 에이전트 프롬프트에 명시적 자동 커밋 지침 추가
- a3169c9 fix(hashline-edit): 과도하게 큰 청크를 방지하기 위해 diff 컨텍스트를 3줄로 제한
- 0639ce8 fix(atlas): 서브에이전트 디스패치를 위해 task 및 call_omo_agent 도구 허용
- 685b802 fix(background-task): background_output block=true가 실제로 작업 완료를 대기하도록 함
- 07e8d96 fix(atlas): 서브에이전트 디스패치를 위해 task 및 call_omo_agent 도구 허용
- c505989 Merge pull request #2095 from code-yeongyu/fix/issue-1934-exit-code-130-timeout
- 088984a fix: OpenCode가 이미 제공하므로 env 컨텍스트에서 현재 날짜 제거
- 0b69a6c fix(atlas): 영구 실패 잠금을 5분 백오프로 교체
- 5fe1640 fix(boulder): 계획 진행률에서 들여쓰기된 체크박스 계산
- ad01f60 fix: 토큰 캐시 손상을 중단하기 위해 env 컨텍스트에서 초 단위 정밀도 시간 제거
- 87d6b2b feat(agents): GPT 감지를 이름 기반 확인으로 단순화, hephaestus 공급자 추가 (venice uses gpt-5.3-codex)
- b7b6721 refactor(think-mode): chat.params에서 chat.message로 훅 마이그레이션 및 thinking 설정 주입 제거
- 0c59d2d refactor(ultrawork): 모델 오버라이드에서 thinking 설정 주입 제거
- 52d366e feat(start-work): --worktree 플래그 문서화로 템플릿 업데이트
분량 관계로 이후 내용은 번역에서 제외했습니다. 전체 내용은 위 원문 링크에서 확인하세요.