Problem
Source: surfaced during /idd-issue multi-finding mode dogfood (kiki830621/teaching_lesley 0509 transcript), 2026-05-10
Spec contract D2(idd-issue-multi-finding-source Requirement: "JSONL run log SHALL be committed to git by default")要求 .claude/.idd/issue-runs/<run_id>.jsonl 進 git。
但 Lesley project .gitignore:6 是 .claude/ — 把整個 .claude/ 目錄全部 gitignore(這是常見的 IDE-config gitignore pattern,因為 .claude/ 通常含 cache、attachments、local config 等不該 commit 的東西)。
實際 dogfood 結果:
- jsonl 寫入
.claude/.idd/issue-runs/2026-05-10T05:29:26.jsonl ✓
git status 不顯示 untracked(被 .claude/ 阻擋)
- D2 spec contract 「commit jsonl by default」violated
Type
bug (spec gap surfaced by real-world dogfood)
Impact
- Cross-machine continuity 假設失效:user 移到別 machine 看不到先前 run log
- D2 spec contract violated
- 任何 repo
.gitignore 含 .claude/ 都遇到同問題
Proposed fix
Stage 4.5 加 pre-flight gate:
# Check if .claude/.idd/issue-runs/ is gitignored
if git check-ignore -q .claude/.idd/issue-runs/2026-05-10T00:00:00.jsonl 2>/dev/null; then
AskUserQuestion(
question = "repo .gitignore 阻擋 .claude/.idd/issue-runs/ — multi-finding jsonl 無法進 git。怎麼處理?",
options = [
"Add exception 到 .gitignore" → append `!.claude/.idd/issue-runs/`
"Skip commit (jsonl 本地存但不進 git)" → 接受 cross-machine continuity 失效
"Abort" → 退出 dispatch
]
)
fi
或者改 jsonl 預設 path 到 non-.claude/ location(e.g. idd-runs/ at repo root)— 但 break 既有 .claude/.idd/ 統一 convention。
Related
Current Status
Phase: diagnosed
Last updated: 2026-05-10 by idd-diagnose (batch)
Key Decisions
- Complexity = Plan (Layer P 命中: risk-sensitive .gitignore 改動 + decision-heavy fix path)
- Layer V untriggered (V1=2 V4=3)
- 推 pre-flight gate at Stage 4.5(不 break .claude/.idd/ namespace)
Blocking
Problem
Spec contract D2(
idd-issue-multi-finding-sourceRequirement: "JSONL run log SHALL be committed to git by default")要求.claude/.idd/issue-runs/<run_id>.jsonl進 git。但 Lesley project
.gitignore:6是.claude/— 把整個.claude/目錄全部 gitignore(這是常見的 IDE-config gitignore pattern,因為.claude/通常含 cache、attachments、local config 等不該 commit 的東西)。實際 dogfood 結果:
.claude/.idd/issue-runs/2026-05-10T05:29:26.jsonl✓git status不顯示 untracked(被.claude/阻擋)Type
bug (spec gap surfaced by real-world dogfood)
Impact
.gitignore含.claude/都遇到同問題Proposed fix
Stage 4.5 加 pre-flight gate:
或者改 jsonl 預設 path 到 non-
.claude/location(e.g.idd-runs/at repo root)— 但 break 既有.claude/.idd/統一 convention。Related
Current Status
Phase: diagnosed
Last updated: 2026-05-10 by idd-diagnose (batch)
Key Decisions
Blocking