Skip to content

multi-finding mode: jsonl run log 被 repo .gitignore 阻擋(.claude/ 是常見 gitignore pattern,衝突 D2 commit 默認) #55

@kiki830621

Description

@kiki830621

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions