Context
Surfaced by Edge Case Hunter on PR #48 (story 9-9, finding D16).
Concern
.gitignore lines 108-111 narrow the prior _bmad* blanket rule to:
_bmad/
_bmad-output/*
!_bmad-output/implementation-artifacts/
!_bmad-output/planning-artifacts/
The ! carve-outs re-include the implementation-artifacts/ and planning-artifacts/ directories whole. A future tool that writes to _bmad-output/planning-artifacts/some-tool-cache/ (under a re-included subtree) is not ignored — the cache will be staged on the next git add ..
This is the same regression class that AC #9 tried to fix (silently dropping new files), inverted: silently STAGING new files.
Suggested fix
Pick one:
- File-level carve-outs — narrow the
! rules to specific extensions: !_bmad-output/implementation-artifacts/**/*.md and !_bmad-output/implementation-artifacts/**/*.yaml. Prevents tooling caches under those dirs from being included.
- Documented carve-out policy — add a comment requiring future workflow authors to update
.gitignore if they introduce new artifact subdirectories.
- Wait for the first incident — defer until a real cache directory appears; address then.
Files
Pull request: #48
Context
Surfaced by Edge Case Hunter on PR #48 (story 9-9, finding D16).
Concern
.gitignorelines 108-111 narrow the prior_bmad*blanket rule to:The
!carve-outs re-include theimplementation-artifacts/andplanning-artifacts/directories whole. A future tool that writes to_bmad-output/planning-artifacts/some-tool-cache/(under a re-included subtree) is not ignored — the cache will be staged on the nextgit add ..This is the same regression class that AC #9 tried to fix (silently dropping new files), inverted: silently STAGING new files.
Suggested fix
Pick one:
!rules to specific extensions:!_bmad-output/implementation-artifacts/**/*.mdand!_bmad-output/implementation-artifacts/**/*.yaml. Prevents tooling caches under those dirs from being included..gitignoreif they introduce new artifact subdirectories.Files
.gitignore:108-111Pull request: #48