fix(conformance): force LF for vendored clause prose on Windows checkout#361
Merged
Conversation
The 021 normative clause inventory fingerprint-verifies the vendored spec Markdown against manifest.json, byte-compares the committed inventory against a fresh regeneration, and explicitly rejects any CR byte in the prose. On a Windows checkout git's autocrlf rewrote LF to CRLF, changing the bytes and failing every fingerprint / byte-comparison / no-CR check (27 clause integration tests on the windows dev-fast lane). Extend .gitattributes with `-text` for the new byte-exact paths, mirroring the 020 schema-inventory entries: conformance/spec/**, conformance/inventory/ clauses.json, fixtures/conformance/prose/**, fixtures/conformance/clause-drift/**. Committed blobs are already LF, so this only pins the working-tree bytes on every platform. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019vhr7Tcf8ybvSZSE1owqBT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up to #360 (normative clause inventory, 021). That PR auto-merged at its first commit before the Windows CRLF fix landed, so
main'sTest (MVP fast) (windows)lane is currently broken.On a Windows checkout, git's
autocrlfrewrites the vendored spec prose LF→CRLF, which changes the bytes and breaks the 021 machinery: SHA-256 fingerprint verification againstmanifest.json, the committed-inventory byte-comparison (clause check/ V14), and the explicit no-CR guard — cascading into 27 clause integration-test failures (all other lanes, including thelive-certificationparity lane, passed).Fix
Extend
.gitattributeswith-textfor the new byte-exact 021 paths, mirroring the existing 020 schema-inventory entries:conformance/spec/**(vendored prose + fingerprint manifest)conformance/inventory/clauses.json(machine-owned, byte-compared)fixtures/conformance/prose/**,fixtures/conformance/clause-drift/**Committed blobs are already LF, so this only pins the working-tree bytes on every platform — no file content changes.
🤖 Generated with Claude Code
https://claude.ai/code/session_019vhr7Tcf8ybvSZSE1owqBT