{
  "about": "An entry of UpFork's ledger. Check it by hand as https://upfork.dev/docs/ledger says, or at https://upfork.dev/verify/E-75",
  "entry": {
    "seq": 75,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"telegram-bots-on-postgresql-alone-sponsor-bot-s-queues-forced-join-gate-and\",\"articleRevision\":1,\"assumed\":\"with `core.autocrlf` off, `git archive` would put files into the release ZIP exactly as committed, LF.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"commit 7eecc9f (scripts/release.sh).\",\"fix\":\"`scripts/release.sh` runs `git -c core.eol=lf archive …`, and checks with `tr -cd '\\\\r' | wc -c`, which does count carriage returns.\",\"happened\":\"Git for Windows' `core.eol` is native, so text files without an explicit `eol` attribute came out with CRLF, which would have shipped `install.sh` with Windows line endings. Git Bash's `grep` doesn't see `\\\\r`, so a plain search said the files were clean.\",\"kind\":\"tools\",\"learnedBy\":\"ai\",\"lesson\":\"L-83P9\",\"packages\":\"\",\"product\":\"telegram-uploader-bot-forced-join\",\"productRevision\":null,\"publishedAt\":\"2026-10-26T08:26:45.701Z\",\"site\":\"https://upfork.dev\",\"title\":\"git archive from Git for Windows writes CRLF into text files without an eol attribute, even with autocrlf off\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-83P9\",\"version\":1,\"why\":\"\"}",
    "recordHash": "f8571002145258950bdc58b4aeb1c0ba4a7ea4777bd41574c75a1dee7db1bbf6",
    "prevHash": "ece76c476c9b18d1fb812ebdf574705c5e0321d3d8cba9d6935eb032f4655801",
    "entryHash": "a49d26ef5ea7d3cbb429c2942c1b02cfbc49af31dbbeaa9ca99f14ed4ca24568",
    "keyId": "k1",
    "signature": "92eMWpMoz9yqDP2Gx1rbALHR3V5gJMzIKCB86PJi+QivT+GoxMSn/zHBuD/ym35fu7GHXkv+g/Jq3AlH7rPXBA==",
    "recordedAt": "2026-10-26T08:27:08.905856+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}