Skip to content

golden masters: LF on every OS (Windows autocrlf broke the canonical check) - #3410

Merged
squid-protocol merged 1 commit into
mainfrom
fix/golden-store-windows-eol
Sep 23, 2026
Merged

squid-protocol merged 1 commit into
mainfrom
fix/golden-store-windows-eol

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Problem

On windows-latest (3.9 and 3.12), the Full Suite Gate fails three tests added with the #3402 golden master split:

  • test_committed_fixture_is_loadable_and_canonical[tests/golden_master_audit]
  • test_committed_fixture_is_loadable_and_canonical[tests/golden_master_zero_dep_audit]
  • test_real_git_merge_of_two_fact_channel_branches_is_conflict_free

Windows runners check out with core.autocrlf=true, so git rewrote all 204 parts of each split fixture to CRLF, and golden_store's byte-level canonical check rejected every one of them. The real-merge test's scratch repo has no .gitattributes and hit the same rewrite. Linux and macOS pass. The Windows matrix only runs on labelled PRs, so #3402's own CI never ran it. It surfaced on the matrix run I started by hand for #3407 (run 35908310402), which also confirms #3407's fix for the 32,767-character env-var error: those failures are gone.

Fix

  • .gitattributes: both fixture directories are now text eol=lf, the same treatment tests/cobol_mainframe/refraction_snapshot/** already gets. The existing -diff linguist-generated=true stays.
  • tests/test_golden_store.py: the two scratch-repo tests set core.autocrlf=false.

Verification

  • git add --renormalize on both directories changes nothing: every stored blob is already LF, so this doesn't touch the fixture contents.
  • Simulated Windows checkout (core.autocrlf=true clone): 204 of 204 parts come out CRLF on current main, and 0 on this branch.
  • tests/test_golden_store.py: 20 passed. ruff format is clean.
  • The OS x Python matrix has been started by hand on this branch. It runs on labels only, per CLAUDE.md.

🤖 Generated with Claude Code

…check)

On windows-latest the full-suite gate failed 3 golden_store tests: a
Windows checkout's autocrlf rewrote all 204 parts of each split fixture
to CRLF, so golden_store's byte-level canonical check rejected them. The
real-merge test's scratch repo hit the same rewrite. The fixture directories
are now 'text eol=lf', like refraction_snapshot, and the two scratch-repo
tests set core.autocrlf=false.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

@squid-protocol
squid-protocol merged commit 4bc6030 into main Sep 23, 2026
37 checks passed
@squid-protocol
squid-protocol deleted the fix/golden-store-windows-eol branch September 23, 2026 21:48
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