Skip to content

docs(mesh): record why * -text is in GITATTRIBUTES - #218

Merged
CryptoJones merged 1 commit into
mainfrom
docs/gitattributes-notext-rationale
Aug 2, 2026
Merged

docs(mesh): record why * -text is in GITATTRIBUTES#218
CryptoJones merged 1 commit into
mainfrom
docs/gitattributes-notext-rationale

Conversation

@CryptoJones

Copy link
Copy Markdown
Owner

Comment-only. No version bump — ships alongside v8.1.1.

Why

While validating v8.1.0 on the Win11 guest I confirmed Git for Windows sets core.autocrlf=true at the system level:

$ git config --system --get core.autocrlf
true

Without * -text in the vault's .gitattributes, a Windows mesh peer would check out every note with CRLF. omind writes LF on every platform since v8.1.0, so the vault would disagree with itself:

  • note_version is a raw-byte digest, so identical notes would hash differently across the fleet,
  • every note would look changed to that peer's index, forcing a rebuild.

* -text disables git's translation repo-wide and overrides autocrlf. It has been quietly doing that since mesh init was written, and nothing said so.

Deleting it breaks nothing on Linux or macOS — which is precisely what makes it a tempting line to tidy away. The comment exists to make the next person hesitate.

Not a behaviour change

GITATTRIBUTES content is byte-identical; only the module comment above it changed. mesh init writes the same file, and test_mesh.py (33 tests) is unaffected.

🤖 Generated with Claude Code

Git for Windows ships core.autocrlf=true at the SYSTEM level, so without this
line a Windows peer gets CRLF working-tree checkouts of every note. omind
writes LF everywhere, so the vault would disagree with itself: note_version
digests are raw-byte hashes and would differ across the fleet for identical
notes, and every index on that peer would rebuild.

The line has been doing that job silently since mesh init was written. Deleting
it breaks nothing on Linux or macOS, which is exactly what makes it easy to
delete during a tidy-up.

Found while validating v8.1.0 on a real Windows guest — `git config --system
--get core.autocrlf` returns true there out of the box.

Co-Authored-By: Claude Opus 5 <[email protected]>
@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@CryptoJones, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 49 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: ea6d078a-08e7-4d96-ba41-5abe3e5d0177

📥 Commits

Reviewing files that changed from the base of the PR and between 7db6d15 and bbb09ae.

📒 Files selected for processing (1)
  • src/omind/mesh.py

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@CryptoJones
CryptoJones merged commit 79aebdc into main Aug 2, 2026
16 checks passed
@CryptoJones
CryptoJones deleted the docs/gitattributes-notext-rationale branch August 2, 2026 21:15
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