# The repository is authored with LF. Without this file a Windows checkout runs
# under Git's default core.autocrlf=true and rewrites every tracked text file to
# CRLF, which breaks the byte-level guarantees this project is built on.

* text=auto eol=lf

# Verified artifacts: Git must never rewrite these bytes in either direction.
# Their sha256 and byte size are part of the published provenance, so a line
# ending conversion turns a valid snapshot into a failed reconciliation.
/data/source-ledger/** -text
/src/data/generated/** -text
# The Ministry source is CRLF; preserve and validate its original bytes.
/tests/fixtures/salute-posti-letto-2023.csv -text whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol
# INPS Assegno Unico CSV are published with CRLF; hashes pin those exact bytes.
/tests/fixtures/inps-assegno-unico/*.csv -text whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol
# INPS integrazioni salariali CSV are published with CRLF; hashes pin those exact bytes.
/tests/fixtures/inps-integrazioni-salariali/*.csv -text whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol
/tests/fixtures/inps-cig-fondi-solidarieta/*.csv -text whitespace=blank-at-eol,blank-at-eof,space-before-tab,cr-at-eol

*.gz binary
*.ico binary
*.jpg binary
*.png binary
*.pdf binary
*.docx binary
*.xlsx binary
*.pem -text

tests/fixtures/eurostat-arope/*.csv text eol=lf
