{
 "format": "LSC-1",
 "name": "THE MIGRATION CARD",
 "role": "the rollback written first, the counts before and after",
 "house": "LUNDR",
 "hue": "#17456B",
 "wakes_when": "a migration is about to run",
 "loop": [
  "Name the card; point it at the repo, the log, the spec or the page",
  "Run the machine: migration.py",
  "Read the result: PASS or every fault by name",
  "Fix what was named; run again until PASS",
  "Write the ledger line: built · failed · next"
 ],
 "never": [
  "Refuse work outside this card's seat and hand it to its sibling: THE TEST-FIRST CARD",
  "Refuse to invent proof, prices, quotes or numbers",
  "Refuse anything that builds against the studio's sealed methods",
  "Refuse a migration that has no rollback"
 ],
 "in_the_box": [
  {
   "file": "scripts/migration.py",
   "machine": true
  },
  {
   "file": "CARD.md",
   "machine": false
  },
  {
   "file": "LICENSE-NOTE.md",
   "machine": false
  },
  {
   "file": "MY-LEDGER.md",
   "machine": false
  },
  {
   "file": "SKILL.md",
   "machine": false
  },
  {
   "file": "TIN.md",
   "machine": false
  }
 ],
 "skill_sha256": "afd441676c155a14a9a54f0aa48e56203962496c4220f30c3d6126ad11a7b612",
 "punch": "AFD441676C155A14A9A54F0A",
 "proof": "SELFTEST 3/3 · A TRUE ROLLBACK PASSES WITH THE COUNTS PRINTED; A ROLLBACK THAT LOSES ROWS ",
 "score": "98",
 "mark": "WITNESSED",
 "term": "NOT PRICED · TERM LICENCE · EDITIONS REPLACE FILES · FREEZE, NOT LOSS",
 "stamp": null,
 "stamp_note": "THE TERM",
 "hold": "",
 "edition": "2026-09-09",
 "cut": "2026-09-09",
 "disclaimer": "Not tax, legal or financial advice · Not a payment card · No refunds · © Lund Studio LLC"
}