oh-my-customcodex 0.5.16 → 0.5.18

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/README.md CHANGED
@@ -229,9 +229,9 @@ Key rules: R010 (orchestrator never writes files), R009 (parallel execution mand
229
229
 
230
230
  ---
231
231
 
232
- ### Guides (51)
232
+ ### Guides (52)
233
233
 
234
- Reference documentation covering best practices, architecture decisions, and integration patterns. Located in `guides/` at project root, covering topics from agent design to CI/CD to observability.
234
+ Reference documentation covering best practices, architecture decisions, release compatibility, and integration patterns. Located in `guides/` at project root, covering topics from agent design to CI/CD to observability.
235
235
 
236
236
  ---
237
237
 
@@ -289,7 +289,7 @@ your-project/
289
289
  │ └── ontology/ # Knowledge graph for RAG
290
290
  ├── .agents/
291
291
  │ └── skills/ # 121 installed skill modules
292
- └── guides/ # 51 reference documents
292
+ └── guides/ # 52 reference documents
293
293
  ```
294
294
 
295
295
  ### Source Repository And Compatibility Surfaces
package/dist/cli/index.js CHANGED
@@ -3091,7 +3091,7 @@ var init_package = __esm(() => {
3091
3091
  workspaces: [
3092
3092
  "packages/*"
3093
3093
  ],
3094
- version: "0.5.16",
3094
+ version: "0.5.18",
3095
3095
  requiresCC: ">=2.1.121",
3096
3096
  claudeCode: {
3097
3097
  minimumVersion: "2.1.121",
package/dist/index.js CHANGED
@@ -2316,7 +2316,7 @@ var package_default = {
2316
2316
  workspaces: [
2317
2317
  "packages/*"
2318
2318
  ],
2319
- version: "0.5.16",
2319
+ version: "0.5.18",
2320
2320
  requiresCC: ">=2.1.121",
2321
2321
  claudeCode: {
2322
2322
  minimumVersion: "2.1.121",
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.5.16",
6
+ "version": "0.5.18",
7
7
  "requiresCC": ">=2.1.121",
8
8
  "claudeCode": {
9
9
  "minimumVersion": "2.1.121",
@@ -162,6 +162,10 @@ When a user sends a new instruction while work is in progress, completion status
162
162
  3. If the new message adds a requirement, add it to the completion contract before closing.
163
163
  4. If no conflict exists, continue but explicitly preserve the new requirement in the next verification pass.
164
164
 
165
+ ### Tool-Call Payload Completeness
166
+
167
+ 도구 호출의 required 파라미터는 invoke 전에 확인한다(완료 선언 후가 아니라 호출 시점의 전제조건). announce(prefix)만 출력하고 payload의 required 필드를 누락하는 패턴은 R008 "Required-Parameter Completeness Check"가 canonical owner다. Reference: #1487 / upstream #1324.
168
+
165
169
  ## Completion Contract Format — [Contract] + [Done] with criterion/evidence pairs. See template via Read tool.
166
170
 
167
171
  <!-- DETAIL: Completion Contract Format
@@ -34,6 +34,19 @@ Before writing/editing multiple files:
34
34
  5. Running agent stalled (2x+ duration)? → Spawn independent follow-up tasks immediately
35
35
  6. Parallel dispatch announced? → put all announced tool calls in the same message
36
36
 
37
+ ### LLM Batch Output Token Budget
38
+
39
+ For N-item structured LLM batches, pre-compute output tokens and chunk variable-size lists (default ≤40 items); raising `max_tokens` alone is not enough. Reference: #1486 / upstream #1321 and #1320.
40
+
41
+ <!-- DETAIL: LLM Batch Output Token Budget
42
+ The giant-prompt heuristic governs input tokens. The symmetric output-side rule: when a single LLM call processes N items (scoring/classifying/extracting) and must emit structured output (for example JSON) per item, pre-compute the output budget = N × per-item output tokens before the call. Exceeding `max_tokens` truncates the response mid-structure, so the call can appear to succeed while JSON parsing fails.
43
+
44
+ | Anti-pattern | Required |
45
+ |--------------|----------|
46
+ | Single batch call over a variable-size list with a fixed small `max_tokens` | Chunk into bounded batches (default ≤40 items), constrain per-item output length, and set `max_tokens` to fit one chunk |
47
+ | Raising `max_tokens` alone | Insufficient — it only defers the failure as the list grows. Chunking is the invariant fix. |
48
+ -->
49
+
37
50
  ### Common Violations to Avoid
38
51
 
39
52
  <!-- DETAIL: Common Violations Short Examples
@@ -50,6 +50,18 @@ Incorrect parallel: tool_call(url1), tool_call(url2), tool_call(cmd) — no iden
50
50
  Correct parallel: list ALL [agent][model] → Tool/Fetching/Running lines FIRST, then all tool_calls
51
51
  -->
52
52
 
53
+
54
+ ### Required-Parameter Completeness Check
55
+
56
+ R008 prefix(announce)와 실제 도구 호출은 분리된 단계다. prefix를 출력한 뒤 호출 payload에서 도구 스키마상 required 파라미터를 누락하면 호출이 실패하거나 빈 동작이 된다. 호출 직전, prefix 존재뿐 아니라 required 파라미터가 모두 채워졌는지 확인한다.
57
+
58
+ | Anti-pattern | Required |
59
+ |--------------|----------|
60
+ | `[agent][model] → Tool: AskUserQuestion` prefix만 출력하고 `questions` 파라미터 없이/빈 배열로 호출 | prefix + `questions` 배열(최소 1개) 모두 채워 호출 |
61
+ | announce 후 payload의 required 필드 누락 (announce-payload separation gap) | announce와 동일 메시지에서 required 필드 완비 호출 |
62
+
63
+ Cross-reference: R020 (action-completeness precondition — invoke 전에 required 파라미터 확인). Reference issue: #1487 / upstream #1324 (AskUserQuestion `questions` 누락 재발 방지).
64
+
53
65
  ## Models
54
66
 
55
67
  | Model | Use |
@@ -100,6 +112,31 @@ matches the spawn announcement:
100
112
  [2] lang-python-expert:sonnet → Python code review
101
113
  ```
102
114
 
115
+ ## Tier-3 Interaction Tool Prefix (MANDATORY)
116
+
117
+ R008 "every tool call" applies to Tier-3 interaction tools too — not only file/exec tools. Applying the `[agent][model] → Tool:` prefix to Bash/Read/Agent while omitting it on `AskUserQuestion`, `TodoWrite`, `EnterPlanMode`, `ExitPlanMode`, `request_user_input`, or equivalent structured-question tools is a violation.
118
+
119
+ | Tool | R008 prefix required? |
120
+ |------|----------------------|
121
+ | AskUserQuestion / `request_user_input` / structured question | YES — `[agent][model] → Tool: AskUserQuestion` or equivalent before the call |
122
+ | TodoWrite / `update_plan` | YES |
123
+ | EnterPlanMode / ExitPlanMode | YES |
124
+ | Skill | NO separate R008 prefix — identified via the R007 integrated header instead |
125
+
126
+ Skill invocation is the one exception: it is identified through the R007 integrated identification block (`┌─ Agent: {agent} → {skill-name}`), not a standalone R008 tool prefix.
127
+
128
+ Reference issue: #1486 / upstream #1321 (AskUserQuestion prefix omission); complements #1487 required-payload completeness.
129
+
130
+ ## Multi-Turn Self-Check
131
+
132
+ 도구 호출 전 매번 확인한다:
133
+
134
+ 1. 이 호출 위에 `[agent-name][model] → Tool: <tool-name>` 라인이 있는가?
135
+ 2. agent-name과 model이 현재 컨텍스트와 일치하는가?
136
+ 3. 이 호출에 도구 스키마상 required 파라미터가 모두 채워져 있는가? 예: AskUserQuestion/request_user_input 계열은 `questions` 배열이 비어 있지 않아야 한다. prefix(announce)만 출력하고 실제 호출 payload의 required 필드를 누락하면 안 된다.
137
+
138
+ 체크 실패 시 즉시 prefix/필수 파라미터를 보완한 후 호출.
139
+
103
140
  ## Example
104
141
 
105
142
  ```
@@ -134,7 +134,7 @@ project/
134
134
  | +-- contexts/ # Context files (ecomode)
135
135
  +-- .agents/
136
136
  | +-- skills/ # Installed skills (120 directories)
137
- +-- guides/ # Reference docs (51 topics)
137
+ +-- guides/ # Reference docs (52 topics)
138
138
  ```
139
139
 
140
140
  ## OMX Command Routing
@@ -134,7 +134,7 @@ project/
134
134
  | +-- contexts/ # 컨텍스트 파일 (ecomode)
135
135
  +-- .agents/
136
136
  | +-- skills/ # 설치된 스킬 (120 디렉토리)
137
- +-- guides/ # 레퍼런스 문서 (51 토픽)
137
+ +-- guides/ # 레퍼런스 문서 (52 토픽)
138
138
  ```
139
139
 
140
140
  ## OMX 명령 라우팅
@@ -120,7 +120,7 @@ project/
120
120
  | +-- contexts/ # 컨텍스트 파일 (ecomode)
121
121
  +-- .agents/
122
122
  | +-- skills/ # 스킬 (120 디렉토리)
123
- +-- guides/ # 레퍼런스 문서 (51 토픽)
123
+ +-- guides/ # 레퍼런스 문서 (52 토픽)
124
124
  ```
125
125
 
126
126
  ## 오케스트레이션
@@ -136,7 +136,7 @@ project/
136
136
  | +-- rules/ # Global rules (22 files)
137
137
  | +-- hooks/ # Hook scripts (security, validation, HUD)
138
138
  | +-- contexts/ # Context files (4 files)
139
- +-- guides/ # Reference docs (51 topics)
139
+ +-- guides/ # Reference docs (52 topics)
140
140
  ```
141
141
 
142
142
  ## Orchestration
@@ -136,7 +136,7 @@ project/
136
136
  | +-- rules/ # 전역 규칙 (22 파일)
137
137
  | +-- hooks/ # 훅 스크립트 (보안, 검증, HUD)
138
138
  | +-- contexts/ # 컨텍스트 파일 (4 파일)
139
- +-- guides/ # 레퍼런스 문서 (51 토픽)
139
+ +-- guides/ # 레퍼런스 문서 (52 토픽)
140
140
  ```
141
141
 
142
142
  ## 오케스트레이션
@@ -52,7 +52,7 @@ templates/
52
52
  | +-- contexts/ # context files
53
53
  | +-- ontology/ # ontology and routing metadata
54
54
  | +-- schemas/ # tool input schemas
55
- +-- guides/ # reference docs (51 topics)
55
+ +-- guides/ # reference docs (52 topics)
56
56
  ```
57
57
 
58
58
  ## Components
@@ -77,7 +77,7 @@ Reusable workflow and reference skill modules. During Codex installation these l
77
77
 
78
78
  Global agent behavior rules. During Codex installation these land under `.codex/rules/`.
79
79
 
80
- ### Guides (51)
80
+ ### Guides (52)
81
81
 
82
82
  `templates/guides/*/`
83
83
 
@@ -20,6 +20,12 @@ guides:
20
20
  source:
21
21
  type: internal
22
22
 
23
+ - name: openai-codex
24
+ description: OpenAI Codex release compatibility decisions for Codex/OMX sessions
25
+ path: ./openai-codex/
26
+ source:
27
+ type: internal
28
+
23
29
  # Frontend
24
30
  - name: claude-design
25
31
  description: Claude Design artifact handoff workflow — connecting Anthropic's conversational design tool outputs to Claude Code's fe-design-expert implementation pipeline
@@ -0,0 +1,21 @@
1
+ # OpenAI Codex Version Compatibility
2
+
3
+ This guide records OpenAI Codex release-note impact decisions for oh-my-customcodex. Use it for Codex/OMX runtime compatibility notes; keep Claude-only release notes in `guides/claude-code/15-version-compatibility.md`.
4
+
5
+ ## rust-v0.138.0 / CLI 0.138.0
6
+
7
+ Source: upstream OpenAI Codex release `rust-v0.138.0`, Codex-port issue #1481.
8
+
9
+ | Change | Impact on oh-my-customcodex | Action |
10
+ | --- | --- | --- |
11
+ | `/app` can hand off the current CLI thread into Codex Desktop on macOS and native Windows | Useful operator workflow, but not a packaged template contract. | No runtime change. Mention only when documenting Desktop handoff troubleshooting. |
12
+ | Local image attachments and generated images expose saved file paths to the model | Helps visual iteration and image-edit follow-up references. | Keep visual workflows file-path aware; do not store generated image paths as durable release evidence unless explicitly requested. |
13
+ | Reasoning effort shortcuts and model-advertised effort ordering improved | Aligns with OMX guidance to prefer `reasoning_effort` over hardcoded model overrides for child agents. | Preserve repo model-routing guidance; avoid stale frontier model names. |
14
+ | App-server integrations can read account token usage and auth supports v2 personal access tokens | Useful observability/auth signal for app-server deployments, not required by this package. | Track as external runtime capability; no dependency or config change. |
15
+ | Plugin commands gained richer `--json` output and marketplace/source metadata | Can improve future automation around plugin inventory. | Prefer JSON output when automating plugin add/remove/list/detail; keep `omcustomcodex list` as package inventory source. |
16
+ | Workspace instruction loading is more accurate for remote and symlinked workspaces | Reduces false AGENTS.md discovery issues in Codex itself. | Keep nested AGENTS.md guidance intact and continue verifying repo-local instructions directly. |
17
+ | Startup, MCP credential refresh, large stream processing, and TUI/goal fixes are additive stability improvements | Lower operational friction for Codex sessions. | No package change beyond this compatibility record. |
18
+
19
+ ## Compatibility rule
20
+
21
+ OpenAI Codex release-monitor issues should be closed as no-op only when there is no repo-owned surface to update. If a release changes workflow vocabulary, diagnostics, plugin automation, AGENTS.md loading, or visual iteration evidence, record the decision here and mirror it into templates.
@@ -0,0 +1,7 @@
1
+ # OpenAI Codex Guide Index
2
+
3
+ documents:
4
+ - name: version-compatibility
5
+ title: Version compatibility
6
+ description: OpenAI Codex release-note impact decisions for oh-my-customcodex
7
+ path: ./01-version-compatibility.md
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.5.16",
2
+ "version": "0.5.18",
3
3
  "requiresCC": ">=2.1.121",
4
4
  "claudeCode": {
5
5
  "minimumVersion": "2.1.121",
@@ -29,7 +29,7 @@
29
29
  "name": "guides",
30
30
  "path": "guides",
31
31
  "description": "Reference documentation",
32
- "files": 51
32
+ "files": 52
33
33
  },
34
34
  {
35
35
  "name": "hooks",
@@ -151,9 +151,11 @@ steps:
151
151
  Required version preflight for npm package releases:
152
152
  - Determine NEW_VERSION before creating a release branch, PR, or tag.
153
153
  - Update `package.json` and `templates/manifest.json` to NEW_VERSION in the same commit.
154
+ - Promote `CHANGELOG.md` before the release PR/tag: move non-empty `## [Unreleased]` entries into `## [NEW_VERSION] - YYYY-MM-DD`, then re-create an empty `## [Unreleased]` section above it.
155
+ - If `CHANGELOG.md` has no user/package-visible entry for NEW_VERSION, add a concise release summary before continuing instead of relying on GitHub auto-generated release notes.
154
156
  - Use same-directory temporary files for generated JSON writes; do not write through `/tmp`.
155
157
  - Run `bash .github/scripts/verify-version-sync.sh` after the bump and before tag or PR creation.
156
- - Commit the bump with `chore(release): bump to v{NEW_VERSION}` before any release tag is created.
158
+ - Commit the bump and changelog promotion with `chore(release): bump to v{NEW_VERSION}` before any release tag is created.
157
159
 
158
160
  Before creating `release/v*`, check whether a local branch named exactly
159
161
  `release` exists. Git stores refs as files/directories, so