oh-my-customcode 0.105.0 → 0.106.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/README.md CHANGED
@@ -222,7 +222,7 @@ Key rules: R010 (orchestrator never writes files), R009 (parallel execution mand
222
222
 
223
223
  ---
224
224
 
225
- ### Guides (42)
225
+ ### Guides (43)
226
226
 
227
227
  Reference documentation covering best practices, architecture decisions, and integration patterns. Located in `guides/` at project root, covering topics from agent design to CI/CD to observability.
228
228
 
@@ -279,7 +279,7 @@ your-project/
279
279
  │ ├── specs/ # Extracted canonical specs
280
280
  │ ├── contexts/ # 4 shared context files
281
281
  │ └── ontology/ # Knowledge graph for RAG
282
- └── guides/ # 42 reference documents
282
+ └── guides/ # 43 reference documents
283
283
  ```
284
284
 
285
285
  ---
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.105.0",
2337
+ version: "0.106.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.105.0",
2017
+ version: "0.106.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.105.0",
6
+ "version": "0.106.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -232,7 +232,35 @@ Skills persist output to `.claude/outputs/sessions/{YYYY-MM-DD}/{skill-name}-{HH
232
232
 
233
233
  ### Sensitive Path Handling
234
234
 
235
- CC treats `.claude/` as a sensitive directory. The sensitive-path check runs **above** `bypassPermissions` and `Bash(*)` allow rules, so Bash-based file operations (`cp`, `mkdir`) on `.claude/` paths trigger permission prompts regardless of settings. Subagents and skills that modify `.claude/` files SHOULD prefer `Write`/`Edit` tools over `Bash(cp)`/`Bash(mkdir)`, and projects SHOULD add `Write(.claude/**)` and `Edit(.claude/**)` to `.claude/settings.local.json` allow list.
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
+
237
+ #### Scope
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) |
252
+
253
+ #### Recommended practice
254
+
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
256
+ 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
257
+ 3. **Accept interactive prompts as a release-pipeline constraint** — `templates/.claude/` sync during release automation requires human approval; plan release windows accordingly
258
+ 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
+
260
+ #### Cross-references
261
+
262
+ - `feedback_sensitive_path.md` — session memory with Bash + Write scope (#960, #961, #981)
263
+ - `feedback_templates_claude_glob.md` — `.claude/**` glob does not cover `templates/.claude/**`, separate allow rules required
236
264
 
237
265
  ### Artifact Channel Protocol
238
266
 
@@ -103,7 +103,7 @@ oh-my-customcode로 구동됩니다.
103
103
  | 릴리즈 | `/pipeline auto-dev`, `/omcustom-release-notes`, `/release-plan` | 자동 개발, 릴리즈 노트 |
104
104
  | 리서치 | `/research`, `/scout`, `/deep-plan`, `/omcustom:agora` | 병렬 분석, URL 평가, 연구 계획 |
105
105
  | 메모리 | `/memory-save`, `/memory-recall` | 세션 메모리 관리 |
106
- | 최적화 | `/token-efficiency-audit` | 토큰 효율 감사 (3계층 방어 스택) |
106
+ | 최적화 | `/token-efficiency-audit` | 토큰 효율 감사 (5계층 방어 스택) |
107
107
  | 시스템 | `/omcustom:lists`, `/omcustom:status`, `/omcustom:help` | 전체 목록, 상태, 도움말 |
108
108
 
109
109
  > 전체 커맨드 목록 (60+ 커맨드): `/omcustom:lists` 실행
@@ -119,7 +119,7 @@ project/
119
119
  | +-- rules/ # 전역 규칙 (R000-R022)
120
120
  | +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
121
121
  | +-- contexts/ # 컨텍스트 파일 (ecomode)
122
- +-- guides/ # 레퍼런스 문서 (42 토픽)
122
+ +-- guides/ # 레퍼런스 문서 (43 토픽)
123
123
  ```
124
124
 
125
125
  ## 오케스트레이션
@@ -236,6 +236,7 @@ Claude Code의 Agent Teams 기능이 활성화되어 있으면 (`CLAUDE_CODE_EXP
236
236
  | 플러그인 | 소스 | 용도 |
237
237
  |----------|------|------|
238
238
  | cc-token-saver | ww-w-ai/cc-token-saver | 토큰/비용 최적화 (Token Guardian, /continue, /usage-view) |
239
+ | caveman | JuliusBrussee/caveman | 영어 출력 토큰 압축 (코드 리뷰·커밋 메시지). R013 ecomode 미적용 구간 보완. 한국어 컨텍스트(R000)에는 ecomode 우선. `lite`/`full` 권장, `ultra`/`文言文` 가독성 저하 주의 |
239
240
 
240
241
  ### 권장 MCP 서버
241
242
 
@@ -0,0 +1,32 @@
1
+ # Ralph Loop Pattern — 세션 경계 지속 진화
2
+
3
+ > 출처: Q00/ouroboros Ralph Loop 패턴 (INTEGRATE #966)
4
+ > 도입일: v0.106.0
5
+
6
+ ## Context
7
+
8
+ LLM 에이전트는 세션 종료 시 누적된 맥락(tacit knowledge, 실패 교훈, 선호 패턴)을 잃는다. Ralph Loop는 세션 간 경계를 넘는 지속 진화 메커니즘으로, 각 세션의 실패/성공 sticky patterns를 다음 세션의 초기 컨텍스트로 주입한다.
9
+
10
+ ## Claude Code 통합
11
+
12
+ - **claude-mem MCP**: feedback memories + session archives를 영속 저장소로
13
+ - **sys-memory-keeper 에이전트**: 세션 종료 시 Ralph Loop 요약 수행
14
+ - **R011 Memory Integration**: native auto-memory를 Ralph Loop의 primary writer로
15
+
16
+ ## Pattern
17
+
18
+ 1. **Bootstrap**: 세션 시작 시 MEMORY.md에서 이전 Ralph Loop 요약 로드
19
+ 2. **Evolve**: 세션 진행 중 발견한 새 패턴/실패를 feedback memory에 기록
20
+ 3. **Compact**: 세션 종료 시 sys-memory-keeper가 Ralph Loop 요약을 MEMORY.md 업데이트
21
+ 4. **Persist**: claude-mem MCP에 long-term save (cross-session search)
22
+
23
+ ## Anti-patterns
24
+
25
+ - 세션마다 처음부터 다시 시작하는 sessionless 모드 (R011 native memory 사용)
26
+ - 모든 세션 로그를 저장하는 brute-force persistence (selective feedback만)
27
+
28
+ ## References
29
+
30
+ - R011 SHOULD-memory-integration.md
31
+ - sys-memory-keeper 에이전트
32
+ - Q00/ouroboros `ooo interview/run/ralph` CLI
@@ -1,4 +1,4 @@
1
- # Token Efficiency — Three-Layer Defense Stack
1
+ # Token Efficiency — Five-Layer Defense Stack
2
2
 
3
3
  > **Source**: [Claude Code & Codex token efficiency by settings adjustment](https://www.stdy.blog/increasing-token-efficiency-by-setting-adjustment-in-claude-and-codex/)
4
4
  > **Reference baseline**: Claude Code v2.1.114+ / Codex v0.121.0+
@@ -7,7 +7,7 @@
7
7
 
8
8
  Token spend in Claude Code is not purely a function of task complexity. A significant portion of token consumption occurs through structural overhead: auto-injected git instructions, IDE file listings, tool output that exceeds what the model actually needs, and session state reloaded unnecessarily across turns.
9
9
 
10
- The three-layer defense stack addresses this overhead at three distinct points in the session lifecycle:
10
+ The five-layer defense stack addresses this overhead at distinct points in the session lifecycle:
11
11
 
12
12
  ```
13
13
  ┌─────────────────────────────────────────────────────────────────┐
@@ -22,6 +22,10 @@ The three-layer defense stack addresses this overhead at three distinct points i
22
22
  ├─────────────────────────────────────────────────────────────────┤
23
23
  │ Layer 4: playwright-compress (MCP OUTPUT INTELLIGENCE) │
24
24
  │ PostToolUse hook — Haiku summarization of browser MCP output │
25
+ ├─────────────────────────────────────────────────────────────────┤
26
+ │ Layer 5: caveman (OUTPUT STYLE COMPRESSION) │
27
+ │ SessionStart hook — primitive-speech output reduces token spend│
28
+ │ English scenarios only — R000 Korean-first contexts use Layer 2│
25
29
  └─────────────────────────────────────────────────────────────────┘
26
30
  ```
27
31
 
@@ -153,6 +157,7 @@ Disabling `includeGitInstructions` removes git workflow guidance from the contex
153
157
  | R001 Safety | `apply-ci` mode is Risk Level High — requires user confirmation before applying. |
154
158
  | R012 HUD Statusline | Statusline shows CTX% — effective measure of Layer 2+3 combined impact. |
155
159
  | playwright-compress | Layer 4 hook — complements Layer 3 MAX_MCP_OUTPUT_TOKENS with intelligent lossless compression. |
160
+ | caveman | Layer 5 style compression — orthogonal to Layer 2 (volume) and Layer 4 (MCP). R000 Korean-first: use Layer 2 as primary. |
156
161
 
157
162
  ---
158
163
 
@@ -175,6 +180,43 @@ Hook trigger: `mcp__playwright__.*` and `mcp__claude-in-chrome__.*`
175
180
 
176
181
  ---
177
182
 
183
+ ## Layer 5: caveman (Output Style Compression)
184
+
185
+ External plugin (JuliusBrussee/caveman, 41.6k stars, MIT) that rewrites Claude responses into compressed "primitive speech" via a SessionStart hook.
186
+
187
+ **Measured savings:**
188
+ - ~75% output token reduction
189
+ - ~46% input token reduction (context accumulation effect)
190
+
191
+ **Intensity levels:**
192
+
193
+ | Level | Description | Recommendation |
194
+ |-------|-------------|----------------|
195
+ | `lite` | Light compression, high readability | Recommended |
196
+ | `full` | Moderate compression | Recommended |
197
+ | `ultra` | Heavy compression, reduced readability | Caution |
198
+ | `文言文` | Classical Chinese style | Avoid for shared sessions |
199
+
200
+ **Installation:** `/plugin install caveman` (requires marketplace access)
201
+
202
+ **When to use:**
203
+
204
+ | Scenario | Layer to apply |
205
+ |----------|---------------|
206
+ | English-only output sessions (code review, commit messages) | Layer 5 (caveman) |
207
+ | Korean-first sessions (R000 contexts) | Layer 2 (R013 ecomode) — caveman articles/prepositions not present in Korean |
208
+ | Mixed sessions | Layer 2 primary, Layer 5 optional |
209
+
210
+ **Coexistence with other layers:**
211
+
212
+ - Layer 5 compresses output style; Layer 2 (ecomode) compresses output volume. These are orthogonal — both can be active simultaneously.
213
+ - Layer 5 applies globally to all responses; Layer 2 activates conditionally (4+ tasks threshold).
214
+ - For Korean-first projects following R000, Layer 2 provides the primary compression benefit. Layer 5's article-removal compression is largely ineffective against Korean (article-free language).
215
+
216
+ **R000 compatibility note:** caveman's compression relies on English grammatical structure (removing articles, prepositions). Korean lacks these structures, so compression rates are significantly lower in Korean-dominant sessions. Use `lite` or `full` mode only; avoid `ultra`/`文言文` in shared or multilingual sessions.
217
+
218
+ ---
219
+
178
220
  ## Cross-References
179
221
 
180
222
  - `guides/claude-code/13-cli-flags.md` — CLI flags for non-interactive/CI invocation
@@ -185,3 +227,4 @@ Hook trigger: `mcp__playwright__.*` and `mcp__claude-in-chrome__.*`
185
227
  - `.claude/skills/update-config/` — Generic settings.json manipulation (broader scope)
186
228
  - `.claude/skills/playwright-compress/SKILL.md` — Layer 4 MCP output compression hook
187
229
  - `.claude/hooks/scripts/playwright-compress.sh` — Layer 4 hook script
230
+ - `https://github.com/JuliusBrussee/caveman` — Layer 5 caveman plugin (external)
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.105.0",
3
- "lastUpdated": "2026-04-18T00:00:00.000Z",
2
+ "version": "0.106.0",
3
+ "lastUpdated": "2026-04-24T07:30:00.000Z",
4
4
  "components": [
5
5
  {
6
6
  "name": "rules",
@@ -24,7 +24,7 @@
24
24
  "name": "guides",
25
25
  "path": "guides",
26
26
  "description": "Reference documentation",
27
- "files": 42
27
+ "files": 43
28
28
  },
29
29
  {
30
30
  "name": "hooks",