Skip to content

fix(ci): drop permanently-unmatchable .claude/qa/findings/*.json from add-paths - #33

Merged
acamarata merged 1 commit into
mainfrom
fix/quarterly-doc-audit-gitignored-report
Aug 16, 2026
Merged

acamarata merged 1 commit into
mainfrom
fix/quarterly-doc-audit-gitignored-report

Conversation

@acamarata

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #31/#32 — the real, complete root cause of `Open auto-fix PR` failures.

`.claude/` is gitignored repo-wide (org standard, confirmed via 5 separate ignore lines in `.gitignore`). `git add`'s pathspec matching does NOT count gitignored files as a match even when they exist on disk with fresh content — reproduced locally:

```
echo '.claude/' > .gitignore; git add .gitignore; git commit -qm init
mkdir -p .claude/qa/findings; echo '{}' > .claude/qa/findings/test.json
git add -- '.claude/qa/findings/*.json'

fatal: pathspec '.claude/qa/findings/*.json' did not match any files

```

Confirmed live: run 31958209014 on commit 5b79fb2 (the #31/#32 fix already merged) failed with exactly this pathspec once the mdx bug was out of the way and 44 real `.md` changes needed staging.

No functional loss: the JSON report is already preserved via the `Upload JSON report` `actions/upload-artifact` step (180-day retention) and fed into the PR body directly via `body-path`, independent of git staging.

Test plan

  • Reproduced the gitignored-pathspec-abort locally.
  • Watch `Quarterly doc audit` conclude green on main HEAD after merge.

… add-paths

The real, complete root cause of the Open-auto-fix-PR failures (after the
mdx-pathspec fix in #31): .claude/ is gitignored repo-wide (org-standard
per GCI -- '.claude/ standard: gitignored AI memory', confirmed via
'grep claude .gitignore' hitting 5 separate ignore lines here). git add's
multi-pathspec matching is atomic and does NOT count gitignored files as
a match even when the file genuinely exists on disk with fresh content --
reproduced locally:

  echo '.claude/' > .gitignore; git add .gitignore; git commit -qm init
  mkdir -p .claude/qa/findings; echo '{}' > .claude/qa/findings/test.json
  git add -- '.claude/qa/findings/*.json'
  # fatal: pathspec '.claude/qa/findings/*.json' did not match any files

So '.claude/qa/findings/*.json' in add-paths was ALWAYS going to fail
git add the moment any other add-paths pattern (**/*.md) also had real
changes to stage -- confirmed live: run 31958209014 on commit 5b79fb2
(the #31/#32 fix) failed with exactly this pathspec, once the mdx bug
was out of the way and 44 real .md changes needed staging.

This isn't a real loss: the JSON report is already preserved via the
'Upload JSON report' actions/upload-artifact step (180-day retention)
and fed into the PR body directly via body-path, independent of git
staging. Dropping it from add-paths means it simply never gets committed
into the repo -- which is correct, since .claude/ is supposed to stay
untracked everywhere.
@acamarata
acamarata merged commit f981582 into main Aug 16, 2026
22 of 34 checks passed
@acamarata
acamarata deleted the fix/quarterly-doc-audit-gitignored-report branch August 16, 2026 16:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant