oh-my-customcode 0.180.0 → 0.181.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
@@ -241,7 +241,7 @@ var init_package = __esm(() => {
241
241
  workspaces: [
242
242
  "packages/*"
243
243
  ],
244
- version: "0.180.0",
244
+ version: "0.181.0",
245
245
  description: "Batteries-included agent harness for Claude Code",
246
246
  type: "module",
247
247
  bin: {
package/dist/index.js CHANGED
@@ -2031,7 +2031,7 @@ var package_default = {
2031
2031
  workspaces: [
2032
2032
  "packages/*"
2033
2033
  ],
2034
- version: "0.180.0",
2034
+ version: "0.181.0",
2035
2035
  description: "Batteries-included agent harness for Claude Code",
2036
2036
  type: "module",
2037
2037
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.180.0",
6
+ "version": "0.181.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -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
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.180.0",
2
+ "version": "0.181.0",
3
3
  "lastUpdated": "2026-05-20T00:00:00.000Z",
4
4
  "omcustomMinClaudeCode": "2.1.121",
5
5
  "omcustomMinClaudeCodeReason": "Sensitive-path direct Write/Edit on .claude/** under bypassPermissions (R010 deprecation, #1101)",