Problem
IDD 的 codex 通道是自己 vendored 的 plugins/issue-driven-dev/bin/codex-call(#147 時代決策:「不依賴 pai 的 bin 佈局」)。這個前提已經失效,且形成生態系內同構機件三處 :
pai 2.18.0 ship bin/codex-call(隨 plugin 進 PATH)— executable 的 canonical provider;codex-pro 的 setup(design D3)明文「executable 歸 pai,不寫死路徑、不越權繞道」
codex-pro 治理 model/effort defaults(~/.codex-pro/profile.yaml 兩層 + hardcoded gpt-5.6-sol,codex-pro#3 裁決 2026-07-12)
IDD vendored copy — 與 pai 版已分歧 87 diff 行;idd-verify / idd-route / bin/codex-call 的 gpt-5.5 hardcode 落後 GPT 新世代(sister concern from codex-pro#3) #251 (2026-07-17)在這份上重做了 codex-pro#3 五天前已做過的同一個 model bump(治理成本重複發生的實證)
#147 的理由在 #207 /#219 把 pai 升為 install-time hard dependency(vendored ensemble fork 同時刪除)後已不成立 — IDD 已經 hard-depend pai,卻還 vendor pai 也有的 codex-call。
User Ruling(2026-07-18)
我要改成完全依賴,跟 superpowers 一樣
即:install-time hard dependency + pre-flight fail-fast(缺席 abort + 一步安裝指令),不留 vendored fork (per deep-integration-over-hardcode 的 superpowers exemplar,#209 )。
Type
refactor(dependency architecture)
Expected
plugins/issue-driven-dev/bin/codex-call 刪除
executable 統一解析 pai 的 bin/codex-call(沿用 idd-verify 既有的 pai cache sort -V 解析 + MIN_PAI version gate — 零新依賴,pai 本就是 hard dependency)
model/effort 治理 依 codex-pro:上游先官方化 EXTERNAL-CONSUMER CONTRACT(profile.yaml schema + 機器可讀 defaults 檔,同 pai#20 → 2.18.0 前例;上游 issue 見 comment),IDD 解析後以顯式 --model/--effort 呼叫(pai 端 default 是什麼從此無關)
plugin.json dependencies 加 codex-pro(cross-marketplace:root marketplace allowCrossMarketplaceDependenciesOn 加 codex-pro)
pre-flight:check-plugin-presence.sh 查 codex-pro(缺席 fail-fast,同 superpowers)
model-generation-sync drift-guard 重塑:single-pin 從 IDD bin 移到 codex-pro defaults — IDD 樹內零 model pin ,換代只動 codex-pro 一處
Actual
三處同構機件;IDD 樹內有一份會漂移的 codex-call fork 與一個 model pin。
Impact
Current Status
Phase : closed
Tasks
(由 diagnose 產出)
Problem
IDD 的 codex 通道是自己 vendored 的
plugins/issue-driven-dev/bin/codex-call(#147 時代決策:「不依賴 pai 的 bin 佈局」)。這個前提已經失效,且形成生態系內同構機件三處:bin/codex-call(隨 plugin 進 PATH)— executable 的 canonical provider;codex-pro 的 setup(design D3)明文「executable 歸 pai,不寫死路徑、不越權繞道」~/.codex-pro/profile.yaml兩層 + hardcodedgpt-5.6-sol,codex-pro#3 裁決 2026-07-12)#147 的理由在 #207/#219 把 pai 升為 install-time hard dependency(vendored ensemble fork 同時刪除)後已不成立 — IDD 已經 hard-depend pai,卻還 vendor pai 也有的 codex-call。
User Ruling(2026-07-18)
即:install-time hard dependency + pre-flight fail-fast(缺席 abort + 一步安裝指令),不留 vendored fork(per
deep-integration-over-hardcode的 superpowers exemplar,#209)。Type
refactor(dependency architecture)
Expected
plugins/issue-driven-dev/bin/codex-call刪除bin/codex-call(沿用 idd-verify 既有的 pai cachesort -V解析 +MIN_PAIversion gate — 零新依賴,pai 本就是 hard dependency)--model/--effort呼叫(pai 端 default 是什麼從此無關)plugin.jsondependencies加codex-pro(cross-marketplace:root marketplaceallowCrossMarketplaceDependenciesOn加codex-pro)check-plugin-presence.sh查 codex-pro(缺席 fail-fast,同 superpowers)model-generation-syncdrift-guard 重塑:single-pin 從 IDD bin 移到 codex-pro defaults — IDD 樹內零 model pin,換代只動 codex-pro 一處Actual
三處同構機件;IDD 樹內有一份會漂移的 codex-call fork 與一個 model pin。
Impact
Current Status
Phase: closed
Tasks
(由 diagnose 產出)