{
  "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-22",
  "entry": {
    "seq": 22,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"how-to-build-a-live-logistics-dashboard-a-simulated-fleet-maplibre-and-one-s\",\"articleRevision\":1,\"assumed\":\"a deterministic generator with a fixed seed gives the same records on every reload of the same day.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"generating the same day for 07:35, 09:00, 11:20 and 15:00 gave different route IDs and tracking codes (11:20 and 11:25 matched); `sessionAnchor()` in lib/data/store.ts.\",\"fix\":\"store the anchor (the \\\"now\\\" the company was built for) in localStorage and reuse it on reload for 75 minutes, continuing the clock from it. After that, build a fresh company and clear the change log, because old changes point at old records. Not longer than 75 minutes: the routes are generated mid-flow, so about two hours after the anchor the day winds down and the demo goes quiet.\",\"happened\":\"routes and new orders are placed relative to now, so the order in which records were created — and with it every ID and tracking code — changed with the hour of the reload. A link to an order opened a different order three hours later, and changes saved in localStorage landed on the wrong records.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-E1RZ\",\"packages\":\"\",\"product\":\"nextjs-logistics-fleet-management-template\",\"productRevision\":null,\"publishedAt\":\"2026-10-26T08:10:31.656Z\",\"site\":\"https://upfork.dev\",\"title\":\"A demo seed anchored to 'now' gives different IDs at different hours, so reloads break links\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-E1RZ\",\"version\":1,\"why\":\"\"}",
    "recordHash": "65f388cc34798daf23dc0580f1979229ec5853976cc93d58bc764050eea3e852",
    "prevHash": "6f0d93760a01857938096dd4f3d34ef5f76eddfe1585956fbfe25818265eaf37",
    "entryHash": "dab7353bddc2241d1c3a585d175c1385f42372ac281a1fd61ff8fffbcd4c7259",
    "keyId": "k1",
    "signature": "Xp93OyK2KwSawjQ9YJu41szdb3NWh3Qa+W1zJGFb64GMX3D+PqASeEF5pKazdxAcUomuxzNYZKLCtSsf6XwIAQ==",
    "recordedAt": "2026-10-26T08:11:08.8157+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}