Repository navigation
v0.17.1
핵심 변경 요약
v0.17.0에서 도입한 비동기 서브에이전트 메커니즘(nexus_spawn / nexus_result custom tool, scripts/post-sync-asyncify.mjs, 9개 agent의 nexus_spawn/nexus_result deny permission, skill body의 async 치환분)을 전부 제거하여 v0.16.4와 기능적으로 동등한 상태로 복구한다.
회수 사유
OpenCode plugin SDK는 plugin이 새 LLM 턴을 능동적으로 트리거하는 공식 hook을 제공하지 않는다. 따라서 v0.17.0의 nexus_spawn은 (a) primary unblock과 (b) 명시적 nexus_result 폴링까지만 가능하며, 사용자가 추가 발화하지 않아도 자식 작업 완료 후 메인 LLM이 깨어나 후속 작업을 이어가는 경험(Claude Code Ctrl+B 패턴)은 SDK 레벨에서 막혀 있다. 핵심 가치 미달성 + 운영 부담(매 sync마다 post-sync 치환, 9 agent permission 재주입, skill body drift, opencode SDK bump 시 재검증 항목 추가) 누적 트레이드오프가 성립하지 않아 회수.
대안으로 experimental.chat.messages.transform hook 기반 "사용자 다음 발화 시 결과 자동 합성 주입" 노선이 다음 cycle에서 검토된다.
최종 사용자에게 보이는 변경
- v0.17.0 사용자에게 breaking:
nexus_spawn/nexus_result호출 불가. 자동으로 동기task({subagent_type, ...})경로로 환원된다. - v0.16.x 사용자에게 영향 없음: v0.17.1은 v0.16.4와 기능 동등.
install / models UX 영향
없음. CLI 동작은 v0.16.4와 동등.
breaking change 여부
v0.17.0 → v0.17.1: breaking change 있음 — nexus_spawn / nexus_result tool 제거. 대응은 자연 환원(별도 migration 불필요): Lead가 동기 task 경로로 자동 fallback한다.
v0.16.x → v0.17.1: breaking change 없음.
검증
bun run checkPASSbun run test:e2ePASSnpm pack --dry-run정상 — 27 files, 74.3 kB
보존된 학습
.nexus/history.json cycle 11 archive와 .nexus/memory/empirical-opencode-async-session.md, empirical-sync-macro-usage-verification.md, pattern-opencode-plugin-surface.md(v0.17.0 갱신분 포함)를 의도적으로 revert에서 제외. v0.17.0 cycle에서 측정한 OpenCode SDK 동작(session.create / promptAsync / session.idle.parentID / message.part.updated)은 다음 설계 cycle에서 재사용된다.
자세한 변경 이력은 CHANGELOG.md 참조.