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-series와의 엣지 케이스 제거. Kimi를 쓰기 카테고리 폴백에 추가. Hephaestus 자동 커밋 동작 제거 — 에이전트는 더 이상 명시적 요청 없이 커밋하지 않습니다.
🛡️ 안정성 강화
모든 주요 컨트롤 루프가 강화되었습니다:
- Ralph Loop: 루프 시작 이후의 메시지로 완료 감지 스코프 설정. 무한 재발동 방지를 위한 인플라이트 가드. 세션 리셋과 TUI 전환 간 레이스 컨디션 제거.
- Todo 연속 실행: 차단된 todos를 미완료 개수에서 제외 — 종속 작업의 무한 루프 방지.
- 백그라운드 에이전트: 유휴 세션을 위한 알림 큐. 세션 삭제 시 보류 중인 알림 정리.
- 토큰 제한기: 잘림이 이제 줄바꿈 경계를 존중함. 위임된 프롬프트의 중간 줄 자르기 제거.
- 압축: 타임아웃 + 정리로 레이트 제한 중 무한 행(hang) 방지.
📊 Hashline 편집 벤치마크
@minpeter가 기여한 새로운 벤치마크 스위트(46개 테스트). 중복 제거 및 검증 수정. Diff 컨텍스트를 3줄로 제한하여 과도한 청크 방지.
🖥️ 플랫폼 및 호환성
Windows: 모든 Bun.spawn 호출에 windowsHide 적용 — 더 이상 남은 터미널 창 없음. 레거시 하드웨어: baseline CPU 변형 바이너리 추가. 설정: 새 기본값을 쓸 때 기존 사용자 설정 보존. 포매터 설정이 더 이상 자동으로 삭제되지 않음.
- 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): 완료 감지기 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 설정에서 포매터 설정 보존
- d425f9b fix(models): Gemini 3을 3.1 Pro로 업데이트하고 Kimi를 쓰기 카테고리 폴백에 추가
- cc5e9d1 fix(ci): 레거시 하드웨어 지원을 위해 baseline CPU 변형 바이너리 추가
- 269f37a fix(windows): 남은 터미널 창 방지를 위해 Bun.spawn 호출에 windowsHide 추가
- 1e060e9 fix(look-at): 프로세스 행(hang) 방지를 위해 동기 모델 재시도에 타임아웃 추가
- ccb789e fix(stop-continuation): 중지 시 실행 중인 작업을 취소하도록 backgroundManager 연결
- a6617d9 fix(ralph-loop): 무한 루프 방지를 위해 인플라이트 가드 추가 및 완료 감지 개선
- 2295161 fix(ralph-loop): 무한 루프 방지를 위해 인플라이트 가드 추가 및 완료 감지 개선
- 0516f2f fix(todo-continuation): 무한 루프 방지를 위해 차단된 todos를 미완료 개수에서 제외
- df02c73 fix(agents): 충돌 방지를 위해 remapAgentKeysToDisplayNames에서 원본 에이전트 키 유지
- 52658ac fix(config): 새 기본값을 쓸 때 기존 사용자 설정 보존
- fab820e fix(compaction): 레이트 제한 시 무한 행(hang) 방지를 위해 타임아웃 추가 및 정리 보장
- 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 컨텍스트에서 Current date 제거
- 0b69a6c fix(atlas): 영구 실패 잠금을 5분 백오프로 대체
- 5fe1640 fix(boulder): 계획 진행률에서 들여쓰기된 체크박스 계산
- ad01f60 fix: 토큰 캐시를 깨지 않도록 env 컨텍스트에서 초 정밀도 시간 제거
- 87d6b2b feat(agents): GPT 감지를 이름 기반 확인으로 단순화, hephaestus 공급자 추가(venice는 gpt-5.3-codex 사용)
- b7b6721 refactor(think-mode): chat.params에서 chat.message로 훅 마이그레이션 및 사고 설정 주입 제거
- 0c59d2d refactor(ultrawork): 모델 재정의에서 사고 설정 주입 제거
- 52d366e feat(start-work): --worktree 플래그 문서화로 템플릿 업데이트
- 9cd6fc6 feat(atlas): workt 주입
(이하 생략)