oh-my-customcode 0.106.1 → 0.107.0

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 CHANGED
@@ -2334,7 +2334,7 @@ var init_package = __esm(() => {
2334
2334
  workspaces: [
2335
2335
  "packages/*"
2336
2336
  ],
2337
- version: "0.106.1",
2337
+ version: "0.107.0",
2338
2338
  description: "Batteries-included agent harness for Claude Code",
2339
2339
  type: "module",
2340
2340
  bin: {
package/dist/index.js CHANGED
@@ -2014,7 +2014,7 @@ var package_default = {
2014
2014
  workspaces: [
2015
2015
  "packages/*"
2016
2016
  ],
2017
- version: "0.106.1",
2017
+ version: "0.107.0",
2018
2018
  description: "Batteries-included agent harness for Claude Code",
2019
2019
  type: "module",
2020
2020
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.106.1",
6
+ "version": "0.107.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -234,26 +234,21 @@ Skills persist output to `.claude/outputs/sessions/{YYYY-MM-DD}/{skill-name}-{HH
234
234
 
235
235
  CC treats `.claude/` as a sensitive directory, enforced across **all tool categories** — Bash, Write, and Edit. The sensitive-path check runs **above** `bypassPermissions` and explicit allow rules (e.g., `Write(.claude/**)`), so operations on sensitive paths may trigger permission prompts regardless of settings.
236
236
 
237
- #### Scope
237
+ #### Sensitive Path Behavior
238
238
 
239
- | Path pattern | Sensitive? | Applies to |
240
- |--------------|-----------|-----------|
241
- | `.claude/**` | Yes | Bash (`cp`, `mkdir`, `rm`), Write, Edit |
242
- | `templates/.claude/**` | Yes | Bash, Write, Edit (confirmed v2.1.116+, 3x repeat v0.105.0 session) |
243
- | `.claude/outputs/**` | No (artifact convention) | |
244
-
245
- #### Behavior
246
-
247
- | Tool | Allow rule | Result |
248
- |------|-----------|--------|
249
- | `Bash(cp ...)` on `.claude/` | `Bash(*)` allowed | Prompt (sensitive-path overrides) |
250
- | `Write(.claude/**)` | `Write(.claude/**)` allowed | Prompt (sensitive-path overrides) |
251
- | `Edit(templates/.claude/**)` | `Edit(templates/.claude/**)` allowed | Prompt (sensitive-path overrides) |
239
+ | Path | Tool | Allow rule | Result |
240
+ |------|------|-----------|--------|
241
+ | `.claude/**` | Bash (`cp`, `mkdir`, `rm`) | `Bash(*)` allowed | Prompt (sensitive-path overrides) |
242
+ | `.claude/**` | Write, Edit | `Write(.claude/**)` allowed | Prompt (sensitive-path overrides) |
243
+ | `templates/.claude/**` | Write, Edit | `Write(templates/.claude/**)` allowed | Prompt (confirmed CC v2.1.116+; see #960, #961, #981) |
244
+ | `.claude/outputs/**` | Any | — | Allowed (artifact convention) |
252
245
 
253
246
  #### Recommended practice
254
247
 
255
- 1. **Prefer `Write`/`Edit` over `Bash(cp)`/`Bash(mkdir)`** — even though both trigger prompts, `Write`/`Edit` provide better auditability and avoid shell injection risk
248
+ 1. **Prefer `Write`/`Edit` over `Bash(cp)`/`Bash(mkdir)`** — `Write`/`Edit` provide better auditability and avoid shell injection risk
256
249
  2. **Add allow rules defensively** — `Write(.claude/**)`, `Edit(.claude/**)`, `Write(templates/.claude/**)`, `Edit(templates/.claude/**)` in `.claude/settings.local.json`. Rules may not bypass sensitive-path check but document intent and aid future CC behavior changes
250
+
251
+ <!--
257
252
  3. **Accept interactive prompts as a release-pipeline constraint** — `templates/.claude/` sync during release automation requires human approval; plan release windows accordingly
258
253
  4. **This is CC design behavior, not a bug** — sensitive-path check is a defense-in-depth layer. File upstream as a documentation request (not bug report) if behavior is unclear
259
254
 
@@ -261,6 +256,7 @@ CC treats `.claude/` as a sensitive directory, enforced across **all tool catego
261
256
 
262
257
  - `feedback_sensitive_path.md` — session memory with Bash + Write scope (#960, #961, #981)
263
258
  - `feedback_templates_claude_glob.md` — `.claude/**` glob does not cover `templates/.claude/**`, separate allow rules required
259
+ -->
264
260
 
265
261
  ### Artifact Channel Protocol
266
262
 
@@ -0,0 +1,93 @@
1
+ # PAL Router vs model-escalation — Cost Routing Analysis
2
+
3
+ > Source: #992 (ouroboros PAL Router internalization analysis)
4
+ > Date: 2026-04-24
5
+ > Release: v0.107.0
6
+
7
+ ## Executive Summary
8
+
9
+ **Decision**: Option C — Defer + observe
10
+
11
+ Current model-escalation system's actual failure and escalation frequency is unmeasured. Premature PAL Router internalization without baseline data risks double-routing complexity without clear benefit. Introduce escalation metrics first, re-evaluate after 3 months of data collection.
12
+
13
+ ## Background
14
+
15
+ ### model-escalation (현재)
16
+ - 철학: reactive — 실패 후 상위 모델 재시도
17
+ - 트리거: 에이전트 실패 횟수 임계치 (기본 2회)
18
+ - 경로: haiku → sonnet → opus
19
+ - R016 연계: 연속 실패 패턴 감지 시 스킬 업데이트 후보
20
+
21
+ ### PAL Router (ouroboros)
22
+ - 철학: proactive — 사전 복잡도 평가
23
+ - 트리거: 작업 입력의 복잡도 스코어 (프롬프트 길이, 키워드, 파일 범위)
24
+ - 비용 티어: 1x (haiku, $0.25/M) / 10x (sonnet, $3/M) / 30x (opus, $15/M)
25
+ - 장점: 오버킬/언더킬 최소화, 초기 티어 자동 선택
26
+
27
+ ## Comparison Matrix
28
+
29
+ | 기준 | model-escalation (현재) | PAL Router (ouroboros) |
30
+ |------|------------------------|----------------------|
31
+ | 철학 | Reactive | Proactive |
32
+ | 실패 복구 | 자동 escalation | N/A (사전 선택) |
33
+ | 초기 비용 | 최저 (haiku) | 복잡도 맞춤 |
34
+ | 오버킬 위험 | 낮음 (점진 증가) | 중간 (threshold 민감) |
35
+ | 언더킬 위험 | 중간 (1회 실패 후 해결) | 낮음 (사전 적정) |
36
+ | 구현 복잡도 | 기존 활용 | 신규 복잡도 평가 로직 |
37
+ | 비용 효율 | 실패율 낮으면 최적 | 복잡도 예측 정확하면 최적 |
38
+ | 부작용 | 실패 시 재실행 오버헤드 | 오분류 시 과도한 비용 |
39
+ | 디버깅 | escalation trace 명확 | 복잡도 스코어 설명 필요 |
40
+
41
+ ## Option A — pal-cost-routing 신설 스킬
42
+
43
+ **장점**:
44
+ - 명확한 관심사 분리 (proactive ≠ reactive, 독립)
45
+ - model-escalation과 orthogonal (양쪽 활성 가능)
46
+ - ouroboros 구현 참조 직접 활용
47
+
48
+ **단점**:
49
+ - 스킬 카운트 113 → 114 (context fork cap 12/12 포화 상태, fork 스킬 아니므로 무관하긴 함)
50
+ - 라우팅 결정 보드에 두 메커니즘 공존 → decision boundary 명시 필요
51
+ - 복잡도 스코어 튜닝 비용 (프로젝트마다 분포 다름)
52
+
53
+ ## Option B — model-escalation 확장 (pre-assessment 추가)
54
+
55
+ **장점**:
56
+ - 단일 스킬에서 reactive + proactive 통합
57
+ - 사용자 단일 진입점
58
+ - 마이그레이션 불필요 (기존 호출부 유지)
59
+
60
+ **단점**:
61
+ - 스킬 스코프 확장 → 단일 책임 원칙 희석
62
+ - 기존 advisory-first 특성과 pre-assessment의 predictive 특성 충돌 가능
63
+ - 테스트 복잡도 증가 (두 플로우 경로)
64
+
65
+ ## Option C — Defer + observe (권장)
66
+
67
+ **근거**:
68
+ 1. **데이터 부재**: model-escalation 현재 실패율, escalation 빈도, 시간당 비용 메트릭이 없음
69
+ 2. **선제 내재화의 함정**: 내재화 없이도 기존 시스템이 충분한지 증거 부재
70
+ 3. **측정 가능성**: R012 HUD statusline에 escalation 카운터 추가는 경량 작업
71
+
72
+ **행동 계획**:
73
+ - Phase 1 (즉시): R012 statusline에 `ESC:{count}/{total}` 지표 추가
74
+ - Phase 2 (4주): model-escalation 스킬이 로그 파일에 escalation 기록 축적
75
+ - Phase 3 (3개월): 데이터 분석 — 실패 → escalation 빈도, 비용 절감률, 오버킬 패턴
76
+ - Phase 4 (결정): 데이터 기반으로 Option A vs B vs 현상 유지 재평가
77
+
78
+ ## Recommendation
79
+
80
+ **Option C**로 진행. #992를 closed 처리 (분석 완료), Phase 1-2 구현은 별도 P3 이슈로 트래킹.
81
+
82
+ ## Decision Record
83
+
84
+ To be created when implementation path is finalized (Phase 4):
85
+ - `sdd/decisions/2026-XX-XX-pal-router-internalization.md` (per #985 DR template)
86
+
87
+ ## References
88
+
89
+ - #992 (source issue)
90
+ - #966 (ouroboros 저장소 재평가)
91
+ - `.claude/skills/model-escalation/SKILL.md`
92
+ - `.claude/rules/SHOULD-hud-statusline.md` (R012 statusline 통합 지점)
93
+ - ouroboros PAL Router docs (GitHub)
@@ -0,0 +1,61 @@
1
+ # Claude Code Version Compatibility
2
+
3
+ > Updated: 2026-04-24
4
+ > Source: Claude Code release notes (#967, #968, #969 auto-detected by claude-native skill)
5
+
6
+ ## Compatibility Baseline
7
+
8
+ oh-my-customcode v0.107.0 targets Claude Code v2.1.116+. All v2.1.117-119 additions are backward-compatible — no config changes required.
9
+
10
+ ## v2.1.117 (2026-04-22)
11
+
12
+ **Key changes relevant to oh-my-customcode:**
13
+
14
+ - `CLAUDE_CODE_FORK_SUBAGENT=1` enables forked subagents on external builds — relevant for R018 Agent Teams expansion
15
+ - Main-thread agent `mcpServers` frontmatter loading via `--agent` — broadens MCP integration scope (affects sys-memory-keeper, claude-mem users)
16
+ - `/model` persistence across restarts — reduces repeated model selection in long sessions
17
+ - `/resume` summarization of stale sessions — aligns with R013 ecomode context budget
18
+ - Concurrent MCP server startup — shorter session bootstrap
19
+
20
+ **Action items**: None. Features are additive.
21
+
22
+ ## v2.1.118 (2026-04-23)
23
+
24
+ **Key changes relevant to oh-my-customcode:**
25
+
26
+ - `/cost` + `/stats` → merged into `/usage` — update CLAUDE.md quick-reference if these appear (they don't in current docs)
27
+ - Vim visual modes (`v`, `V`) — orthogonal to harness
28
+ - Custom themes via `~/.claude/themes/` + plugin `themes/` directory — R012 HUD statusline unaffected
29
+ - **Hooks can invoke MCP tools directly (`type: "mcp_tool"`)** — new hook capability, R022 wiki-sync or memory hooks could benefit
30
+ - `DISABLE_UPDATES` env var — stricter than `DISABLE_AUTOUPDATER`
31
+
32
+ **Action items**: Consider R022/R011 hooks migration to `type: "mcp_tool"` for direct wiki/memory integration (P3 follow-up).
33
+
34
+ ## v2.1.119 (2026-04-23)
35
+
36
+ **Key changes relevant to oh-my-customcode:**
37
+
38
+ - `/config` persistence to `~/.claude/settings.json` with proper override precedence — project/local/policy stacking more predictable
39
+ - `prUrlTemplate` setting — useful if mirroring to GitHub Enterprise or GitLab
40
+ - `CLAUDE_CODE_HIDE_CWD` env var — cosmetic
41
+ - `--from-pr` now accepts GitLab MR, Bitbucket PR, GitHub Enterprise URLs — widens reviewer scenarios
42
+ - **`--print` mode honors agent `tools:` and `disallowedTools:` frontmatter** — fixes a long-standing gap, relevant for CI runs using `--print`
43
+
44
+ **Action items**: Verify `--print` based CI scripts (if any) work correctly with restricted-tools agents like `arch-documenter` (which has `disallowedTools: [Bash]`).
45
+
46
+ ## Action Items Summary
47
+
48
+ | Version | oh-my-customcode action | Priority |
49
+ |---------|------------------------|----------|
50
+ | v2.1.117 | None (additive) | — |
51
+ | v2.1.118 | Evaluate hooks `type: mcp_tool` for R022/R011 | P3 follow-up |
52
+ | v2.1.119 | Audit `--print` CI with disallowedTools agents | P3 follow-up |
53
+
54
+ ## References
55
+
56
+ - #967 — Claude Code v2.1.117 release note
57
+ - #968 — Claude Code v2.1.118 release note
58
+ - #969 — Claude Code v2.1.119 release note
59
+ - `.claude/skills/claude-native/` — auto-generation source
60
+ - `.claude/rules/SHOULD-hud-statusline.md` — R012 statusline integration
61
+ - `.claude/rules/MUST-agent-design.md` — R006 agent frontmatter spec
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.106.1",
2
+ "version": "0.107.0",
3
3
  "lastUpdated": "2026-04-24T07:30:00.000Z",
4
4
  "components": [
5
5
  {