oh-my-customcode 1.1.37 → 1.1.38
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/MAY-optimization.md +1 -1
- package/templates/guides/agent-eval/README.md +6 -1
- package/templates/guides/claude-code/14-token-efficiency.md +1 -1
- package/templates/guides/claude-code/15-version-compatibility.md +2 -2
- package/templates/guides/external-tools/ecc-absorption-decisions.md +9 -2
- package/templates/manifest.json +1 -1
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
> **`ls | tail` 시계열 오판 (#1417)**: `ls`는 파일명을 알파벳/사전순으로 정렬하므로 `ls <dir> | tail`로 "가장 최근 파일"을 판단하면 오판한다(파일명 순서 ≠ mtime 순서). 시계열 최신 판단은 `ls -t`, `find <dir> -newermt <ts>`, 또는 stat/timestamp 기반 정렬을 명시한다. `tail`만으로 "최신" 단정 금지. Origin: #1417 (외부 통화녹음 진단 세션 — `ls TPhoneCallRecords | tail -6`이 알파벳순이라 최신을 6/18로 오판 → `find -newermt`로 6/19~20 파일 발견해 정정).
|
|
26
26
|
|
|
27
|
-
> **파이프 뒤 `$?`는 마지막 명령의 exit code (#1492)**: `script.sh | tail -N; echo $?`처럼 검증 스크립트를 파이프에 연결한 뒤 `$?`로 읽으면 파이프라인 **마지막 명령**(`tail`)의 종료코드를 얻는다 — 스크립트 자체가 실패(exit 1)해도 `tail`이 성공(exit 0)하면 `$?=0`으로 "통과"를 오판한다. 검증 스크립트는 파이프 없이 단독
|
|
27
|
+
> **파이프 뒤 `$?`는 마지막 명령의 exit code (#1492, zsh 변형 #1540)**: `script.sh | tail -N; echo $?`처럼 검증 스크립트를 파이프에 연결한 뒤 `$?`로 읽으면 파이프라인 **마지막 명령**(`tail`)의 종료코드를 얻는다 — 스크립트 자체가 실패(exit 1)해도 `tail`이 성공(exit 0)하면 `$?=0`으로 "통과"를 오판한다. **1차 지침**: 검증 스크립트는 파이프 없이 단독 실행한다. 부득이 파이프를 써야 한다면, 원본 exit code를 읽는 문법은 **셸마다 다르다** — bash는 `${PIPESTATUS[0]}`(대문자, 0-indexed), zsh는 `$pipestatus[1]`(소문자, 1-indexed)이며 서로 호환되지 않는다. **이 저장소의 기본 셸이자 Claude Code Bash 도구 실행 셸은 zsh**이므로, bash 문법 `${PIPESTATUS[0]}`을 그대로 쓰면 zsh에서는 미정의 변수로 취급되어 **오류 없이 빈 값**을 반환한다 — 조건문에서 빈 값은 거짓으로 평가돼 "검증 통과"처럼 보이는 조용한 오판을 재생산한다. 셸을 사전 확인(`echo $SHELL` / `$BASH_VERSION` 존재 여부)한 뒤 해당 셸의 문법을 쓴다. **주의**: `${PIPESTATUS[0]}` 자체는 R023 Workflow JS 템플릿 리터럴 이스케이프 이슈(#1438, `${...}`를 JS가 평가해 ReferenceError)와 별개 문제 — 본 항목은 셸에서 파이프 뒤 exit code를 읽는 각도다. Origin: #1492 (Session 132 회고 찐빠 #3); zsh 변형은 #1540 (Session 138 회고 찐빠 #6) — `gh run watch ... | tail` 뒤 `${PIPESTATUS[0]}`가 zsh에서 빈 값을 반환해 CI 결론을 재실측해야 했음. Cross-ref: R020 ("command executed" ≠ "succeeded").
|
|
28
28
|
|
|
29
29
|
> **계수/매칭 방법 확인 (#1521)**: 카운트를 대조하기 전에 **비교 대상이 무엇을 어떻게 세는지** 먼저 확인한다 — 같은 지표라도 계수 방법이 다르면 값이 달라진다. 대표 함정 3종: (a) glob(`ls *.md`, 최상위만) vs 재귀 `find`(하위 디렉토리 포함), (b) 부분 문자열 grep(`grep "sdd"`가 `sdd-dev`까지 매칭), (c) 확장자 필터(`--include='*.md'`가 `CLAUDE.md.en`을 미매칭). 검증 스크립트와 대조할 때는 **스크립트의 실제 계수 로직을 읽고** 같은 방법으로 센다. 위 `ls | tail` 시계열 오판(#1417)과 동류로, 도구의 기본 동작을 확인하지 않은 채 결과를 해석해 오탐에 이르는 패턴이다. Origin: #1521 (2026-07-20 세션에서 3회 반복; 두 서브에이전트가 독립적으로 동일 오탐에 도달).
|
|
30
30
|
|
|
@@ -824,5 +824,10 @@ harness-eval이 task를 실행하면 agent-eval-framework가 4-metric을 측정
|
|
|
824
824
|
| 가이드 | 경로 | 관련성 |
|
|
825
825
|
|--------|------|--------|
|
|
826
826
|
| harness-engineering | `guides/harness-engineering/` | 평가 하네스 인프라 설계 |
|
|
827
|
-
| monitoring-setup | `guides/monitoring-setup/` | OTEL 통합 (향후 tracing 보강) |
|
|
828
827
|
| multi-agent-debate-patterns | `guides/multi-agent-debate-patterns/` | 다중 에이전트 평가 패턴 |
|
|
828
|
+
|
|
829
|
+
### 관련 스킬
|
|
830
|
+
|
|
831
|
+
| 스킬 | 경로 | 관련성 |
|
|
832
|
+
|------|------|--------|
|
|
833
|
+
| monitoring-setup | `.claude/skills/monitoring-setup/` | OTEL 통합 (향후 tracing 보강) |
|
|
@@ -224,7 +224,7 @@ External plugin (JuliusBrussee/caveman, 41.6k stars, MIT) that rewrites Claude r
|
|
|
224
224
|
- `.claude/rules/SHOULD-ecomode.md` — Layer 2 R013 specification
|
|
225
225
|
- `.claude/skills/token-efficiency-audit/SKILL.md` — Layer 3 HOW: audit and apply
|
|
226
226
|
- `.claude/skills/monitoring-setup/SKILL.md` — Measure effectiveness via OTel metrics
|
|
227
|
-
-
|
|
227
|
+
- CC bundled `update-config` skill — Generic settings.json manipulation (broader scope; not a project-local skill)
|
|
228
228
|
- `.claude/skills/playwright-compress/SKILL.md` — Layer 4 MCP output compression hook
|
|
229
229
|
- `.claude/hooks/scripts/playwright-compress.sh` — Layer 4 hook script
|
|
230
230
|
- `https://github.com/JuliusBrussee/caveman` — Layer 5 caveman plugin (external)
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
> Updated: 2026-07-02
|
|
4
4
|
> Source: Claude Code release notes (#967, #968, #969, #1126 auto-detected by claude-native skill, #1137, #1158, #1242, #1243, #1244, #1245, #1276, #1280)
|
|
5
5
|
>
|
|
6
|
-
> **Note (compat 노트 이관)**: 이 파일은 v2.1.
|
|
6
|
+
> **Note (compat 노트 이관)**: 이 파일은 v2.1.160까지의 호환성 노트를 보존합니다. v2.1.161+ 이후 CC 호환성 노트는 `.claude/rules/` 각 규칙(R001/R002/R006/R010/R012 등)에 인라인으로 축적(이관)되었으므로, 최신 compat 노트는 해당 규칙 파일을 참조하세요.
|
|
7
7
|
|
|
8
8
|
## Compatibility Baseline
|
|
9
9
|
|
|
10
|
-
oh-my-customcode v1.1.
|
|
10
|
+
oh-my-customcode v1.1.9 targets Claude Code v2.1.201+ (Sonnet 5 = CC 기본 모델). 이 파일에 정리된 v2.1.117-160 항목은 하위호환이며 config 변경이 불필요합니다.
|
|
11
11
|
|
|
12
12
|
## v2.1.117 (2026-04-22)
|
|
13
13
|
|
|
@@ -78,6 +78,10 @@ R016 Continuous Improvement 루프를 강화하며, 내부 구조(agent-memory +
|
|
|
78
78
|
삭제 경로가 불명확)를 profile 전환으로 해소합니다.
|
|
79
79
|
cross-harness export 거부(#1176)로 발생하는 진입로 공백을 부분 보완합니다.
|
|
80
80
|
|
|
81
|
+
> **후속 (v1.1.29, #1484)**: manifest profiles는 CLI 미배선(vestigial)으로 확정되어
|
|
82
|
+
> 제거되었습니다. 이 흡수 결정 자체는 당시 문서화되었으나, 실제 CLI 배선(`--profile`
|
|
83
|
+
> 플래그 실행 경로)은 이뤄지지 않았습니다.
|
|
84
|
+
|
|
81
85
|
---
|
|
82
86
|
|
|
83
87
|
## 3. 거부된 패턴 — Cross-harness Export (#1176)
|
|
@@ -136,7 +140,9 @@ multi-target 전환의 결과:
|
|
|
136
140
|
| 기존 harness 자산 재활용 | 멀티 harness 사용자 |
|
|
137
141
|
| ECC와 기능 중복 | zero-sum 경쟁 |
|
|
138
142
|
|
|
139
|
-
신규 사용자 진입로 문제는 `manifest-install --profile`(#1177)으로 부분
|
|
143
|
+
신규 사용자 진입로 문제는 `manifest-install --profile`(#1177)으로 부분 해소되는
|
|
144
|
+
것으로 판단되었으나, 해당 profile 기능은 이후 CLI 미배선(vestigial)이 확인되어
|
|
145
|
+
v1.1.29(#1484)에서 제거되었습니다.
|
|
140
146
|
멀티 harness 사용자는 ECC를 직접 사용하는 것이 더 효과적입니다.
|
|
141
147
|
|
|
142
148
|
---
|
|
@@ -161,7 +167,8 @@ multi-target 전환의 결과:
|
|
|
161
167
|
|
|
162
168
|
4. **진입로 문제 대체 해소**
|
|
163
169
|
#1177 `manifest-install --profile`이 신규 사용자 진입 비용을 낮추는 대안으로
|
|
164
|
-
|
|
170
|
+
당시 흡수되었습니다(단, v1.1.29/#1484에서 CLI 미배선 확인 후 제거됨 — 위
|
|
171
|
+
§2-3 후속 노트 참조).
|
|
165
172
|
|
|
166
173
|
---
|
|
167
174
|
|
package/templates/manifest.json
CHANGED