oh-my-customcode 0.174.0 → 0.175.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.174.0",
244
+ version: "0.175.0",
245
245
  description: "Batteries-included agent harness for Claude Code",
246
246
  type: "module",
247
247
  bin: {
@@ -289,7 +289,7 @@ var init_package = __esm(() => {
289
289
  yaml: "^2.8.2"
290
290
  },
291
291
  devDependencies: {
292
- "@anthropic-ai/sdk": "^0.100.1",
292
+ "@anthropic-ai/sdk": "^0.102.0",
293
293
  "@biomejs/biome": "^2.3.12",
294
294
  "@types/bun": "^1.3.6",
295
295
  "@types/js-yaml": "^4.0.9",
package/dist/index.js CHANGED
@@ -2031,7 +2031,7 @@ var package_default = {
2031
2031
  workspaces: [
2032
2032
  "packages/*"
2033
2033
  ],
2034
- version: "0.174.0",
2034
+ version: "0.175.0",
2035
2035
  description: "Batteries-included agent harness for Claude Code",
2036
2036
  type: "module",
2037
2037
  bin: {
@@ -2079,7 +2079,7 @@ var package_default = {
2079
2079
  yaml: "^2.8.2"
2080
2080
  },
2081
2081
  devDependencies: {
2082
- "@anthropic-ai/sdk": "^0.100.1",
2082
+ "@anthropic-ai/sdk": "^0.102.0",
2083
2083
  "@biomejs/biome": "^2.3.12",
2084
2084
  "@types/bun": "^1.3.6",
2085
2085
  "@types/js-yaml": "^4.0.9",
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.174.0",
6
+ "version": "0.175.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -51,7 +51,7 @@
51
51
  "yaml": "^2.8.2"
52
52
  },
53
53
  "devDependencies": {
54
- "@anthropic-ai/sdk": "^0.100.1",
54
+ "@anthropic-ai/sdk": "^0.102.0",
55
55
  "@biomejs/biome": "^2.3.12",
56
56
  "@types/bun": "^1.3.6",
57
57
  "@types/js-yaml": "^4.0.9",
@@ -50,6 +50,17 @@ Before writing/editing multiple files:
50
50
 
51
51
  > **Token threshold heuristic**: When a delegated agent prompt exceeds ~5000 tokens or spans 3+ unrelated domains, decompose by domain and spawn parallel agents. See R018 for Agent Teams criteria when review cycles are needed. Reference: #1085.
52
52
 
53
+ ### LLM Batch Output Token Budget
54
+
55
+ The giant-prompt heuristic above governs INPUT tokens. The symmetric OUTPUT-side rule: when a single LLM call processes N items (scoring/classifying/extracting) and must emit structured output (e.g. JSON) per item, pre-compute the output budget = N × per-item output tokens BEFORE the call. Exceeding `max_tokens` truncates the response mid-structure → silent parse failure (the call "succeeds" but JSON.parse throws).
56
+
57
+ | Anti-pattern | Required |
58
+ |--------------|----------|
59
+ | Single batch call over a variable-size list with a fixed small max_tokens | Chunk into ≤40-item batches; constrain per-item output length (e.g. reason ≤10 words); raise max_tokens to fit one chunk |
60
+ | Raising max_tokens alone | Insufficient — defers the failure as the list grows. Chunking is the invariant fix. |
61
+
62
+ Reference: #1320 (fix), #1321 (session 113 retrospective 찐빠 #1), `feedback_llm_batch_truncation.md`.
63
+
53
64
  <!-- DETAIL: Full violation examples (4 pairs)
54
65
  ❌ WRONG: Writing files one by one
55
66
  Write(file1.kt) → Write(file2.kt) → Write(file3.kt) → Write(file4.kt)
@@ -81,6 +81,21 @@ matches the spawn announcement:
81
81
  [2] lang-python-expert:sonnet → Python code review
82
82
  ```
83
83
 
84
+ ## Tier-3 Interaction Tool Prefix (MANDATORY)
85
+
86
+ R008 "every tool call" applies to Tier-3 interaction tools too — NOT only file/exec tools. Applying the `[agent][model] → Tool:` prefix to Agent/Bash/Read while omitting it on `AskUserQuestion`, `TodoWrite`, `EnterPlanMode`, etc. is a violation.
87
+
88
+ | Tool | R008 prefix required? |
89
+ |------|----------------------|
90
+ | AskUserQuestion | YES — `[agent][model] → Tool: AskUserQuestion` before the call |
91
+ | TodoWrite | YES |
92
+ | EnterPlanMode / ExitPlanMode | YES |
93
+ | Skill | NO separate R008 prefix — identified via R007 `claude → {skill-name}` integrated header instead |
94
+
95
+ Skill invocation is the one exception: it is identified through the R007 integrated identification block (`┌─ Agent: claude → {skill-name}`), not a standalone R008 tool prefix.
96
+
97
+ Reference issue: #1321 (session 113 retrospective, 찐빠 #2 — AskUserQuestion prefix omitted twice).
98
+
84
99
  ## Example
85
100
 
86
101
  ```
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.174.0",
2
+ "version": "0.175.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)",