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 +3 -3
- 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 +4 -0
- package/templates/.claude/rules/MUST-parallel-execution.md +13 -0
- package/templates/.claude/rules/MUST-tool-identification.md +37 -0
- package/templates/AGENTS.md.en +1 -1
- package/templates/AGENTS.md.ko +1 -1
- package/templates/CLAUDE.md +1 -1
- package/templates/CLAUDE.md.en +1 -1
- package/templates/CLAUDE.md.ko +1 -1
- package/templates/README.md +2 -2
- package/templates/guides/index.yaml +6 -0
- package/templates/guides/openai-codex/01-version-compatibility.md +21 -0
- package/templates/guides/openai-codex/index.yaml +7 -0
- package/templates/manifest.json +2 -2
- package/templates/workflows/auto-dev.yaml +3 -1
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 (
|
|
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/ #
|
|
292
|
+
└── guides/ # 52 reference documents
|
|
293
293
|
```
|
|
294
294
|
|
|
295
295
|
### Source Repository And Compatibility Surfaces
|
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -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
|
```
|
package/templates/AGENTS.md.en
CHANGED
|
@@ -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 (
|
|
137
|
+
+-- guides/ # Reference docs (52 topics)
|
|
138
138
|
```
|
|
139
139
|
|
|
140
140
|
## OMX Command Routing
|
package/templates/AGENTS.md.ko
CHANGED
package/templates/CLAUDE.md
CHANGED
package/templates/CLAUDE.md.en
CHANGED
|
@@ -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 (
|
|
139
|
+
+-- guides/ # Reference docs (52 topics)
|
|
140
140
|
```
|
|
141
141
|
|
|
142
142
|
## Orchestration
|
package/templates/CLAUDE.md.ko
CHANGED
package/templates/README.md
CHANGED
|
@@ -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 (
|
|
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 (
|
|
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.
|
package/templates/manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.5.
|
|
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":
|
|
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
|