Skip to content

[chore] git hygiene — 3 pre-existing dirty items pollute cluster PRs (surfaced via #137 tangential sweep) #152

@kiki830621

Description

@kiki830621

Problem

Original observation (surfaced during /idd-plan #137 tangential sweep, Step 2.5):
在準備 #137 + #150 cluster PR(branch idd/137-150-action-scoped-cluster)時,git status 顯示 3 個 pre-existing dirty 項目跟本 session 工作無關:

  • .agents/skills/spectra-archive/SKILL.md — 121 lines DELETED(working tree only,未 commit)
  • .claude/skills/spectra-archive/SKILL.md — 119 lines DELETED(working tree only,未 commit)
  • .claude/.idd/state/chain-spawned-issues.json — untracked,timestamp 2026-05-20

來自 prior session(last related commit f5afb93 multi-root chain 2026-05-20),never staged。 若不處理 → 會被 sweep 進 cluster PR(scope pollution)或留在 working tree 永久 dirty。

Cross-link: surfaced during /idd-plan #137 Step 2.5 Tangential Observations Sweep (per IC_R011 v2.72.0+ file-by-default §1.1).

Type

chore — git hygiene

Expected

Working tree clean(無 unstaged 改動);3 個 dirty 項目都有明確 disposition:

  • 兩個 spectra-archive SKILL.md deletions → 確認是 intentional refactor(commit on appropriate branch)或 unintended drift(git checkout)
  • chain-spawned-issues.json → 確認是 needed state(commit + 加入 spec)或 stale ephemeral(.gitignore)

Actual

3 個 dirty 項目 5 天以上未處理(2026-05-20 → 2026-05-25 +)。 每次 git commit 都要 selective git add 避免 sweep 進不相關 PR;cluster PR scope review 噪音增加。

Impact

Open Questions

  1. .agents/spectra-archive.claude/spectra-archive 為什麼 -237 lines?(原本是 refactor 還是意外 truncate?)
  2. chain-spawned-issues.json 是 manifest helper 該 commit 還是 ephemeral per-run state?
  3. 整個 .claude/.idd/state/ 應該 git-ignored 還是 git-tracked?

Sister Concerns

Residue

NSQL §4.6 residue:本 issue 限「working tree dirty 項目 disposition」。 涵蓋:

  • 廣義 git-hygiene CI rule(pre-commit hook 阻擋 dirty merge 等)— 屬 future enhancement
  • 整個 .idd/.claude/state/ directory 的 schema codification — 屬 separate proposal

(本 issue 屬 chore tier — routing 預期 Simple,3 個 disposition decisions 屬 single-session triage,non-deliberation。)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions