CHANGELOG.md merge=union
docs/theme/harn-keywords.js merge=harn-generated eol=lf
docs/src/language-spec.md merge=harn-generated eol=lf
docs/src/diagnostics.md merge=harn-generated eol=lf
docs/diagnostics-catalog.json merge=harn-generated eol=lf
docs/llm/harn-triggers-quickref.md eol=lf
docs/src/provider-matrix.md eol=lf
docs/src/connectors/parity-matrix.md eol=lf
# Release smoke fixtures must keep LF line endings on every platform so the
# smoke driver can byte-compare stdout across the macOS/Linux/Windows matrix.
tests/smoke/*.harn eol=lf
tests/smoke/harn.toml eol=lf
scripts/release_smoke.sh eol=lf

# Session-bundle contract fixtures are compared byte-for-byte against the
# `serde_json::to_string_pretty` output (LF newlines), so they must check
# out with LF on every platform — autocrlf on Windows would otherwise
# break `checked_session_bundle_fixtures_match_export`.
spec/session-bundles/fixtures/*.json eol=lf

# The Scala cascade-repro fixture is embedded via include_str! and asserted
# to start with real LF newlines (`scala3_indented_match_cascade_is_flagged_
# not_localized`); autocrlf on the Windows runners otherwise checks it out
# with CRLF and breaks the test deterministically.
crates/harn-hostlib/src/ast/scala_repro_fixture.scala eol=lf
