Skip to content

v2.12.0

Choose a tag to compare

@github-actions github-actions released this 17 Apr 05:18
· 1271 commits to main since this release
4a00aa3

v2.12.0 — Claude Code v2.1.110/111 + Opus 4.7 Compatibility (2026-04-17)

Summary

Claude Code v2.1.110/111 and Claude Opus 4.7 (claude-opus-4-7) compatibility layer (SPEC-OPUS47-COMPAT-001 + post-implementation follow-up). Introduces a 5-tier Effort system, Opus 4.7 prompt philosophy (5 principles documented in moai-constitution.md), v2.1.110 runtime handlers, and ApplyEffortPolicy production wiring. Fully backward compatible with Opus 4.6 / Sonnet 4.6 / Haiku 4.5.

Breaking Changes

None. agentModelMap [3]string signature unchanged (NFR-1). effort is opt-in — agents without the field inherit runtime defaults. Existing Opus 4.6 user profiles are preserved (no forced migration).

Added

Effort system

  • ProfilePreferences.EffortLevel YAML field + CLAUDE_CODE_EFFORT_LEVEL env injection at syscall.Exec time
  • EffortLevel{Low,Medium,High,XHigh,Max} 5-tier constants
  • ModelIDOpus47 = "claude-opus-4-7" constant
  • agentEffortMap with explicit overrides for 6 high-reasoning agents (manager-spec / manager-strategy → xhigh; plan-auditor / evaluator-active / expert-security / expert-refactoring → high)
  • GetAgentEffort(agentName) exported function
  • ApplyEffortPolicy(projectRoot, manifestMgr) — called by moai init / moai update; injects effort overrides into agent .md frontmatter, preserves user-customised effort: values, registers manifest hashes

Profile setup UI

  • claude-opus-4-7 model option + 5-tier effort selector with 4-language translations (en/ko/ja/zh)

Runtime handlers (v2.1.110+)

  • checkMCPScopeDuplicates in moai doctor — detects collisions between project .mcp.json and global ~/.claude/.mcp.json (warning-level, exit 0)
  • PermissionRequest hook denies on __updated_input_marker__ sentinel (updatedInput re-verification)
  • Windows-only injectCLAUDEEnvFile at SessionStart — injects CLAUDE_ENV_FILE into settings.local.json when .env exists; macOS/Linux paths unchanged (R-P1-1 verified)
  • disableBypassPermissionsMode: false field in settings template

Rules & documentation

  • moai-constitution.md — new "Opus 4.7 Prompt Philosophy" section (5 principles)
  • agent-authoring.md — new "Bash Tool Timeout Ceiling" section (600,000ms)
  • worktree-integration.md — v2.1.110/111 rows in minimum version table; recommended 2.1.111+
  • skill-authoring.mdeffort field now lists low/medium/high/xhigh/max
  • CLAUDE.md §12 — clarified UltraThink vs Adaptive Thinking vs --deepthink
  • moai-workflow-thinking/SKILL.md — Adaptive Thinking redefined; fixed thinking.budget_tokens directives removed (Opus 4.7 rejects fixed budgets with HTTP 400)
  • CLAUDE.local.mdsettings.local.json runtime-management rule + OTEL_LOG_RAW_API_BODIES production warning

