Skip to content

fix(test): gitignore README_AI under char_graphbuffer fixture (#135) - #136

Merged
dreamlx merged 1 commit into
masterfrom
fix/135-scan-all-fixture-pollution
Jul 10, 2026
Merged

fix(test): gitignore README_AI under char_graphbuffer fixture (#135)#136
dreamlx merged 1 commit into
masterfrom
fix/135-scan-all-fixture-pollution

Conversation

@dreamlx

@dreamlx dreamlx commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Summary

Root-fix for #135 — the scan-all fixture-pollution landmine that broke CI in
PR #134.

codeindex scan-all (root config include: tests/) walks test fixtures and
generated README_AI.md inside tests/fixtures/char_graphbuffer/ — the #101
characterization fixture that must stay byte-identical. The generated files
weren't gitignored, so git add -A committed them → baseline goldens drifted →
test_structural_readmes / test_enrich_prompts_and_frozen_ai_readmes red on
CI (local stayed green because the polluted files matched what scan-all
produced — the classic "works on my disk" gap).

Fix

.gitignore now blocks tests/fixtures/char_graphbuffer/**/README_AI.md
specifically. Scoped — other fixture READMEs (cli_parse/,
graph_export/) are legit tracked navigation assets and stay committable.

Verification

  • char_graphbuffer/**/README_AI.md → now ignored ✓
  • cli_parse/README_AI.md, graph_export/project/README_AI.md → still
    trackable ✓ (not over-broad)
  • Simulated scan-all regen of the fixture README → no longer leaks into
    git status (so git add -A can't re-commit it) ✓
  • Full suite 1767 passed (incl. all 4 characterization tests); post-commit
    scan-all hook ran clean — no char_graphbuffer pollution

Why not the other options

  • Exclude from root config: root .codeindex.yaml is gitignored, so a
    local exclude never reaches CI.
  • .noindex sentinel: needs scan-all logic changes, out of scope.

Closes #135.

🤖 Generated with Claude Code

scan-all (root config includes tests/) generated README_AI.md inside
tests/fixtures/char_graphbuffer/ — the #101 characterization fixture that
must stay byte-identical. The files weren't gitignored, so `git add -A`
committed them, drifted the baseline goldens, and broke
test_structural_readmes / test_enrich_prompts_and_frozen_ai_readmes on CI
(caught in PR #134 after push).

Ignore ONLY char_graphbuffer — other fixture READMEs (cli_parse/,
graph_export/) are legit tracked navigation assets and stay committable.
Verified: char_graphbuffer READMEs now ignored, legit ones still trackable,
and a simulated scan-all regen no longer leaks into `git status`.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@dreamlx
dreamlx merged commit 6e95485 into master Jul 10, 2026
8 checks passed
@dreamlx
dreamlx deleted the fix/135-scan-all-fixture-pollution branch July 10, 2026 15:15
dreamlx added a commit that referenced this pull request Aug 15, 2026
…135 residual) (#170)

Repo-root scan-all generates README_AI.md inside tests/fixtures/
char_graphbuffer/ (gitignored by #136, but still on local disk). The
characterization copytree carried them into the scan; GH #38's
enrichment-preserve logic kept the stale '<!-- enrichment: ok -->'
markers across the structural rewrite and drifted the goldens. CI was
green (clean checkout has no untracked files) while local runs failed
permanently. ignore_patterns in the fixture copy makes the test own its
pristine-input guarantee.
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.

scan-all pollutes characterization fixtures (tests/fixtures/char_graphbuffer) with README_AI

1 participant