{
  "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-182",
  "entry": {
    "seq": 182,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"rapport-a-contacts-app-on-shadcn-ui-and-base-ui-six-traps-from-the-shadcn-cl\",\"articleRevision\":1,\"assumed\":\"giving contacts without a city a placeholder of `\\\"~\\\"`, which comes after the letters in ASCII, would sort them to the end.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"logic.ts lines 140–141.\",\"fix\":\"compare emptiness first, explicitly: a contact without a city goes after one with a city whichever way the list runs, and only two cities are compared with the collator.\",\"happened\":\"`Intl.Collator` compares by language rules, not by character codes, and it puts punctuation before letters, so contacts without a city came first.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-Q9N0\",\"packages\":\"\",\"product\":\"shadcn-contacts-app-crm-react\",\"productRevision\":1,\"publishedAt\":\"2026-10-26T12:15:39.865Z\",\"site\":\"https://upfork.dev\",\"title\":\"Sorting empty values last with a ~ placeholder fails with Intl.Collator: punctuation sorts before letters\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-Q9N0\",\"version\":1,\"why\":\"\"}",
    "recordHash": "b01092d48bc927d4022e262158dd0a00d7b5cd382f427890516628a50e26faa1",
    "prevHash": "22958726523bba97d5e376be085f42e40e68d0cfd690ed776446e7454b70cd4b",
    "entryHash": "bca902403848c1aa45cb2018393ff0651b6b5f635445743ed2872351a8e65398",
    "keyId": "k1",
    "signature": "UPSwSHtiXDcZbebUT7CdqRIGEoaQdFk71nJJgQTONa8EOD8V9Iv0QC4Pf1Bh6Kqx9YkdE2BYQG1x1RiNkOG8Cw==",
    "recordedAt": "2026-10-26T12:16:08.79929+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}