# Normalize all text to LF in the repository (and on checkout), so line-ending
# churn never enters the deposit and the §3 cross-OS reproducibility contract
# holds (a rebuild on Windows or Linux yields the same bytes). Paired with the
# release-runbook A1b text-validity sweep and etl/_load_fedsupport.write_text_clean.
* text=auto eol=lf

# Binary deposit artifacts — never normalize, never diff as text.
*.parquet binary
*.zip      binary
*.pdf      binary
*.png      binary
*.sas7bdat binary

# Vector figures are text (SVG) but pin LF.
*.svg text eol=lf

# Externally-sourced provenance exports — preserve the as-downloaded bytes
# verbatim (these arrive CRLF from the NSF NCSES Table Builder). -text turns
# OFF eol normalization so the committed blob stays bit-exact to its SHA-256
# pin in data/reference/MANIFEST.md, and a cold reader re-fetching from the
# canonical URL verifies the same hash. The blanket "* text=auto eol=lf" above
# would otherwise LF-strip them and break the MANIFEST SHA. (A1b per-file
# opt-out; see seeds/overrides.md "reproducible ≠ valid" kill condition.)
data/reference/dst-table-builder/*.csv -text
data/reference/dst-table-builder/*.txt -text