Testing (post-implementation follow-up — PR #673)

  • internal/hook coverage 77.7% → 85.0% (12 new table-driven tests)
  • R-P1-1 Handle-level Windows guard regression tests
  • internal/cli coverage 73.6% → 75.1% (partial; 85% target deferred)

Changed

  • llm.yaml template: claude_models.high tier updated from "opus" to "claude-opus-4-7" — new projects now use Opus 4.7 on high policy

Fixed

  • GetAgentEffort now has a production caller (ApplyEffortPolicy) — resolves W-5 dead-code warning from Phase 2.5 manager-quality review

Installation & Update

Fresh install (see project README for the one-line installer):

moai version

Existing users:

moai update
moai version

Migrating from Python Version (v1.x):

  1. Uninstall Python version: uv tool uninstall moai-adk
  2. Install Go Edition (follow README instructions)
  3. Update project templates: moai init

Related PRs: #672 (main), #673 (follow-up), #674 (release finalize)
Related Issues: #671


v2.12.0 — Claude Code v2.1.110/111 + Opus 4.7 호환성 (2026-04-17)

요약

Claude Code v2.1.110/111 및 Claude Opus 4.7(claude-opus-4-7) 호환성 레이어(SPEC-OPUS47-COMPAT-001 + 후속 정리). 5단계 Effort 시스템, Opus 4.7 프롬프트 철학 5원칙(moai-constitution.md 명문화), v2.1.110 런타임 핸들러, ApplyEffortPolicy 프로덕션 연결을 제공합니다. Opus 4.6 / Sonnet 4.6 / Haiku 4.5와 완전 하위 호환.

주요 변경 사항 (Breaking Changes)

없음. agentModelMap [3]string 시그니처 불변(NFR-1). effort는 opt-in으로 미설정 에이전트는 런타임 기본값 사용. 기존 Opus 4.6 사용자 프로파일은 유지(강제 마이그레이션 없음).

추가됨 (Added)

Effort 시스템

  • ProfilePreferences.EffortLevel YAML 필드 + syscall.Exec 시점에 CLAUDE_CODE_EFFORT_LEVEL 환경변수 주입
  • EffortLevel{Low,Medium,High,XHigh,Max} 5단계 상수
  • ModelIDOpus47 = "claude-opus-4-7" 상수
  • 6개 추론 집약 에이전트 명시적 override (manager-spec/strategy → xhigh, plan-auditor/evaluator-active/expert-security/expert-refactoring → high)
  • GetAgentEffort(agentName) 신규 함수
  • ApplyEffortPolicy(projectRoot, manifestMgr)moai init/moai update가 호출; agent .md frontmatter에 effort 주입, 기존 사용자 커스텀 effort: 값 보존, manifest 해시 갱신

Profile 설정 UI

  • claude-opus-4-7 모델 선택지 + 5단계 effort 선택기(한/영/일/중 4개 언어)

런타임 핸들러(v2.1.110+)

  • moai doctorcheckMCPScopeDuplicates — 프로젝트 .mcp.json과 전역 ~/.claude/.mcp.json 충돌 감지 (warning, exit 0)
  • PermissionRequest 훅이 __updated_input_marker__ sentinel 포함 시 deny (updatedInput 재검증)
  • Windows 전용 injectCLAUDEEnvFile (SessionStart) — .env 존재 시 settings.local.jsonCLAUDE_ENV_FILE 경로 주입; macOS/Linux 기존 경로 영향 없음 (R-P1-1 회귀 검증 완료)
  • settings.json 템플릿에 disableBypassPermissionsMode: false 필드

규칙 및 문서

  • moai-constitution.md — "Opus 4.7 Prompt Philosophy" 섹션 신설 (5원칙)
  • agent-authoring.md — "Bash Tool Timeout Ceiling" 섹션 신설 (600,000ms)
  • worktree-integration.md — 최소 버전 표에 v2.1.110/111 추가, 권장 2.1.111+
  • skill-authoring.mdeffort 필드를 low/medium/high/xhigh/max로 확장
  • CLAUDE.md §12 — UltraThink vs Adaptive Thinking vs --deepthink 구분 명확화
  • moai-workflow-thinking/SKILL.md — Adaptive Thinking 재정의, 고정 thinking.budget_tokens 지시 제거 (Opus 4.7은 고정 예산 시 HTTP 400)
  • CLAUDE.local.mdsettings.local.json 런타임 관리 원칙 + OTEL_LOG_RAW_API_BODIES 프로덕션 경고

테스트 (후속 정리 — PR #673)

  • internal/hook 커버리지 77.7% → 85.0% (12개 신규 table-driven 테스트)
  • R-P1-1 Handle 레벨 Windows 가드 회귀 테스트
  • internal/cli 커버리지 73.6% → 75.1% (부분 개선; 85% 완전 달성은 별도 SPEC으로 연기)

변경됨 (Changed)

  • llm.yaml 템플릿: claude_models.high 계층을 "opus""claude-opus-4-7"로 갱신 — 신규 프로젝트에서 high 정책이 Opus 4.7 사용

수정됨 (Fixed)

  • GetAgentEffort에 프로덕션 호출자(ApplyEffortPolicy) 추가 — Phase 2.5 manager-quality 리뷰가 지적한 W-5 dead-code 경고 해소

설치 및 업데이트 (Installation & Update)

신규 설치 (자세한 설치 방법은 프로젝트 README 참조):

moai version

기존 사용자:

moai update
moai version

Python 버전(v1.x)에서 마이그레이션:

  1. Python 버전 제거: uv tool uninstall moai-adk
  2. Go 에디션 설치 (README 참조)
  3. 프로젝트 템플릿 업데이트: moai init

관련 PR: #672 (메인), #673 (후속 정리), #674 (릴리즈 finalize)
관련 이슈: #671