Skip to content

fix(ci): defensively disable git-lfs filters in quarterly-doc-audit - #32

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

acamarata merged 1 commit into
mainfrom
fix/quarterly-doc-audit-lfs-defensive

Conversation

@acamarata

Copy link
Copy Markdown
Contributor

Consistency fix alongside admin/web/cli's identical step (same shared workflow, patched together per the same investigation as #31). This repo's .gitattributes has the same filter=lfs patterns as the other 4 repos, but plugins currently has zero tracked files matching them, so this is a no-op today. Added so the same protection exists here if binary assets are ever added later — see admin PR #70 for the failure mode this prevents (LFS clean-filter mismatch makes un-migrated binaries look perpetually modified, which breaks peter-evans/create-pull-request's internal git stash dance).

Consistency fix alongside admin/web/cli's identical step: this repo's
.gitattributes has the same filter=lfs patterns, but currently has
zero tracked files matching them, so this is a no-op today. Added so
the same protection exists here if binary assets are ever added
later — see admin's copy of this workflow for the full failure mode
this prevents.
@acamarata
acamarata merged commit 5b79fb2 into main Aug 16, 2026
34 checks passed
@acamarata
acamarata deleted the fix/quarterly-doc-audit-lfs-defensive branch August 16, 2026 16:18
acamarata added a commit that referenced this pull request Aug 16, 2026
… add-paths (#33)

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.
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