oh-my-customcodex 0.5.15 → 0.5.16

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
@@ -3091,7 +3091,7 @@ var init_package = __esm(() => {
3091
3091
  workspaces: [
3092
3092
  "packages/*"
3093
3093
  ],
3094
- version: "0.5.15",
3094
+ version: "0.5.16",
3095
3095
  requiresCC: ">=2.1.121",
3096
3096
  claudeCode: {
3097
3097
  minimumVersion: "2.1.121",
@@ -27574,6 +27574,34 @@ async function checkOmx() {
27574
27574
  fixable: false
27575
27575
  };
27576
27576
  }
27577
+ function checkOmxModelRouting() {
27578
+ const frontierModel = process.env.OMX_DEFAULT_FRONTIER_MODEL?.trim() || null;
27579
+ const sparkModel = process.env.OMX_DEFAULT_SPARK_MODEL?.trim() || process.env.OMX_SPARK_MODEL?.trim() || null;
27580
+ const usingLegacySpark = !process.env.OMX_DEFAULT_SPARK_MODEL?.trim() && Boolean(sparkModel);
27581
+ if (!frontierModel && !sparkModel) {
27582
+ return {
27583
+ name: "OMX model lanes",
27584
+ status: "pass",
27585
+ message: "OMX model lane routing uses runtime defaults (no explicit env override)",
27586
+ fixable: false
27587
+ };
27588
+ }
27589
+ const details = [
27590
+ `frontier=${frontierModel ?? "runtime-default"}`,
27591
+ `spark=${sparkModel ?? "runtime-default"}`
27592
+ ];
27593
+ if (usingLegacySpark) {
27594
+ details.push("legacy OMX_SPARK_MODEL detected; prefer OMX_DEFAULT_SPARK_MODEL");
27595
+ }
27596
+ const sameExplicitLane = frontierModel !== null && sparkModel !== null && frontierModel === sparkModel;
27597
+ return {
27598
+ name: "OMX model lanes",
27599
+ status: sameExplicitLane ? "warn" : "pass",
27600
+ message: sameExplicitLane ? `OMX Spark/model lane routing uses the same explicit model for frontier and spark (${frontierModel})` : "OMX Spark/model lane routing overrides detected",
27601
+ fixable: false,
27602
+ details
27603
+ };
27604
+ }
27577
27605
  async function checkContexts(targetDir, rootDir = ".codex") {
27578
27606
  const contextsDir = path.join(targetDir, rootDir, "contexts");
27579
27607
  const exists2 = await isDirectory(contextsDir);
@@ -27830,7 +27858,8 @@ async function runAllChecks(targetDir, layout, packageVersion, includeUpdates) {
27830
27858
  checkCustomComponents(targetDir, layout.rootDir),
27831
27859
  checkRtk(),
27832
27860
  checkCodex(),
27833
- checkOmx()
27861
+ checkOmx(),
27862
+ checkOmxModelRouting()
27834
27863
  ]);
27835
27864
  const frameworkCheck = await checkFrameworkDrift(targetDir, packageVersion);
27836
27865
  const checksWithFramework = frameworkCheck ? [...baseChecks, frameworkCheck] : baseChecks;
package/dist/index.js CHANGED
@@ -2316,7 +2316,7 @@ var package_default = {
2316
2316
  workspaces: [
2317
2317
  "packages/*"
2318
2318
  ],
2319
- version: "0.5.15",
2319
+ version: "0.5.16",
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.15",
6
+ "version": "0.5.16",
7
7
  "requiresCC": ">=2.1.121",
8
8
  "claudeCode": {
9
9
  "minimumVersion": "2.1.121",
@@ -4,6 +4,8 @@
4
4
 
5
5
  ## Efficiency
6
6
 
7
+ > **Tool availability note**: On first exploration, do not assume a specific tool surface is available without confirming the current session's tool set. Prefer the available native repository inspection tools; fall back to bounded shell `find`/`grep`/`rg` when higher-level glob/search tools are unavailable.
8
+
7
9
  | Strategy | When | Example |
8
10
  |----------|------|---------|
9
11
  | Parallel | 3+ independent I/O tasks | Read multiple files simultaneously |
@@ -43,6 +45,11 @@ Inspired by [ouroboros PR #353](https://github.com/Q00/ouroboros/pull/353) capab
43
45
 
44
46
  Readability > Optimization. No optimization without measurement.
45
47
 
48
+
49
+ ### Measure-Before-Adopt Gate
50
+
51
+ For new workflow heuristics, TIDE-style discovery shortcuts, or routing optimizations, measure before adoption. A small proof-of-concept that fails its confidence gate should be recorded as deferred rather than promoted into default guidance. Future adoption needs a broader multi-session corpus or deterministic benchmark evidence, not a single-session impression.
52
+
46
53
  ## Context Optimization via HTML Comments (v2.1.72+)
47
54
 
48
55
  HTML comments in all auto-injected .md files (AGENTS.md and rules/*.md) are hidden from the model during auto-injection but visible via Read tool.
@@ -27,6 +27,10 @@ tools: [Read, Write, ...] # Allowed tools
27
27
 
28
28
  Extended context suffix: `[1m]` (e.g., `claude-opus-4-6[1m]`) — enables 1M token context window.
29
29
 
30
+ <!-- DETAIL: Fallback Models and Thinking Toggle (Claude Code v2.1.166+)
31
+ Claude compatibility settings can declare up to three `fallbackModel` entries tried in order when the primary Claude model is overloaded or unavailable. `--fallback-model` also applies to interactive Claude sessions. Treat this as platform availability failover, not Codex-native model routing or outcome-based escalation. Claude Code v2.1.166+ also supports disabling default thinking with `MAX_THINKING_TOKENS=0`, `--thinking disabled`, or the per-model thinking toggle. Codex-native agents continue to use the OMX model contract and `reasoning_effort` routing.
32
+ -->
33
+
30
34
  ### Optional Frontmatter
31
35
 
32
36
  Key optional fields: `memory`, `effort`, `skills`, `soul`, `isolation`, `background`, `maxTurns`, `maxTokens`, `mcpServers`, `hooks`, `permissionMode`, `disallowedTools`, `limitations`, `domain`, `disableSkillShellExecution`. Supported since CC v2.1.63+. See full optional frontmatter via Read tool.
@@ -83,7 +87,7 @@ This Codex port ships `.claude` compatibility templates. When updating those tem
83
87
  - v2.1.161: independent parallel tool calls no longer cancel siblings when one Bash call fails; this supports R009 same-message batching for independent work.
84
88
  - v2.1.162: `claude agents --json` includes waiting/blocker metadata and explicit `--tools Grep/Glob` behavior is fixed; compatibility prompts may use those fields when diagnosing stuck Claude sessions.
85
89
  - v2.1.163: managed `requiredMinimumVersion`/`requiredMaximumVersion`, `/plugin list`, Stop/SubagentStop `hookSpecificOutput.additionalContext`, and skill command literal `\$` escaping are available. Hook/skill template changes should preserve these affordances.
86
- - v2.1.165: bug-fix/reliability release; no local template change required beyond compatibility confirmation.
90
+ - v2.1.165: bug-fix/reliability release; no local template change required beyond compatibility confirmation. v2.1.166: fallbackModel availability failover and thinking-disable controls are Claude compatibility settings, not Codex/OMX routing. v2.1.167/v2.1.168: bug-fix-only compatibility confirmation.
87
91
  -->
88
92
 
89
93
  ## Hook Event Types
@@ -33,6 +33,10 @@ When enabled and criteria match, Agent Teams is required.
33
33
 
34
34
  Do not confuse these mechanisms.
35
35
 
36
+ <!-- DETAIL: Cross-Session Relay Authority Hardening (Claude Code v2.1.166+)
37
+ Claude Code v2.1.166+ no longer propagates user authority through cross-session relays: permission requests relayed from another session are refused, and auto mode blocks them. A relayed message from session A cannot grant session B permissions the user did not authorize in session B. This hardens `send_message` / peer relay against privilege escalation. Intra-session Agent Teams `SendMessage` is unaffected, but privileged actions still require authority in the receiving session.
38
+ -->
39
+
36
40
  ## Self-Check Before Agent Tool
37
41
 
38
42
  Quick rule: explicit user preference for plain subagents wins. Otherwise use Teams for 3+ agents, review cycles, shared state, complex debugging, dynamic creation, or multi-issue batches; use Agent Tool for 1-2 simple tasks, sequential scaffolding, or mechanical disjoint-file batches with explicit scopes.
@@ -42,6 +42,19 @@ Current guidance:
42
42
  - For `.claude/**` or `templates/.claude/**`, direct writes are acceptable when the target Claude Code runtime is new enough and the session is running with `bypassPermissions`.
43
43
  - Treat the old `/tmp/{skill}-{timestamp}.md` wrapper flow as a historical fallback only for older Claude Code versions, non-bypass sessions, or interactive runs that still surface a protected-path prompt.
44
44
 
45
+
46
+ ## Deny Rule Glob Patterns (Claude Code v2.1.166+)
47
+
48
+ Claude Code compatibility templates may rely on v2.1.166+ deny-rule glob behavior:
49
+
50
+ | Position | Glob support |
51
+ |----------|-------------|
52
+ | Deny rule tool-name | Supported; `"*"` denies all tools |
53
+ | Allow rule tool-name | MCP tool-name globs only; non-MCP globs are rejected |
54
+ | Unknown tool in deny rule | Startup warning |
55
+
56
+ Use `"*"` deny rules only for Claude compatibility settings that intentionally enforce deny-by-default, then add explicit allow rules. This is separate from Codex/OMX sandbox policy and the advisory tool-tier table above.
57
+
45
58
  ## Permission Request Format
46
59
 
47
60
  ```
@@ -37,6 +37,22 @@ Treat these commands as destructive even when they look like routine cleanup:
37
37
 
38
38
  Advisory hooks may warn on these patterns, but warnings do not replace the approval and preservation requirements.
39
39
 
40
+
41
+ ### Pre-Delegation Blast-Radius Enumeration
42
+
43
+ Before delegating any destructive git command from the table above, enumerate the exact discard targets and present them for explicit approval. Do not delegate destructive operations from a paraphrase such as "discard local changes" without showing what will be lost.
44
+
45
+ Required evidence before delegation:
46
+
47
+ | Scope | Command |
48
+ |-------|---------|
49
+ | Modified/staged tracked files | `git status --short` |
50
+ | Uncommitted diff size | `git diff --stat` and `git diff --stat --cached` |
51
+ | Stash contents, when relevant | `git stash show --stat` |
52
+ | Untracked files at risk, for clean | `git clean -nd` |
53
+
54
+ Prefer non-destructive alternatives such as `git stash` when the user's goal can be met without permanent loss.
55
+
40
56
  ## On Violation
41
57
 
42
58
  1. Stop all operations
@@ -39,6 +39,10 @@ If both backend families are available, warn before writing. Dual-write is accep
39
39
 
40
40
  -->
41
41
 
42
+ <!-- DETAIL: Safety Feedback Memory
43
+ When a session exposes a safety-relevant correction (credential handling, destructive git blast radius, privileged-scope chaining, or permission-boundary mistakes), write the durable lesson with confidence metadata instead of leaving it only in chat. Record what was verified, what behavior should change, and the source issue/session when available. Do not store secrets or raw credential material in memory.
44
+ -->
45
+
42
46
  ## Best Practices
43
47
 
44
48
  - Consult memory before starting work
@@ -137,6 +137,12 @@ project/
137
137
  +-- guides/ # Reference docs (51 topics)
138
138
  ```
139
139
 
140
+ ## OMX Command Routing
141
+
142
+ - `omx explore` is deprecated and must not be recommended for new repository lookup work. Use normal Codex repository inspection tools/subagents for file, symbol, pattern, relationship, and implementation discovery.
143
+ - `USE_OMX_EXPLORE_CMD` is compatibility-only for legacy callers; truthy values do not make `omx explore` preferred.
144
+ - Use `omx sparkshell -- <command>` only when the operator explicitly wants shell-native read-only evidence, bounded verification, or a tmux-pane summary.
145
+
140
146
  ## Orchestration
141
147
 
142
148
  Orchestration is handled by routing skills in the main conversation:
@@ -137,6 +137,12 @@ project/
137
137
  +-- guides/ # 레퍼런스 문서 (51 토픽)
138
138
  ```
139
139
 
140
+ ## OMX 명령 라우팅
141
+
142
+ - `omx explore`는 deprecated 상태이며 새 저장소 조회 작업에 권장하지 않습니다. 파일, 심볼, 패턴, 관계, 구현 탐색에는 일반 Codex 저장소 검사 도구/서브에이전트를 사용합니다.
143
+ - `USE_OMX_EXPLORE_CMD`는 레거시 호출자 호환용일 뿐이며 truthy 값이어도 `omx explore`가 선호 경로가 되지 않습니다.
144
+ - `omx sparkshell -- <command>`는 사용자가 shell-native 읽기 전용 근거, 제한된 검증, tmux-pane 요약을 명시적으로 원할 때만 사용합니다.
145
+
140
146
  ## 오케스트레이션
141
147
 
142
148
  오케스트레이션은 메인 대화의 라우팅 스킬로 처리됩니다:
@@ -2,6 +2,39 @@
2
2
 
3
3
  This guide records Claude Code release-note impact that affects the Claude compatibility template. The Codex-native runtime still uses `.codex/**` and OMX as the primary surface.
4
4
 
5
+ ## v2.1.168
6
+
7
+ Published: 2026-06-07.
8
+
9
+ Source: upstream oh-my-customcode #1315, Codex port #1479.
10
+
11
+ | Change | Impact on oh-my-customcodex | Action |
12
+ |--------|------------------------------|--------|
13
+ | Bug-fix/reliability release after the v2.1.166 compatibility surface | No new repo-owned template, agent, skill, hook, or rule behavior was identified beyond the v2.1.166 notes. | Record as compatibility-confirmed; do not add speculative runtime behavior. |
14
+
15
+ ## v2.1.167
16
+
17
+ Published: 2026-06-07.
18
+
19
+ Source: upstream oh-my-customcode #1313, Codex port #1479.
20
+
21
+ | Change | Impact on oh-my-customcodex | Action |
22
+ |--------|------------------------------|--------|
23
+ | Bug-fix/reliability release after the v2.1.166 compatibility surface | No new repo-owned template, agent, skill, hook, or rule behavior was identified beyond the v2.1.166 notes. | Record as compatibility-confirmed; do not add speculative runtime behavior. |
24
+
25
+ ## v2.1.166
26
+
27
+ Published: 2026-06-07.
28
+
29
+ Source: upstream oh-my-customcode #1314/#1316, Codex port #1479.
30
+
31
+ | Change | Impact on oh-my-customcodex | Action |
32
+ |--------|------------------------------|--------|
33
+ | Deny rules support glob patterns in the tool-name position, including `"*"` to deny all tools; allow-rule globs remain limited to MCP tool-name globs | Relevant to Claude compatibility settings and permission debugging. Codex/OMX sandboxing remains the active runtime boundary for this package. | Port R002 compatibility note; do not treat Claude settings globs as Codex policy. |
34
+ | `fallbackModel` supports up to three ordered fallback models and `--fallback-model` applies to interactive sessions | Useful Claude platform availability failover. It is distinct from per-agent `model:` metadata, the `model-escalation` skill, and Codex-native model routing. | Port R006 note; keep Codex child agents on the OMX model contract and `reasoning_effort`. |
35
+ | `MAX_THINKING_TOKENS=0`, `--thinking disabled`, and per-model thinking toggles can disable default thinking | Claude compatibility sessions can reduce thinking overhead for low-effort work. | Document as Claude-only compatibility; do not infer Codex reasoning behavior. |
36
+ | Cross-session relayed `SendMessage` no longer carries user authority; relayed permission requests are refused and auto mode blocks them | Hardens peer-relay workflows against privilege escalation between Claude sessions. Intra-session Agent Teams are unaffected. | Port R018 note and keep privileged actions scoped to the receiving session. |
37
+
5
38
  ## v2.1.158
6
39
 
7
40
  Published: 2026-05-30.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.5.15",
2
+ "version": "0.5.16",
3
3
  "requiresCC": ">=2.1.121",
4
4
  "claudeCode": {
5
5
  "minimumVersion": "2.1.121",