Repository navigation
fix: process-attachments.md .gitignore example keeps _manifest.json trackable (#432) - #450
Open
kiki830621 wants to merge 3 commits into
Open
kiki830621 wants to merge 3 commits into
kiki830621 wants to merge 3 commits into
Conversation
…rackable (#432) `.claude/.idd/attachments/**` also matches the issue-N/ directory, and git cannot re-include a file under an excluded directory, so the `!…/**/_manifest.json` line never took effect. The example is now `attachments/*/*` + `!attachments/*/_manifest.json`, with a sentence on why `**` cannot work. The new attachments-gitignore-example suite extracts the fenced block from the rule file and checks it in a throwaway repo: manifest not ignored, binaries ignored, `git add issue-N/` stages only the manifest. Refs #432 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TdBi8k2uM27M7TAdunMnmo
…432's attachment manifest Refs #432 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TdBi8k2uM27M7TAdunMnmo
…the example (#432) From the /idd-verify report on #432 (all In-scope, no blocking): - the example's awk extraction stops at `## ` only outside the code block - the test is isolated from the caller's git: no GIT_DIR / GIT_INDEX_FILE inherited, no global or system config, core.excludesFile=/dev/null (the per-user ~/.config/git/ignore is read even with GIT_CONFIG_GLOBAL=/dev/null) - a failed mktemp stops the test instead of running git in the caller's repo - fixtures add an extensionless file (GitHub image attachments have none), a .docx, a hidden file and a subdirectory: `attachments/*/*.*` now fails - the rule says what the pair covers (inside issue-N/ only) and that an earlier rule excluding .claude/ or .claude/.idd/ — including Stage 4.5's run-log carve-out chain — keeps the manifest ignored, and how to fix it Refs #432 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TdBi8k2uM27M7TAdunMnmo
4 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #432
Summary
rules/process-attachments.md的.gitignore範例原本用.claude/.idd/attachments/**加!.claude/.idd/attachments/**/_manifest.json。問題是**也會匹配issue-N/這個目錄本身,而 git 沒辦法在已被排除的目錄底下再撈回檔案,所以 manifest 也一起被忽略了,git add .claude/.idd/attachments/issue-N會失敗。.claude/.idd/attachments/*/*加!.claude/.idd/attachments/*/_manifest.json,並說明為什麼不能用**issue-N/底下,也就是 IDD 唯一會寫入的位置.claude/或.claude/.idd/(包括 Stage 4.5 的 run-log carve-out chain),manifest 仍然撈不回來;並寫出要怎麼加回來scripts/tests/attachments-gitignore-example/:從規則檔逐字抽出範例,放到不受使用者 git 設定影響的暫存 repo 裡驗證,fixture 包含無副檔名、隱藏檔與子目錄的檔案Verification
Claude-only verification PASS(這是雲端 session,Codex 那一路沒有跑,屬降級驗證)。詳見 issue #432 的 Verify comment:#432 (comment)
attachments/*/*.*、在 block 裡插入##都會被抓到;使用者的 excludes 檔不影響結果run-all-tests.sh中失敗的idd-repo-map、idd-tree-lock,在乾淨的main上以 root 執行也一樣失敗,與本 PR 無關Checklist
Related
.gitignore、.gitattributes、_manifest.json。在新範例下,這會讓同一目錄裡的私人檔案變成可被追蹤(verify follow-up)[Unreleased]段落與 PR fix: idd-issue baseline-tag guard and exact label lookup; idd-update blank-line splice (#411, #412, #413) #442 以及同批的 git-ignore-block.sh 的 target allowlist 只看檔名,/info/exclude(任何*/exclude)都能寫入 (sister concern from #363) #431、bug: plan-routing-consistency 測試掃到 gitignored .spectra/ snapshot — 乾淨 checkout 綠、跑過 spectra 的本機必紅 #335 PR 寫在同一個位置,merge 時會出現純文字衝突idd-432-verified沒有推上去(雲端 proxy 不允許推 tag),需要在本機補打🤖 Generated by /idd-all. Do NOT add a GitHub close trailer (Closes/Fixes/Resolves) — IDD discipline requires manual /idd-close after merge to enforce checklist gate + closing summary.
Generated by Claude Code