Problem
#195 把 config write-back 遷到 .claude/.idd/local.json(新裝一律寫新路徑),但沒有處理既有 config 的遷移。結果是兩種格式長期並存,且沒有收斂終點。
在 #302 的 diagnose 過程中實測一台實際使用中的機器(兩個 work root,maxdepth 8,排除 node_modules / .git / .build):
| 檔名 |
數量 |
佔比 |
.claude/issue-driven-dev.local.json(legacy) |
32 |
46% |
.claude/.idd/local.json(新,#195 後) |
37 |
54% |
legacy 不是零星殘留,而是接近半數。
Type
refactor
Priority
P3 — 不 blocking(walk-up 的 legacy fallback 仍正常運作),但技術債會隨消費者數量放大
Expected
至少三選一(留給 diagnose 展開):
- 遷移工具 — 一次性 script,把既有 legacy config 搬到新路徑(含
.gitignore / .git/info/exclude 的對應調整)
- 機會式遷移 — 任何
idd-* skill 讀到 legacy config 時就地升級並告知(漸進、零額外動作,但每個讀取點都要實作)
- 明文 deprecation timeline — 若決定永久並存,就在
config-protocol.md 寫明「legacy 永久支援」,讓下游工具不必猜測它會不會消失
現況是三者皆無:既沒有遷移、也沒有承諾永久支援。
Actual
Impact
Out-of-scope
相關
Source: surfaced during /idd-diagnose #302 sister concern surfacing (Step 3.6)
Problem
#195 把 config write-back 遷到
.claude/.idd/local.json(新裝一律寫新路徑),但沒有處理既有 config 的遷移。結果是兩種格式長期並存,且沒有收斂終點。在 #302 的 diagnose 過程中實測一台實際使用中的機器(兩個 work root,
maxdepth 8,排除node_modules/.git/.build):.claude/issue-driven-dev.local.json(legacy).claude/.idd/local.json(新,#195 後)legacy 不是零星殘留,而是接近半數。
Type
refactor
Priority
P3 — 不 blocking(walk-up 的 legacy fallback 仍正常運作),但技術債會隨消費者數量放大
Expected
至少三選一(留給 diagnose 展開):
.gitignore/.git/info/exclude的對應調整)idd-*skill 讀到 legacy config 時就地升級並告知(漸進、零額外動作,但每個讀取點都要實作)config-protocol.md寫明「legacy 永久支援」,讓下游工具不必猜測它會不會消失現況是三者皆無:既沒有遷移、也沒有承諾永久支援。
Actual
find_idd_config()依序檢查兩個檔名,同層新路徑勝——讀取端已相容Impact
Out-of-scope
相關
Source: surfaced during /idd-diagnose #302 sister concern surfacing (Step 3.6)