oh-my-customcode 0.180.0 → 0.182.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-agent-design.md +3 -0
- package/templates/.claude/rules/MUST-agent-teams.md +15 -0
- package/templates/.claude/rules/MUST-completion-verification.md +22 -0
- package/templates/.claude/rules/SHOULD-interaction.md +3 -0
- package/templates/.claude/rules/SHOULD-verification-ladder.md +13 -0
- package/templates/manifest.json +1 -1
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -24,9 +24,12 @@ tools: [Read, Write, ...] # Allowed tools
|
|
|
24
24
|
| `opus` | claude-opus-4-6 | Complex reasoning, architecture |
|
|
25
25
|
| `opusplan` | claude-opus-4-6 + plan mode | Architecture planning with approval gates |
|
|
26
26
|
| `opus47` | claude-opus-4-7 | Latest Opus model, supports xhigh effort |
|
|
27
|
+
| `fable` | claude-fable-5 | Mythos-class; tier above Opus, highest GA capability (access added in CC v2.1.170) |
|
|
27
28
|
|
|
28
29
|
Extended context suffix: `[1m]` (e.g., `claude-opus-4-6[1m]`) — enables 1M token context window.
|
|
29
30
|
|
|
31
|
+
> **Claude Fable 5 (access via CC v2.1.170+)**: Mythos-class model, GA on the Claude API and positioned as a tier above Opus — its capabilities exceed any previously GA model. CC v2.1.170 is the client version that adds access (the model's GA is an API/platform property, not a CC-release milestone). Available via `model: fable` / `claude-fable-5`. Reserve for the most complex reasoning where its capability premium is warranted; `sonnet` remains the default for general tasks and `opus` for architecture (cost/latency awareness, R005). CC v2.1.170 also fixes session transcripts not saving (and not appearing in `--resume`) when launched from a VS Code integrated terminal or any shell inheriting Claude Code env vars — relevant to transcript-dependent skills (`homework`, `episodic-memory`). Closes #1352.
|
|
32
|
+
|
|
30
33
|
### Fallback Models (CC v2.1.166+)
|
|
31
34
|
|
|
32
35
|
> **v2.1.166+**: The `fallbackModel` setting configures up to three fallback models tried in order when the primary model is overloaded or unavailable. `--fallback-model` now also applies to interactive sessions. CC additionally retries a turn once on the fallback model when the API rejects an unexpected non-retryable error (auth, rate-limit, request-size, and transport errors still surface immediately).
|
|
@@ -98,6 +98,21 @@ When the gate resolves to **Agent Tool** for a 3+ agent dispatch (e.g. mechanica
|
|
|
98
98
|
|
|
99
99
|
Origin: #1293 (Session 110 retrospective, Low).
|
|
100
100
|
|
|
101
|
+
#### Gate Transparency Scope — Agent Teams Enabled Only (#1341 ②)
|
|
102
|
+
|
|
103
|
+
> Origin: #1341 찐빠 #2 (low-confidence) — 4+ 병렬 Agent Tool 스폰 시 `[N]` prefix는 표기했으나 "R018 게이트: … → Agent Tool 폴백" announce를 생략한 것을 자가 위반으로 의심. 그러나 R018은 조건부 규칙이라 Agent Teams 비활성 환경에서는 게이트 투명성 자체가 미적용이다.
|
|
104
|
+
|
|
105
|
+
R018 전체(게이트 투명성 포함)는 Agent Teams 활성 시에만 적용되는 조건부 규칙이다 (`CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` 또는 TeamCreate/SendMessage 도구 존재). Agent Teams **비활성** 환경에서는:
|
|
106
|
+
|
|
107
|
+
- 게이트 투명성 announce 의무가 없다 — R009 `[N]` prefix 만으로 충분하다.
|
|
108
|
+
- 3+ 병렬 Agent Tool 스폰을 "게이트 announce 누락"으로 자가 플래그하지 않는다 (false-positive 방지).
|
|
109
|
+
|
|
110
|
+
게이트 투명성 announce는 Agent Teams가 활성이고 게이트가 Agent Tool로 해소될 때만 의무다.
|
|
111
|
+
|
|
112
|
+
| Anti-pattern | Required |
|
|
113
|
+
|--------------|----------|
|
|
114
|
+
| Agent Teams 비활성 환경에서 게이트 announce 누락을 자가 위반으로 플래그 | 비활성 시 R009 `[N]` prefix 만으로 충분; 게이트 announce는 활성 환경 전용 |
|
|
115
|
+
|
|
101
116
|
### Spawn Completeness Check
|
|
102
117
|
|
|
103
118
|
All members must be spawned in a single message. Partial spawning needs correction per R018 and R009.
|
|
@@ -156,6 +156,28 @@ Related memory records:
|
|
|
156
156
|
|
|
157
157
|
Reference issues: #1188 item #8.
|
|
158
158
|
|
|
159
|
+
### Interrupt ≠ Prior-Request Cancellation (#1341 ①)
|
|
160
|
+
|
|
161
|
+
> Origin: #1341 찐빠 #1 — 사용자가 멀티라인 요청("스킬 FSD를 만들자 … 내용은 아래와 같다")을 두 줄에 나눠 보내려다 중간에 인터럽트했는데, 모델이 이를 "직전 요청 취소" 신호로 단정하고 즉시 다른 작업(/goal 자율 루프)으로 전환했다. 사용자가 "취소가 아니야, 두 줄이 한 번에 안 가서 인터럽트했던 것"으로 정정.
|
|
162
|
+
|
|
163
|
+
**적용 범위 (비파괴 한정)**: 이 규칙은 **비파괴적** 직전/진행 중 요청에만 적용된다 (스킬/문서 생성, 분석, 비파괴 편집 등). 인터럽트된 작업이 **파괴적·비가역 작업**(R001 — `git reset --hard`, `git clean -fd`, `rm`, 터널/DNS/k8s/인프라 삭제 등)이면 이 규칙은 적용되지 않으며, 아래 Safety Carve-Out을 따른다.
|
|
164
|
+
|
|
165
|
+
비파괴 작업에 한해: 사용자 인터럽트 직후 첫 메시지가 모호하면, 직전 요청을 "취소"로 단정하지 않는다. 인터럽트는 입력 교정·추가 입력·멀티라인 연속 입력 중단 등 다양한 의도일 수 있으며, 취소는 그중 하나일 뿐이다. 직전 요청 맥락이 살아있는 상태에서 인터럽트 의도를 단정해 다른 작업으로 전환하지 말고, 모호하면 한 번 확인한 뒤 (비파괴적 후속 처리를) 진행한다.
|
|
166
|
+
|
|
167
|
+
**Safety Carve-Out — 파괴적 작업 (fail-closed, stop-first ask-after)**: 진행 중이던 작업이 파괴적·비가역 작업이면, 인터럽트 수신 시 의도가 모호하더라도 그 작업을 **먼저 즉시 중단(halt/abort)**한 뒤 의도를 확인한다. 재개는 명시적 재승인을 요구한다. 인터럽트의 핵심 가치는 emergency-stop이므로 파괴적 작업에서는 의도 명료화보다 정지가 우선한다(R001 우선). 여기서 "진행"은 파괴적 작업의 계속을 의미하지 않는다.
|
|
168
|
+
|
|
169
|
+
**모호성 판정 신호** (둘 중 하나면 confirm; 둘 다 아니고 명확한 새 지시면 R003 Clear 경로로 즉시 처리해 과잉 확인 방지):
|
|
170
|
+
- (a) 직전 요청이 미완(코드/내용 본문 미수신) 상태에서 인터럽트됨
|
|
171
|
+
- (b) 인터럽트 후 첫 메시지가 직전 요청과 무관해 보이나 새 명령으로도 단정 불가
|
|
172
|
+
|
|
173
|
+
| Anti-pattern | Required |
|
|
174
|
+
|--------------|----------|
|
|
175
|
+
| 인터럽트 직후 직전 요청을 "취소"로 단정하고 새 작업 실행 (비파괴 맥락) | 인터럽트 의도가 모호하면 직전 요청 맥락 유지 + 의도 1회 확인 후 비파괴적 후속 진행 |
|
|
176
|
+
| 멀티라인/연속 입력 중간의 인터럽트를 "전체 취소"로 해석 | 추가 입력·교정 가능성 고려; 사용자 다음 메시지를 기다리거나 의도 확인 |
|
|
177
|
+
| 파괴적 작업 진행 중 인터럽트를 "맥락 유지 후 계속"으로 처리 | 즉시 halt(fail-closed) 후 의도 확인; 재개는 명시적 재승인 (stop-first ask-after, R001 우선) |
|
|
178
|
+
|
|
179
|
+
This is the interrupt-intent extension of Read-Before-Characterize ("actual intent ≠ assumed intent"), scoped to non-destructive context. **Applicability vs "Interrupt Priority Re-Ordering" (above)**: Priority Re-Ordering는 인터럽트가 **명확한 새 작업/룰 위반을 동반**할 때; 인터럽트 첫 메시지가 **모호**하면 본 섹션이 우선(확인 먼저). Cross-reference: R003 (Request Handling — Interrupt row; precedence Risky > Interrupt), R001 (파괴적 작업 halt 우선).
|
|
180
|
+
|
|
159
181
|
## Diagnostic Hypothesis Verification
|
|
160
182
|
|
|
161
183
|
진단 단계에서 채택한 가설로 워크플로우/인프라/설정을 **영구 변경하기 전**, 가설을 실제 증거로 검증해야 한다. "그럴듯한 가설"을 검증 없이 영구 변경에 적용하면 잘못된 추정이 영구 부채로 남는다.
|
|
@@ -26,6 +26,9 @@
|
|
|
26
26
|
| Clear | Execute immediately |
|
|
27
27
|
| Ambiguous | `[Confirm] Understood "{request}" as {interpretation}. Proceed?` |
|
|
28
28
|
| Risky | `[Warning] This action has {risk}. Continue? Yes: {action} / No: Cancel` |
|
|
29
|
+
| Interrupt (ambiguous first message) | Do NOT assume prior-request cancellation. `[Confirm] 인터럽트 의도 확인: 직전 "{request}" 취소인가요, 아니면 추가/교정 입력 중이신가요?` 단, 직전 요청이 Risky(파괴적)면 Risky 행이 우선(즉시 중단). 규범·예외는 R020 "Interrupt ≠ Prior-Request Cancellation"가 소유. |
|
|
30
|
+
|
|
31
|
+
> **Precedence**: **Risky > Interrupt > Ambiguous > Clear** — 파괴적/위험 작업 중 인터럽트는 의도 모호와 무관하게 즉시 중단(R001 / R020 Safety Carve-Out)이 우선한다. 명확한 새 지시인 인터럽트는 Clear 경로로 즉시 처리(과잉 확인 금지).
|
|
29
32
|
|
|
30
33
|
## Multiple Tasks
|
|
31
34
|
|
|
@@ -67,6 +67,19 @@ R021은 위반 시 어떻게 멈출지를, R023은 어떤 순서로 검증할지
|
|
|
67
67
|
- [ ] Tier 1에서 잡을 수 있는 문제를 다루는가? (상위 tier 대신 시프트 권고)
|
|
68
68
|
- [ ] Ladder 순서를 문서화했는가? (어떤 검사를 먼저 실행하는지)
|
|
69
69
|
|
|
70
|
+
## Safety-Signal Rule Authoring — Carve-Out Pre-Check (shift-left)
|
|
71
|
+
|
|
72
|
+
> Origin: #1353 (인터럽트 룰 #1341의 후속 회고에서 발견된 R001 carve-out 누락) — 인터럽트 룰(R003/R020)을 작성할 때 R001 파괴적-작업 carve-out을 1차 작성에서 빠뜨렸고, Tier 3 적대적 검증이 release-blocking으로 포착해 보정했다. Tier 3가 잡았으나, 같은 결함을 Tier 1(작성 시점 결정론적 점검)로 시프트하면 비용이 낮다.
|
|
73
|
+
|
|
74
|
+
런타임 안전-신호 동작을 정의하는 룰(인터럽트·취소·halt·중단·emergency-stop 등)을 추가/수정할 때, 작성 단계(Tier 1)에서 다음을 사전 점검한다 — Tier 3 적대적 검증에 의존하기 전에 (이 checklist 같은 메타-룰은 대상 아님):
|
|
75
|
+
|
|
76
|
+
- [ ] 이 룰이 R001 파괴적·비가역 작업(`git reset --hard`, `clean -fd`, `rm`, 터널/DNS/k8s/인프라 삭제) 컨텍스트에서도 안전한가? (fail-closed carve-out 필요 여부)
|
|
77
|
+
- [ ] "진행/계속(proceed)" 류 지시의 대상이 파괴적 작업의 계속으로 오독될 여지가 없는가?
|
|
78
|
+
- [ ] 안전-신호의 fail-safe 의미(emergency-halt)를 약화시키지 않는가? (stop-first ask-after 우선)
|
|
79
|
+
- [ ] 기존 안전 규칙(R001/R002)과의 우선순위가 명시되어 있는가?
|
|
80
|
+
|
|
81
|
+
하나라도 불확실하면 **먼저 carve-out을 명시(Tier 1 우선 해결)**하고, 그래도 불확실하면 Tier 3 적대적 검증(`adversarial-review`, `multi-model-verification`)을 통과시킨 뒤 release한다 (ladder 순서 유지). 이는 R023 shift-left 원칙(저렴한 tier 우선)을 룰 작성 자체에 적용한 것이며, R016 룰 작성 워크플로우의 Tier-1 품질 게이트로 동작한다 (R016은 위반 후 룰 업데이트 소유, R023 carve-out은 안전-신호 룰 작성 시 사전 점검 — 직교). Closes #1353.
|
|
82
|
+
|
|
70
83
|
## Integration
|
|
71
84
|
|
|
72
85
|
| 규칙 | 상호작용 |
|
package/templates/manifest.json
CHANGED