From 9d8219e48d721dab2677a54d15edaf7e5a0912e7 Mon Sep 17 00:00:00 2001 From: garrytan Date: Sat, 31 Oct 2026 11:57:59 +0000 Subject: [PATCH] changelog: GST-449 fragment covers the tracked-file case Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --- changelog.d/gsta195-wtree-ignored-bun.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/changelog.d/gsta195-wtree-ignored-bun.md b/changelog.d/gsta195-wtree-ignored-bun.md index f76824537..06cdfce74 100644 --- a/changelog.d/gsta195-wtree-ignored-bun.md +++ b/changelog.d/gsta195-wtree-ignored-bun.md @@ -1,7 +1,7 @@ **`gstack-wtree` works again in a repository that gitignores `.bun/`.** Since GST-421, its `git add -A` carried an exclude pathspec naming `.bun`, and git refuses a pathspec naming an ignored path with exit 1. Every fingerprint call then failed, which broke `gstack-review-log --start`, the evidence checks and /ship in harness-evals (HARN-1, HARN-7, harness-evals#148; GST-449). ### Fixed -- **The `.bun/` exclude applies only when the root `.bun/` exists and is not ignored.** An ignored `.bun/` already stays out of `git add -A`, so the fingerprint is the same either way. +- **The `.bun/` exclude applies only when the root `.bun/` exists and is not ignored.** The check reads the ignore rules alone (`git check-ignore --no-index`), so a file still tracked under an ignored `.bun/` doesn't bring the failure back. An ignored `.bun/` already stays out of `git add -A`, so the fingerprint is the same either way. ### Tests -- `test/evidence.test.ts`: with `.bun/` or `/.bun` in `.gitignore`, `gstack-wtree` prints a tree and a lane that writes `.bun/` grades FRESH. The existing unignored `.bun/` cases still pass. +- `test/evidence.test.ts`: with `.bun/` or `/.bun` in `.gitignore`, `gstack-wtree` prints a tree and a lane that writes `.bun/` grades FRESH. With a file tracked under an ignored `.bun/`, the tree matches a plain `git add -A`, and editing or deleting that file changes it. The existing unignored `.bun/` cases still pass.