oh-my-customcode 1.1.5 → 1.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/rules/MUST-agent-design.md +4 -0
- package/templates/.claude/rules/MUST-completion-verification.md +16 -0
- package/templates/.claude/rules/MUST-orchestrator-coordination.md +10 -0
- package/templates/.claude/rules/MUST-permissions.md +2 -0
- package/templates/manifest.json +1 -1
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -35,6 +35,8 @@ Extended context suffix: `[1m]` (e.g., `claude-opus-4-6[1m]`) — enables 1M tok
|
|
|
35
35
|
|
|
36
36
|
> **v2.1.197+**: Claude Sonnet 5가 Claude Code의 **기본 모델**로 도입되었습니다 — 네이티브 1M-token 컨텍스트, 프로모션 가격 $2/$10 per Mtok(2026-08-31까지). `model: sonnet5` / `claude-sonnet-5`로 사용. oh-my-customcode의 base `sonnet` alias는 안정성을 위해 `claude-sonnet-4-6`에 고정 유지(기존 `sonnet` 지정 에이전트 불변); Sonnet 5는 `sonnet5`로 명시 opt-in. Sonnet 5가 CC 신규 기본값이므로 명시 모델 없는 세션은 이제 Sonnet 5에서 동작합니다.
|
|
37
37
|
|
|
38
|
+
> **v2.1.201+**: Claude Sonnet 5 세션이 harness reminder를 mid-conversation system role로 주입하지 않도록 변경되었습니다 — Sonnet 5 실행 시 하니스 리마인더(규칙 재주입 등) 전달 방식이 조정되었으며, PostCompact 규칙 재주입(R021)·세션 연속성 동작 자체에는 영향이 없습니다. Sonnet 5가 CC 기본 모델(v2.1.197+)이므로 명시 모델 없는 세션에 적용됩니다.
|
|
39
|
+
|
|
38
40
|
> **Fable 5 Effort 전략**: Fable 5는 **high effort가 기본값**이며, `xhigh`는 capability-sensitive 작업(최고난도 아키텍처/추론)에 한정해야 합니다. Fable 5의 `low`/`medium` effort조차 이전 세대 모델의 `xhigh`를 상회하는 품질을 보이므로, Fable 5를 사용하는 실행 에이전트는 `effort` 필드를 신중히 명시하고 불필요한 `xhigh` 남용을 지양합니다(R005 비용/지연 인식과 정합).
|
|
39
41
|
|
|
40
42
|
> **Mythos 5 (`claude-mythos-5`)**: Project Glasswing 한정 공급 모델로, **GA가 아닙니다** — Fable 5(GA, 위 Model Aliases 표의 `fable`)와 구분해야 합니다. 특성: adaptive-thinking 전용 아키텍처 + 안전 분류기가 개입 시 `stop_reason: "refusal"`로 fallback하는 체계를 가집니다. oh-my-customcode 에이전트 frontmatter에는 아직 alias를 등록하지 않습니다(비-GA, 공급 제한).
|
|
@@ -225,6 +227,8 @@ CC defaults `mode` to `acceptEdits` if not specified — always pass `mode: "byp
|
|
|
225
227
|
| `dontAsk` | Non-interactive, deny unapproved |
|
|
226
228
|
| `auto` | AI decides safety |
|
|
227
229
|
|
|
230
|
+
> **v2.1.200+**: `default` 모드가 CLI·`--help`·VS Code·JetBrains에서 "Manual"로 표기됩니다 — `--permission-mode manual` / `"defaultMode": "manual"`이 `default`와 병행 허용(동일 동작). 위 표의 `default` row는 그대로 유효하며 UI 라벨만 "Manual"로 노출됩니다. cross-ref R002.
|
|
231
|
+
|
|
228
232
|
<!-- DETAIL: Permission Mode Guidance (reasoning)
|
|
229
233
|
When spawning agents via the Agent tool, CC applies a default `mode` of `acceptEdits` if not explicitly specified. To maintain consistent permission behavior:
|
|
230
234
|
|
|
@@ -71,8 +71,24 @@ Subagents often report failures as "pre-existing", "baseline", or "unchanged". T
|
|
|
71
71
|
Never accept "pre-existing" without direct base-branch evidence. A false "pre-existing" claim can mask a regression introduced by the current change.
|
|
72
72
|
-->
|
|
73
73
|
|
|
74
|
+
### Verification-Delegation Non-Termination (검증 위임 판정 종료 보장)
|
|
75
|
+
|
|
76
|
+
구조 검증(mgr-sauron R017)·판정·품질 게이트를 서브에이전트에 위임할 때, 위임 프롬프트에 **"최종 PASS/FAIL 판정 없이 turn을 종료하지 말라"**를 명시해야 한다. 이를 누락하면 검증 에이전트가 판정 직전(예: source-hash 대조 중)에서 turn을 종료해, 오케스트레이터가 판정 없는 불완전 보고를 받는다.
|
|
77
|
+
|
|
78
|
+
mid-step 종료가 발생하면 판정을 그대로 신뢰하지 말고(R020 Core Rule) SendMessage로 해당 에이전트를 resume하여 최종 판정을 받는다.
|
|
79
|
+
|
|
80
|
+
| Anti-pattern | Required |
|
|
81
|
+
|--------------|----------|
|
|
82
|
+
| 검증/판정 위임 프롬프트에 종료 조건 미명시 → 판정 없이 mid-step 종료 | 위임 프롬프트에 "판정 없이 turn 종료 금지" 명시 + mid-step 종료 시 SendMessage resume |
|
|
83
|
+
|
|
84
|
+
Origin: #1443 (Session 126 회고 찐빠 #1) — v1.1.3 R017 검증에서 mgr-sauron이 source-hash 대조 중 판정 없이 종료 → resume 후 PASS. v1.1.4에서 "판정 반드시 출력" 명시로 1회 완료(대조 실증).
|
|
85
|
+
|
|
86
|
+
Cross-reference: R018 (Member Completion Verification), `feedback_release_delegation_phasing` (release delegation phasing을 verification 위임에도 확장).
|
|
87
|
+
|
|
74
88
|
> **v2.1.199+**: subagent가 API 오류(usage limit reached 등)를 성공 결과로 오보하던 문제가 수정되어 이제 오류가 parent agent에 정확히 보고됩니다. 플랫폼 수정으로 false-success 자가보고 빈도는 줄지만, "actual outcome ≠ attempt" ground-truth 검증 원칙(R020 Core Rule)은 여전히 유지된다 — subagent 보고를 그대로 신뢰하지 말고 `git status`/`grep`/validation script로 재확인한다.
|
|
75
89
|
|
|
90
|
+
> **v2.1.200+**: rate limit으로 어떤 텍스트 출력도 내기 전에 잘린 subagent가 이전에는 빈 결과(empty result)를 반환하던 것을 clean failure로 반환하도록 수정되었습니다 — v2.1.199 partial-work 반환에 이어, 출력 이전 rate-limit 차단 시 조용한 빈 결과 대신 명시적 실패를 parent에 보고합니다. 플랫폼이 false-success/silent-empty 자가보고를 추가로 줄였으나, "actual outcome ≠ attempt" ground-truth 검증 원칙(R020 Core Rule)은 여전히 유지됩니다 — subagent 보고를 그대로 신뢰하지 말고 git status/grep/validation script로 재확인합니다.
|
|
91
|
+
|
|
76
92
|
## Common False Completion Patterns — 8 anti-patterns including "Command executed" without exit code check, "Waiting for manual publish" when CI auto-publishes, "UI changes done" without browser render. See full table via Read tool.
|
|
77
93
|
|
|
78
94
|
### Test-Skip Is Not Completion (#1217 item #5)
|
|
@@ -341,6 +341,8 @@ Before spawning any agent:
|
|
|
341
341
|
|
|
342
342
|
> **v2.1.199+**: subagent가 rate limit이나 server error로 잘리면 이제 조용히 실패하는 대신 partial work를 parent에 반환합니다. background-agent daemon(Linux)이 unclean shutdown 후 corrupted worker record로 ~50초마다 자신과 모든 agent를 죽이던 문제, macOS SSH cold-start "Could not switch to audit session" 문제, `claude stop`이 background-agent respawn과 race하면 조용히 무효화되던 문제(이제 respawn이 stop을 존중), background job progress indicator가 긴 명령 중 멈춰있던 문제가 수정되었습니다. background-agent lifecycle 견고성이 추가로 강화되었으며, `mode: "bypassPermissions"`는 여전히 필수입니다.
|
|
343
343
|
|
|
344
|
+
> **v2.1.200+**: 백그라운드 세션/에이전트 견고성이 추가로 강화되었습니다 — sleep/wake 후 또는 stalled 세션 재개 시 mid-turn으로 조용히 멈추던 문제, stall respawn 후 Esc로 취소한 turn을 재실행하던 문제, 크래시가 남긴 stale `daemon.lock`(OS가 PID를 재사용)으로 백그라운드 에이전트가 다시 시작되지 않던 문제, 재설치된 구버전 빌드가 daemon을 탈취하던 문제(빌드 최신성은 이제 버전의 embedded build timestamp로 판정), 그리고 roster 일시 corruption이 orphan cleanup을 영구 비활성화하던 문제·구버전 바이너리가 신버전이 기록한 필드를 보존하지 못하던 문제·daemon 재시작 중 socket auth token이 제거되던 문제를 수정했습니다. v2.1.195~199 백그라운드-에이전트 lifecycle 견고성 체인의 연장입니다. `mode: "bypassPermissions"`는 모든 Agent tool 호출에 여전히 필수입니다.
|
|
345
|
+
|
|
344
346
|
## Agent Capability Pre-Check
|
|
345
347
|
|
|
346
348
|
Before delegating a task to a subagent, MUST verify the target agent's tool capabilities against the task requirements. Failure to pre-check causes round-trip waste (delegation → failure → re-delegation).
|
|
@@ -365,6 +367,14 @@ Before delegating a task to a subagent, MUST verify the target agent's tool capa
|
|
|
365
367
|
>
|
|
366
368
|
> Origin: #1287 (v0.164.0 세션 회고 찐빠 #1).
|
|
367
369
|
|
|
370
|
+
> **New-File Count-Impact Pre-Check (#1443)**: 신규 파일 추가를 서브에이전트에 위임하기 전, 그 파일이 **새 최상위 토픽/엔티티 디렉토리**(카운트 증가)인지 **기존 디렉토리 내부 문서**(카운트 불변)인지 사전 판별해야 한다. 사전 판별 없이 "카운트 N→N+1 동기화"로 위임하면 잘못된 전제가 서브에이전트에 전파된다. `find <dir> -mindepth 1 -maxdepth 1 -type d | wc -l` 등으로 토픽 디렉토리 실측하고, 카운트 위임 프롬프트에는 항상 "실측값 기준으로 동기화하라, 추측으로 숫자를 바꾸지 말라"를 명시해 잘못된 전제를 서브에이전트가 정정할 여지를 확보한다.
|
|
371
|
+
>
|
|
372
|
+
> | Anti-pattern | Required |
|
|
373
|
+
> |--------------|----------|
|
|
374
|
+
> | 신규 파일이 기존 디렉토리 내 문서인데 "카운트 N→N+1"로 위임 | 위임 전 토픽 디렉토리 vs 문서 판별; 문서면 카운트 불변 전달 + "실측값 기준" 방어선 명시 |
|
|
375
|
+
>
|
|
376
|
+
> Origin: #1443 (Session 126 회고 찐빠 #2) — `guides/claude-code/16-fable5-prompting.md`(기존 토픽 내부 문서)를 "guides 57→58"로 위임했으나 57 유지가 정답; "실측값 기준" 방어선이 mgr-updater 정정을 유도(R020 Diagnostic Hypothesis Verification). Cross-reference: R020 (Diagnostic Hypothesis Verification), Multi-copy content consistency(#1287).
|
|
377
|
+
|
|
368
378
|
### Known Limitations (Active Cache)
|
|
369
379
|
|
|
370
380
|
| Agent | Limitation | Workaround |
|
|
@@ -61,6 +61,8 @@ Use a `"*"` deny rule in `settings.json` to enforce a deny-by-default posture, t
|
|
|
61
61
|
|
|
62
62
|
> **v2.1.196+**: 조직 기본 모델(org default models)이 추가되어 관리자가 org 콘솔에서 설정하며, 사용자가 직접 고르지 않으면 `/model`에 "Org default"(또는 "Role default")로 표시됩니다 — v2.1.187 org model restriction 범위를 기본 모델 해석까지 확장(cross-ref R006). 보안: `claude mcp list`/`get`이 self-approved `.mcp.json` 서버를 spawn하지 않고 신뢰되지 않은 워크스페이스는 `⏸ Pending approval` 표시(Tier-6, cross-ref R001). 또한 `claude agents --dangerously-skip-permissions`가 조용히 auto mode로 폴백하던 문제를 수정 — 이제 bypass 고지를 표시하고 spawned agent에도 bypass 모드를 적용합니다(R010 Universal bypassPermissions와 정합).
|
|
63
63
|
|
|
64
|
+
> **v2.1.200+**: `default` permission mode가 CLI·`--help`·VS Code·JetBrains 전반에서 "Manual"로 표기되도록 변경되었습니다 — `--permission-mode manual`과 `"defaultMode": "manual"`이 기존 `default`와 병행 허용됩니다(동일 동작, 라벨만 변경). 위 tier 표의 `default` 모드는 그대로 유효하며 UI 표기만 "Manual"로 노출됩니다(cross-ref R006 Permission Mode Guidance). 또한 `AskUserQuestion` 다이얼로그가 기본적으로 auto-continue하지 않도록 변경되어(이전에는 idle 시 자동 진행), idle timeout은 `/config`로 opt-in해야 합니다 — **자율/비대화 흐름(FSD 등)에서 AskUserQuestion 호출은 이제 사용자 응답까지 블록되므로, 무인 실행 중 질문 도구 사용을 지양하고 best-judgment로 진행하는 R015 directive persistence와 정합**. 그리고 `.claude.json`의 `disabledMcpServers`/`enabledMcpServers`가 non-array 값일 때 발생하던 시작 크래시가 수정되었습니다(Tier-6 MCP).
|
|
65
|
+
|
|
64
66
|
## Agent Tool Permission Mode
|
|
65
67
|
|
|
66
68
|
When spawning subagents via the Agent tool, always pass `mode: "bypassPermissions"` explicitly. The Agent tool's default mode is `acceptEdits`, which **overrides** the agent frontmatter `permissionMode` field.
|
package/templates/manifest.json
CHANGED