oh-my-customcode 0.143.0 → 0.145.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 +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/rules/MUST-completion-verification.md +3 -1
- package/templates/.claude/rules/MUST-intent-transparency.md +18 -8
- package/templates/.claude/rules/SHOULD-memory-integration.md +42 -0
- package/templates/.claude/skills/systematic-debugging/SKILL.md +51 -0
- package/templates/.claude/skills/systematic-debugging/phases/amplification-detection.md +143 -0
- package/templates/.claude/skills/systematic-debugging/phases/fault-injection.md +163 -0
- package/templates/.claude/skills/systematic-debugging/phases/retry-cache-timeout-audit.md +131 -0
- package/templates/.claude/skills/systematic-debugging/phases/timeline-correlation.md +114 -0
- package/templates/CLAUDE.md +8 -1
- package/templates/guides/agentmemory-migration/phase-1-coexist.md +261 -0
- package/templates/guides/claude-code/15-version-compatibility.md +158 -0
- package/templates/guides/external-tools/ecc-absorption-decisions.md +232 -0
- package/templates/manifest.json +1 -1
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
# ECC 흡수 결정 아카이브
|
|
2
|
+
|
|
3
|
+
> **목적**: ECC (Everything Claude Code) 패턴 흡수 검토 이력 보존.
|
|
4
|
+
> 미래 기여자가 "왜 흡수했는가 / 왜 거부했는가"를 재검토 없이 파악할 수 있도록 합니다.
|
|
5
|
+
>
|
|
6
|
+
> 관련 Epic: #1170 (closed), 분리 이슈: #1176
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. 개요
|
|
11
|
+
|
|
12
|
+
oh-my-customcode는 **compilation metaphor**를 핵심 아키텍처 철학으로 채택합니다.
|
|
13
|
+
ECC (Everything Claude Code) 등 외부 도구의 패턴을 흡수할 때, 이 철학과의 정합성이
|
|
14
|
+
흡수 여부의 1차 판단 기준입니다.
|
|
15
|
+
|
|
16
|
+
| 판단 기준 | 설명 |
|
|
17
|
+
|----------|------|
|
|
18
|
+
| metaphor 정합성 | `.claude/` 구조를 컴파일러 metaphor로 강화하는가 |
|
|
19
|
+
| single-maintainer 비용 | 외부 의존성 추적 부담이 감당 가능한가 |
|
|
20
|
+
| 사용자 가치 | 기존 사용자 워크플로우를 개선하는가 |
|
|
21
|
+
| 차별점 영향 | ECC와 직접 경쟁(zero-sum)이 되는가 |
|
|
22
|
+
|
|
23
|
+
본 문서는 v0.142.0 ~ v0.143.0 기간에 검토된 4개 패턴의 결정을 기록합니다.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. 흡수된 패턴 (v0.142.0)
|
|
28
|
+
|
|
29
|
+
### 2-1. sec-agentshield-wrapper (sub-issue #1174)
|
|
30
|
+
|
|
31
|
+
| 항목 | 내용 |
|
|
32
|
+
|------|------|
|
|
33
|
+
| 릴리즈 | v0.142.0 |
|
|
34
|
+
| 흡수 형태 | pre-flight 보안 wrapper skill |
|
|
35
|
+
| 차별점 영향 | **보완** — post-write 자산(CodeQL 등)과 시점 분리 |
|
|
36
|
+
|
|
37
|
+
**결정: ACCEPT**
|
|
38
|
+
|
|
39
|
+
ECC의 `agentshield-wrapper`는 실행 전 입력 검증 레이어를 제공합니다.
|
|
40
|
+
oh-my-customcode의 `sec-codeql-expert`가 post-write 단계에 집중하므로,
|
|
41
|
+
pre-flight 단계를 담당하는 이 패턴은 compilation pipeline을 완성하는
|
|
42
|
+
`compiler → linker → loader` 구조에 자연스럽게 편입됩니다.
|
|
43
|
+
유지보수 비용: 외부 harness 의존 없음, 내부 skill로 완전 소유.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
### 2-2. instinct-extractor (sub-issue #1175)
|
|
48
|
+
|
|
49
|
+
| 항목 | 내용 |
|
|
50
|
+
|------|------|
|
|
51
|
+
| 릴리즈 | v0.142.0 |
|
|
52
|
+
| 흡수 형태 | cross-session 패턴 채굴 skill |
|
|
53
|
+
| 차별점 영향 | **보완** — `skill-extractor`와 trigger 분리 |
|
|
54
|
+
|
|
55
|
+
**결정: ACCEPT**
|
|
56
|
+
|
|
57
|
+
`skill-extractor`가 현재 세션의 행동 패턴을 skill로 승격한다면,
|
|
58
|
+
`instinct-extractor`는 누적 세션에서 반복 패턴을 자동 감지합니다.
|
|
59
|
+
두 도구는 trigger가 다릅니다 (단일 세션 vs 누적 히스토리).
|
|
60
|
+
R016 Continuous Improvement 루프를 강화하며, 내부 구조(agent-memory + claude-mem)로
|
|
61
|
+
구현 가능하므로 외부 의존성이 없습니다.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
### 2-3. manifest-install --profile (sub-issue #1177)
|
|
66
|
+
|
|
67
|
+
| 항목 | 내용 |
|
|
68
|
+
|------|------|
|
|
69
|
+
| 릴리즈 | v0.142.0 |
|
|
70
|
+
| 흡수 형태 | manifest profiles 5종 |
|
|
71
|
+
| 차별점 영향 | **보완** — deactivation 비용 축소 |
|
|
72
|
+
|
|
73
|
+
**결정: ACCEPT**
|
|
74
|
+
|
|
75
|
+
신규 사용자의 진입 비용을 낮추는 profile 기반 설치 패턴입니다.
|
|
76
|
+
`--profile minimal`, `--profile de`, `--profile qa` 등 도메인별 subset을
|
|
77
|
+
한 번에 활성화합니다. deactivation 비용 문제(한 번 설치된 skill이 불필요해도
|
|
78
|
+
삭제 경로가 불명확)를 profile 전환으로 해소합니다.
|
|
79
|
+
cross-harness export 거부(#1176)로 발생하는 진입로 공백을 부분 보완합니다.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 3. 거부된 패턴 — Cross-harness Export (#1176)
|
|
84
|
+
|
|
85
|
+
### 3-1. 개요
|
|
86
|
+
|
|
87
|
+
ECC는 oh-my-customcode의 `.claude/` 구조를 Cursor, Aider, Codex, Opencode 등
|
|
88
|
+
8개 외부 harness 포맷으로 export하는 기능을 제공합니다.
|
|
89
|
+
이 패턴을 oh-my-customcode가 흡수할 경우, 내부에 cross-harness export 레이어가
|
|
90
|
+
추가됩니다.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
### 3-2. 분석
|
|
95
|
+
|
|
96
|
+
**R006 compilation metaphor 영향**
|
|
97
|
+
|
|
98
|
+
oh-my-customcode의 아키텍처는 다음 매핑을 따릅니다:
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
Source code → .claude/skills/
|
|
102
|
+
Build artifacts → .claude/agents/
|
|
103
|
+
Compiler → mgr-sauron (R017)
|
|
104
|
+
Spec → .claude/rules/
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
cross-harness export를 흡수하면 이 compiler가 N개의 target backend(Cursor,
|
|
108
|
+
Aider, Codex 등)를 추가로 지원해야 합니다. 이는 **단일 target 컴파일러에서
|
|
109
|
+
multi-target 크로스 컴파일러로의 전환**을 의미합니다.
|
|
110
|
+
|
|
111
|
+
multi-target 전환의 결과:
|
|
112
|
+
- 각 외부 harness의 구조 변경이 oh-my-customcode build system에 직접 영향
|
|
113
|
+
- metaphor의 순수성 훼손 (compiler가 external spec을 추적해야 함)
|
|
114
|
+
- mgr-sauron (R017) 검증 범위가 외부 harness 포맷으로 확장
|
|
115
|
+
|
|
116
|
+
**single-maintainer 비용**
|
|
117
|
+
|
|
118
|
+
외부 harness들은 변동성이 높습니다:
|
|
119
|
+
|
|
120
|
+
| Harness | 변동 리스크 |
|
|
121
|
+
|---------|------------|
|
|
122
|
+
| Cursor | 에이전트 폴더 구조 자주 변경 |
|
|
123
|
+
| Aider | `.aider` 설정 포맷 semi-annual 변경 |
|
|
124
|
+
| Codex | OpenAI 정책 변경 직접 반영 |
|
|
125
|
+
| Opencode | 초기 단계, 구조 unstable |
|
|
126
|
+
|
|
127
|
+
각 harness의 breaking change가 발생할 때마다 R016 (Continuous Improvement)
|
|
128
|
+
워크플로우가 트리거됩니다. single-maintainer 환경에서 이는 **core feature
|
|
129
|
+
개발 시간의 경쟁 비용**이 됩니다.
|
|
130
|
+
|
|
131
|
+
**사용자 가치 trade-off**
|
|
132
|
+
|
|
133
|
+
| 가치 | 유형 |
|
|
134
|
+
|------|------|
|
|
135
|
+
| 신규 사용자 진입로 확장 | 신규 사용자 |
|
|
136
|
+
| 기존 harness 자산 재활용 | 멀티 harness 사용자 |
|
|
137
|
+
| ECC와 기능 중복 | zero-sum 경쟁 |
|
|
138
|
+
|
|
139
|
+
신규 사용자 진입로 문제는 `manifest-install --profile`(#1177)으로 부분 해소됩니다.
|
|
140
|
+
멀티 harness 사용자는 ECC를 직접 사용하는 것이 더 효과적입니다.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
### 3-3. 결정: REJECT (DEFER 옵션 존재)
|
|
145
|
+
|
|
146
|
+
**권고: REJECT**
|
|
147
|
+
|
|
148
|
+
거부 사유 (우선순위 순):
|
|
149
|
+
|
|
150
|
+
1. **compilation metaphor 순수성 보호**
|
|
151
|
+
cross-harness export는 oh-my-customcode의 핵심 차별점인 compilation metaphor를
|
|
152
|
+
직접 훼손합니다. 이 metaphor는 관심사 분리(R006)의 철학적 기반입니다.
|
|
153
|
+
|
|
154
|
+
2. **ECC와의 zero-sum 경쟁 회피**
|
|
155
|
+
ECC는 이미 이 패턴의 원천(export source)입니다. 흡수하면 동일 기능으로
|
|
156
|
+
경쟁하는 구조가 되며, 두 도구의 차별화가 희석됩니다.
|
|
157
|
+
|
|
158
|
+
3. **single-maintainer R016 부담**
|
|
159
|
+
외부 harness 8개의 변동을 추적하는 비용이 core feature R016 루프에 경쟁합니다.
|
|
160
|
+
현재 기여자 구성(single-maintainer)에서는 감당 불가 수준으로 판단됩니다.
|
|
161
|
+
|
|
162
|
+
4. **진입로 문제 대체 해소**
|
|
163
|
+
#1177 `manifest-install --profile`이 신규 사용자 진입 비용을 낮추는 대안으로
|
|
164
|
+
이미 흡수되었습니다.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
### 3-4. 대안 경로 (DEFER 시나리오)
|
|
169
|
+
|
|
170
|
+
다음 조건이 충족될 때 재검토를 권장합니다:
|
|
171
|
+
|
|
172
|
+
| 조건 | 임계값 | 현재 (2026-05-18) |
|
|
173
|
+
|------|--------|------------------|
|
|
174
|
+
| 한국어 사용자 비율 | 50%+ | 미집계 |
|
|
175
|
+
| 외부 기여자 수 | 5명 이상 | 미집계 |
|
|
176
|
+
|
|
177
|
+
DEFER 기간 동안의 cross-tool integration 우회 경로:
|
|
178
|
+
|
|
179
|
+
- **RTK proxy skill**: 기존 infra 활용, Cursor 등에서 oh-my-customcode skill 호출
|
|
180
|
+
- **Codex/Gemini exec skill**: 외부 LLM executor를 skill로 래핑, harness 종속성 없음
|
|
181
|
+
|
|
182
|
+
이 우회 경로는 full export와 동일한 가치를 제공하지 않지만,
|
|
183
|
+
R016 부담 없이 80% 이상의 use case를 커버합니다.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## 4. Cross-harness 거부의 의도된 결과
|
|
188
|
+
|
|
189
|
+
이 결정으로 두 도구의 포지셔닝이 명확해집니다:
|
|
190
|
+
|
|
191
|
+
| 도구 | 포지션 |
|
|
192
|
+
|------|--------|
|
|
193
|
+
| **oh-my-customcode** | compilation metaphor pure-play — `.claude/` 생태계 전문화 |
|
|
194
|
+
| **ECC** | cross-harness pragmatist — 다양한 harness 간 이식성 제공 |
|
|
195
|
+
|
|
196
|
+
사용자는 목적에 따라 도구를 선택할 수 있습니다:
|
|
197
|
+
- compilation metaphor 기반 체계적 에이전트 구축 → oh-my-customcode
|
|
198
|
+
- 기존 harness 자산의 이식/통합 → ECC
|
|
199
|
+
|
|
200
|
+
두 도구가 동일한 기능을 제공할 필요가 없으며,
|
|
201
|
+
이 차별화가 각 도구의 장기 지속성에 기여합니다.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## 5. KPI 모니터링
|
|
206
|
+
|
|
207
|
+
DEFER 조건 모니터링을 위한 내부 KPI 메모:
|
|
208
|
+
|
|
209
|
+
> 내부 메모: `.claude/agent-memory/sys-memory-keeper/project_ecc_kpi_internal_metrics.md`
|
|
210
|
+
|
|
211
|
+
| KPI | 6개월 목표 | 1년 목표 |
|
|
212
|
+
|-----|-----------|---------|
|
|
213
|
+
| 외부 기여자 수 | 2명 | 5명 |
|
|
214
|
+
| 한국어 사용자 비율 | 30% | 50% |
|
|
215
|
+
| cross-harness export 요청 수 | 10회 이상 → DEFER 재검토 | 30회 이상 → ACCEPT 재검토 |
|
|
216
|
+
|
|
217
|
+
KPI 미달 시: REJECT 유지, 대안 경로 개선 검토.
|
|
218
|
+
KPI 초과 달성 시: R016 워크플로우로 재검토 트리거.
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## 6. 참고
|
|
223
|
+
|
|
224
|
+
| 항목 | 링크 |
|
|
225
|
+
|------|------|
|
|
226
|
+
| ECC 흡수 Epic | #1170 (closed) |
|
|
227
|
+
| Cross-harness 이슈 | #1176 (standalone, decision-needed) |
|
|
228
|
+
| sec-agentshield-wrapper | #1174 |
|
|
229
|
+
| instinct-extractor | #1175 |
|
|
230
|
+
| manifest-install --profile | #1177 |
|
|
231
|
+
| 시퀀싱 메모 | `.claude/agent-memory/sys-memory-keeper/` → `[[project-sequencing-alpha-beta-gamma]]` |
|
|
232
|
+
| R006 compilation metaphor | `.claude/rules/MUST-agent-design.md` |
|
package/templates/manifest.json
CHANGED