oh-my-opencode v4.18.2 — 안정성 및 대기 규율 패치
두 버전(OpenCode Ultimate + Codex Light / lazycodex)에 걸친 안정성 중심 패치입니다. 설정 변경이나 새로운 플래그 없이 제자리 업그레이드가 가능합니다.
⏱️ GPT-5.6이 빈 폴링에 시간을 낭비하지 않음
장시간 GPT-5.6 세션은 아무것도 하지 않는 폴링에 실제 모델 라운드를 소비했습니다 — 최근 실행에서 91개의 빈 stdin 폴링(각각 약 134k 토큰)과 모든 증분에서 모든 기준의 완전한 재검증이 기록되었습니다. Ultrawork, ulw-loop, Hephaestus는 이제 대기 규율을 갖습니다: 상태 폴링이 누적된 컨텍스트를 재생해 긴 명령이 한 번의 크기 제한된 호출로 완료되고, 검증은 실제 입력이 변경되었을 때만 다시 실행되며(마지막 전체 통과 포함), 부에이전트 생성에는 명시적 STOP 조건이 필요합니다. 두 버전 모두에 적용되었습니다.
🔁 중단 후 연속 작업이 더 이상 다시 활성화되지 않음
에이전트 작업 중 중단하면 silent하게 todo-continuation 시행자를 다시 활성화하고 의도에 반해 재개할 수 있었습니다. 연속 작업 경계 및 중단 출처가 이제 추적되므로 의도적인 중단은 중단된 상태를 유지합니다 (#6109).
🧩 계획 에이전트가 폴백 모델을 상속함
plan 에이전트는 이제 Prometheus에서 fallback_models을 상속받으므로 계획 세션이 폴백 전체를 삭제하지 않고 나머지 에이전트와 동일한 백업 체인으로 저하됩니다. 사용자 지정 제공자 폴백 우선순위도 보존됩니다.
📝 문장 형태의 @tokens이 스킬과 명령에서 유지됨
@ts-ignore, @latest 또는 (@path) 같은 리터럴 토큰이 스킬/명령 본문에 있으면 [file not found: ...] 조각으로 손상되었습니다. 리졸버는 이제 실제 파일이 아닌 모든 @token을 그대로 두고 실제 @file 참조는 여전히 인라인 처리합니다 (#5978).
🧹 카테고리 스킬 알림이 더 이상 도구 출력을 손상시키지 않음
카테고리+스킬 알림이 tool.execute.after 출력에 추가되어 알림 텍스트가 모델이 본 Read/Bash/edit 결과로 유출되었습니다. 이제 단일 합성 메시지 부분으로 전달됩니다 (#6001).
🔌 LSP / MCP 시작이 제한되고 취소 가능함
LSP 프록시, 사용자별 데몬, codegraph stdio 브리지는 이제 시작을 제한하고 부모 닫기 시 대기 중인 획득을 취소하며 closed-stdio 오류를 전파합니다(hanging 또는 swallowing 없음). Codex의 최종 Boulder 게이트가 시행되고 review 레인이 전체 commit SHA에 바인딩됩니다.
🪟 플러그인 발견이 XDG_CONFIG_HOME을 존중함
loadOpencodePlugins는 이제 공유 config-dir 리졸버를 재사용하므로 플러그인 발견이 XDG_CONFIG_HOME을 존중하고 OPENCODE_CONFIG_DIR을 추가적으로 취급합니다(사용자 지정이 기본값을 덮음) (Linux, WSL, Windows 전체에서).
🛠️ 이 릴리즈의 기타 사항
- Hephaestus 위임 테이블 계약 정렬됨; GPT-5.6 Copilot 기능 + OpenAI 빠른 계층 별칭 처리.
- Windows 포트 프로브 테스트 flake 안정화됨.
- 테스트 스위트 강화: 훅 의존성이 이제 프로세스 전역 모듈 mock에 의존하지 않고 주입되므로 cross-file
bun test 오염이 제거되어 순서 의존적 오류를 생성할 수 있습니다.
마이너 호환성 및 안정성 릴리즈
이 릴리즈는 호환성 관련 동작 변경 및 운영 강화를 포함합니다. 업그레이드 또는 게시하기 전에 아래 요약을 읽으세요.
- 패키지 감지, 플러그인/설정 호환성, 설치 표면 전체의 이름 변경 전환 업데이트.
커밋 요약
- 23cb030 Merge pull request #6156 from code-yeongyu/release/v4.18.2-source-state
- d87596e Merge pull request #6114 from code-yeongyu/code-yeongyu/fix-windows-port-utils-flake
- 64a069b test(utils): stabilize port probe sequence
- b9d4488 Merge pull request #6155 from code-yeongyu/fix/test-mock-pollution-publish-gate
- 4a33c1e Merge pull request #6082 from H-TTTTT/feat/6032-copilot-gpt-5-6
- fb2d5d9 Merge pull request #6152 from code-yeongyu/code-yeongyu/fix-6087-hephaestus-delegation-contract
- 3962c91 test(models): refresh GPT-5.6 fallback QA
- c21e8ed test(hooks): make mock.module victims order-independent under single-process bun test
- 82bf7be fix(hephaestus): align delegation table contract
- 896ac48 test(models): publish GPT-5.6 fallback QA
- b7a2e33 Merge pull request #6091 from FNDEVVE/fix/openai-fast-capability-alias
- 97d45a6 Merge branch 'dev' into fix/openai-fast-capability-alias
- 400463b Merge pull request #6150 from code-yeongyu/docs/codemode-prompt-orchestration
- 2704556 fix(models): preserve custom provider fallback priority
- c75c47e Merge remote-tracking branch 'origin/dev' into sweep/pr-6091-review
- 4635c0c Merge pull request #5988 from MoerAI/fix/start-work-wrapper-at-path-5978
- 5201f54 Merge remote-tracking branch 'origin/dev' into sweep/pr-6091-review
- 0e83e42 Merge pull request #6151 from code-yeongyu/fix/hephaestus-gpt56-waiting-discipline
- 0478042 Merge pull request #6149 from code-yeongyu/code-yeongyu/fix-6109-continuation-rearm
- 82bb52a Merge pull request #6095 from c436zhan/fix/plan-fallback-models
- 8755932 Merge pull request #6084 from Zeno2019/fix/migrate-plural-config-dirs-pattern-a
- 9c8d1a2 docs(prompts): emphasize code-mode orchestration
- a5b0080 docs(prompts): sharpen Hephaestus discovery
- 293065b fix(hephaestus): add GPT-5.6 waiting discipline and bounded re-validation to both editions
- 3ec4afb Merge pull request #6147 from code-yeongyu/code-yeongyu/fix-6112-final-gate-ledger
- 425c371 fix(opencode): stop continuation rearming
- b3dff9c fix(opencode): preserve interruption provenance
- 1e8013f fix(opencode): track continuation boundaries
- 714d6cd test(config): isolate plural config directory tests
- 469702b fix(opencode): wire inherited plan fallbacks
- 43ea85f Merge pull request #6083 from H-TTTTT/fix/6001-clean-category-skill-reminder
- 2e5fc71 Merge remote-tracking branch 'origin/dev' into fix/openai-fast-capability-alias
- 8357bad fix(model-core): restrict gateway alias hosts
- f2ae890 fix(codex): sync durable review evidence rules
- bf5f9d6 fix(codex): bind loop review lanes to full SHA
- ba0383d fix(codex): persist review lane SHA records
- 40a3981 fix(codex): defer completed plans to final gate
- 05faacf fix(codex): enforce final Boulder gate
- a1ceb88 Merge pull request #6146 from code-yeongyu/fix/ultrawork-gpt56-waiting-discipline
- fb5f2ef Merge remote-tracking branch 'origin/dev' into fix/ultrawork-gpt56-waiting-discipline
- 9c49524 fix(ultrawork): teach codex directive GPT-5.6 waiting discipline and bounded re-validation
- 520813e Merge pull request #6144 from code-yeongyu/code-yeongyu/fix-lsp-mcp-startup-timeout
- 9a00d78 fix(codex): bound component LSP startup
- 91e8a74 fix(codex): bound aggregate LSP startup
- 6aa73b8 fix(lsp): bound MCP proxy startup
- 42f5078 fix(hooks): deliver category-skill reminder as a synthetic text part
- 99758f1 chore(evidence): re-encode #5978 QA artifacts from UTF-16 to UTF-8 so they render in the PR diff
- 04d11b0 fix(models): resolve transformed warm-cache models
- f726545 fix(models): preserve Vercel GPT-5.6 resolution
- 001b333 feat(models): add GitHub Copilot GPT-5.6 fallbacks
- b5f385c test(file-reference-resolver): add real-OpenCode QA proving #5978 fix
- dec381e Merge pull request #6117 from code-yeongyu/code-yeongyu/lsp-daemon-migration-residual
- 6dde357 fix(codex): preserve final bridge output errors
- 35bba7c fix(codex): terminate codegraph on bridge failure
- 1f9d7f0 fix(mcp): release failed-write listeners
- 61ce4dc fix(mcp): propagate nonterminal stdio errors
- ed57011 fix(codex): await codegraph stdio writes
- de0cf88 fix(mcp): handle closed stdio output
- e1f081c fix(lsp): cancel diagnostic client acquisition
- 6b3838c test(lsp): keep reuse probe input open
분량 관계로 이후 내용은 번역에서 제외했습니다. 전체 내용은 위 원문 링크에서 확인하세요.