[object Object]

← back to CelebritySignatures

add 'Oldest Signatures in History' research dataset, spreadsheet + Met-art mural

57c16d5605974eb03faccc20709bf16a64f6a76d · 2026-06-19 10:17:48 -0700 · SteveStudio2

Files touched

Diff

commit 57c16d5605974eb03faccc20709bf16a64f6a76d
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date:   Fri Jun 19 10:17:48 2026 -0700

    add 'Oldest Signatures in History' research dataset, spreadsheet + Met-art mural
---
 .gitignore                               |   1 +
 data/oldest-signatures-enriched.json     | 398 +++++++++++++++++++++++++++++++
 data/oldest-signatures.csv               |  20 ++
 data/oldest-signatures.json              |  20 ++
 output/mural-oldest-signatures-named.png | Bin 0 -> 927834 bytes
 output/mural-oldest-signatures.png       | Bin 0 -> 858101 bytes
 scripts/build-oldest-signatures.py       | 240 +++++++++++++++++++
 7 files changed, 679 insertions(+)

diff --git a/.gitignore b/.gitignore
index a2dcb27..9681475 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,3 +18,4 @@ data/saves.json
 data/sessions.json
 
 .deploy.conf
+tmp_oldest_cache/
diff --git a/data/oldest-signatures-enriched.json b/data/oldest-signatures-enriched.json
new file mode 100644
index 0000000..2dfe8e0
--- /dev/null
+++ b/data/oldest-signatures-enriched.json
@@ -0,0 +1,398 @@
+[
+  {
+    "name": "GAR.AMA (Uruk scribe)",
+    "approx_date": "c. 3100 BCE",
+    "era_sort": -3100,
+    "category_type": "clay colophon",
+    "what_was_signed": "Proto-cuneiform lexical clay tablet listing 41 titles/professions (Schøyen MS 2429/4), Sumer",
+    "significance": "Cited by the Schøyen Collection as the earliest extant autograph signature — a named scribe signing a lexical list.",
+    "signature_image_available": "no",
+    "signature_image_url": "",
+    "source_url": "https://www.schoyencollection.com/scribes-collection/scribal-training/lexical-list-oldest-autograph-ms-2494-4",
+    "notes": "Scribal colophon impressed in wet clay, not cursive handwriting.",
+    "met_query": "cuneiform tablet",
+    "sig_thumb_url": "",
+    "sig_local": "",
+    "met_object_id": 329081,
+    "met_title": "Proto-Cuneiform tablet with seal impressions: administrative account of barley distribution with cylinder seal impression of a male figure, hunting dogs, and boars",
+    "met_date": "ca. 3100–2900 BCE",
+    "met_culture": "Sumerian",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/an/web-large/DP293243.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/329081",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-gar-ama-uruk-scribe.png"
+  },
+  {
+    "name": "Kushim (Uruk accountant)",
+    "approx_date": "c. 3200–3000 BCE",
+    "era_sort": -3100,
+    "category_type": "clay colophon",
+    "what_was_signed": "18 proto-cuneiform barley-account tablets bearing the name 'Kushim', Uruk (mostly Louvre)",
+    "significance": "Widely cited as the oldest recorded personal name in history — an accountant's mark on institutional barley receipts.",
+    "signature_image_available": "no",
+    "signature_image_url": "",
+    "source_url": "https://en.wikipedia.org/wiki/Kushim_(Uruk_period)",
+    "notes": "CONTESTED: 'Kushim' may be a title/office, not a person (Harari popularized it; Assyriologists are split). Impressed clay, not a handwritten autograph.",
+    "met_query": "cuneiform tablet account",
+    "sig_thumb_url": "",
+    "sig_local": "",
+    "met_object_id": 329081,
+    "met_title": "Proto-Cuneiform tablet with seal impressions: administrative account of barley distribution with cylinder seal impression of a male figure, hunting dogs, and boars",
+    "met_date": "ca. 3100–2900 BCE",
+    "met_culture": "Sumerian",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/an/web-large/DP293243.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/329081",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-kushim-uruk-accountant.png"
+  },
+  {
+    "name": "Inspector Merer",
+    "approx_date": "c. 2560 BCE",
+    "era_sort": -2560,
+    "category_type": "papyrus log",
+    "what_was_signed": "The Diary of Merer (Wadi el-Jarf Papyrus) — first-person logbook of Great Pyramid logistics, 26th year of Khufu",
+    "significance": "World's oldest surviving inscribed papyrus, written by a named first-person official.",
+    "signature_image_available": "no",
+    "signature_image_url": "",
+    "source_url": "https://en.wikipedia.org/wiki/Diary_of_Merer",
+    "notes": "A first-person record, not a discrete signature.",
+    "met_query": "Egyptian papyrus Old Kingdom",
+    "sig_thumb_url": "",
+    "sig_local": "",
+    "met_object_id": 551898,
+    "met_title": "Composite Papyrus Capital",
+    "met_date": "380–343 B.C.",
+    "met_culture": "Egyptian Art",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/eg/web-large/10.177.2_EGDP018080.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/551898",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-inspector-merer.png"
+  },
+  {
+    "name": "Enheduanna",
+    "approx_date": "c. 2285–2250 BCE",
+    "era_sort": -2270,
+    "category_type": "clay colophon",
+    "what_was_signed": "Cuneiform colophons on the 'Exaltation of Inanna' hymns; named on the alabaster Disc of Enheduanna (Penn Museum B16665)",
+    "significance": "Earliest known named author in literary history; signed her own literary colophons.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:Disk_of_Enheduanna.JPG",
+    "source_url": "https://www.worldhistory.org/Enheduanna/",
+    "notes": "The disc is sculpted, not handwritten; surviving tablet copies postdate her by centuries (attribution debated).",
+    "met_query": "Akkadian cylinder seal",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Disk_of_Enheduanna.JPG/960px-Disk_of_Enheduanna.JPG",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-enheduanna.png",
+    "met_object_id": 329090,
+    "met_title": "Cylinder seal and modern impression: hunting scene",
+    "met_date": "ca. 2250–2150 BCE",
+    "met_culture": "Akkadian",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/an/web-large/DT860.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/329090",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-enheduanna.png"
+  },
+  {
+    "name": "Cleopatra VII",
+    "approx_date": "33 BCE",
+    "era_sort": -33,
+    "category_type": "cursive (contested)",
+    "what_was_signed": "Papyrus Bingen 45 — royal tax-exemption decree for P. Canidius; bottom word 'ginesthoi' (γινέσθωι, 'so be it')",
+    "significance": "Argued by some scholars to be the only surviving handwritten word by Cleopatra.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:Papyrus_document_containing_signature_of_Cleopatra_VII_of_Egypt.jpg",
+    "source_url": "https://en.wikipedia.org/wiki/Papyrus_Bingen_45",
+    "notes": "HOTLY DISPUTED (van Minnen/Zimmermann vs. Sarri/Bagnall) — may be a scribe's hand throughout.",
+    "met_query": "Ptolemaic Egypt papyrus",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/b/b1/Papyrus_document_containing_signature_of_Cleopatra_VII_of_Egypt.jpg",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-cleopatra-vii.png",
+    "met_object_id": 259138,
+    "met_title": "Plaster cast of a metal emblema of Isis-Tyche",
+    "met_date": "2nd half of the 3rd century – 2nd century B.C",
+    "met_culture": "Egyptian",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/gr/web-large/sftr236ab2012.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/259138",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-cleopatra-vii.png"
+  },
+  {
+    "name": "Charlemagne",
+    "approx_date": "c. 769–814 CE",
+    "era_sort": 790,
+    "category_type": "seal monogram",
+    "what_was_signed": "Carolingian royal diplomas bearing the cruciform 'signum manus' monogram spelling KAROLVS (~180 originals)",
+    "significance": "Authenticated royal mark of the most important medieval Western ruler.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:Charlemagne_autograph.svg",
+    "source_url": "https://en.wikipedia.org/wiki/Signum_manus",
+    "notes": "Monogram device drawn by scribes; Charlemagne may have added only the central stroke. Not cursive.",
+    "met_query": "Carolingian manuscript",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Charlemagne_autograph.svg/960px-Charlemagne_autograph.svg.png",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-charlemagne.png",
+    "met_object_id": 464278,
+    "met_title": "Triptych",
+    "met_date": "1250–1260",
+    "met_culture": "North French",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/md/web-large/DP142954.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/464278",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-charlemagne.png"
+  },
+  {
+    "name": "Pope Leo IX",
+    "approx_date": "c. 1049–1054 CE",
+    "era_sort": 1051,
+    "category_type": "seal device (rota)",
+    "what_was_signed": "Papal bulls bearing the first 'rota' — a wheel-and-cross authentication device with the pope's name",
+    "significance": "First pope to adopt the rota, the standard papal authentication for centuries.",
+    "signature_image_available": "no",
+    "signature_image_url": "",
+    "source_url": "https://en.wikipedia.org/wiki/Rota_(papal_signature)",
+    "notes": "Chancery-drawn symbol, not cursive handwriting.",
+    "met_query": "medieval papal bull seal",
+    "sig_thumb_url": "",
+    "sig_local": "",
+    "met_object_id": 436282,
+    "met_title": "The Crucifixion; The Last Judgment",
+    "met_date": "ca. 1436–38",
+    "met_culture": "European Paintings",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/ep/web-large/LC-33_92ab-Primary_Temp.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/436282",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-pope-leo-ix.png"
+  },
+  {
+    "name": "El Cid (Rodrigo Díaz de Vivar)",
+    "approx_date": "1098 CE",
+    "era_sort": 1098,
+    "category_type": "true cursive autograph",
+    "what_was_signed": "Charter endowing the Cathedral of Valencia; 'ego Ruderico … afirmo' (Cathedral of Salamanca archive)",
+    "significance": "Widely called the oldest surviving handwritten cursive autograph of a famous named individual.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:Signature_of_El_Cid.svg",
+    "source_url": "https://en.wikipedia.org/wiki/El_Cid",
+    "notes": "A genuine cursive Latin subscription — the first 'true autograph' tier in this list.",
+    "met_query": "medieval Spanish illuminated manuscript",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/72/Signature_of_El_Cid.svg/960px-Signature_of_El_Cid.svg.png",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-el-cid-rodrigo-d-az-de-vivar.png",
+    "met_object_id": 466191,
+    "met_title": "Leaf from a Beatus Manuscript: at the Clarion of the Fifth Angel's Trumpet, a Star Falls from the Sky; the Bottomless Pit is Opened with a Key; Emerging from the Smoke, Locusts Come Upon the Earth and Torment the Deathless",
+    "met_date": "ca. 1180",
+    "met_culture": "Spanish",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/cl/web-large/DP-20629-001.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/466191",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-el-cid-rodrigo-d-az-de-vivar.png"
+  },
+  {
+    "name": "Isabella I of Castile",
+    "approx_date": "c. 1474–1504 CE",
+    "era_sort": 1492,
+    "category_type": "true cursive autograph",
+    "what_was_signed": "Royal decrees incl. the 1492 Capitulations of Santa Fe (Columbus), signed 'Yo la Reina'",
+    "significance": "Her 'Yo la Reina' authorized the European encounter with the Americas.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:Isabella_I_of_Castile_Signature.svg",
+    "source_url": "https://en.wikipedia.org/wiki/Isabella_I_of_Castile",
+    "notes": "Genuine cursive autograph.",
+    "met_query": "Spanish Renaissance",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Isabella_I_of_Castile_Signature.svg/960px-Isabella_I_of_Castile_Signature.svg.png",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-isabella-i-of-castile.png",
+    "met_object_id": 207259,
+    "met_title": "Pendant with the Virgin and Child",
+    "met_date": "probably first half 17th century",
+    "met_culture": "European Sculpture and Decorative Arts",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/es/web-large/DP-36189-001.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/207259",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-isabella-i-of-castile.png"
+  },
+  {
+    "name": "Michelangelo Buonarroti",
+    "approx_date": "1499 CE",
+    "era_sort": 1499,
+    "category_type": "carved + cursive",
+    "what_was_signed": "The Pietà sash (St. Peter's): 'MICHAEL.ANGELUS.BONAROTUS.FLORENT.FACIEBAT'; 342 autograph letters (Casa Buonarroti)",
+    "significance": "The Pietà is the only artwork he ever signed.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:Michelangelo_Signature2.svg",
+    "source_url": "https://commons.wikimedia.org/wiki/Category:Signatures_of_Michelangelo_Buonarroti",
+    "notes": "Pietà signature is carved marble; handwritten letter signatures also survive.",
+    "met_query": "Michelangelo drawing",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Michelangelo_Signature2.svg/960px-Michelangelo_Signature2.svg.png",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-michelangelo-buonarroti.png",
+    "met_object_id": 435844,
+    "met_title": "The Musicians",
+    "met_date": "1597",
+    "met_culture": "European Paintings",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/ep/web-large/DP-687-001.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/435844",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-michelangelo-buonarroti.png"
+  },
+  {
+    "name": "Leonardo da Vinci",
+    "approx_date": "c. 1487–1519 CE",
+    "era_sort": 1500,
+    "category_type": "true cursive autograph",
+    "what_was_signed": "Manuscripts incl. Forster Codex and Codice Atlantico ('io Lionardo')",
+    "significance": "Rare autographs from the defining Renaissance polymath, who seldom signed paintings.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:Leonardo_Da_Vinci_signature_from_Forster_codex.svg",
+    "source_url": "https://commons.wikimedia.org/wiki/Category:Signatures_of_Leonardo_da_Vinci",
+    "notes": "Wrote in mirror-script; 19+ signature files on Commons.",
+    "met_query": "Leonardo da Vinci drawing",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/3/37/Leonardo_Da_Vinci_signature_from_Forster_codex.svg/960px-Leonardo_Da_Vinci_signature_from_Forster_codex.svg.png",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-leonardo-da-vinci.png",
+    "met_object_id": 337494,
+    "met_title": "Compositional Sketches for the Virgin Adoring the Christ Child, with and without the Infant St. John the Baptist; Diagram of a Perspectival Projection (recto); Slight Doodles (verso)",
+    "met_date": "1480–85",
+    "met_culture": "Drawings and Prints",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/dp/web-large/DP832657.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/337494",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-leonardo-da-vinci.png"
+  },
+  {
+    "name": "Albrecht Dürer",
+    "approx_date": "c. 1494–1528 CE",
+    "era_sort": 1500,
+    "category_type": "monogram mark",
+    "what_was_signed": "Paintings/engravings/woodcuts bearing the nested 'AD' monogram (e.g., 1500 Self-Portrait)",
+    "significance": "First artist's trademark defended in court — the pioneer of artistic copyright.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:Albrecht_D%C3%BCrer_Monogramm.svg",
+    "source_url": "https://commons.wikimedia.org/wiki/Category:Monogram_of_Albrecht_D%C3%BCrer",
+    "notes": "A device/brand mark plus a cursive hand in letters.",
+    "met_query": "Albrecht Durer engraving",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Albrecht_D%C3%BCrer_Monogramm.svg/960px-Albrecht_D%C3%BCrer_Monogramm.svg.png",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-albrecht-d-rer.png",
+    "met_object_id": 436243,
+    "met_title": "Salvator Mundi",
+    "met_date": "ca. 1505",
+    "met_culture": "European Paintings",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/ep/web-large/DP-38479-001.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/436243",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-albrecht-d-rer.png"
+  },
+  {
+    "name": "Christopher Columbus",
+    "approx_date": "c. 1493–1506 CE",
+    "era_sort": 1502,
+    "category_type": "true cursive autograph (sigla)",
+    "what_was_signed": "Letters incl. to the Office of St. George (Seville, 1502); cryptic pyramidal sigla S·A·S / X·M·Y / Xpo FERENS",
+    "significance": "One of history's most mysterious signatures — a cipher he ordered his heirs to keep using.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:Columbus_Signature.svg",
+    "source_url": "https://en.wikipedia.org/wiki/Christopher_Columbus",
+    "notes": "Upper tiers of the cipher remain unresolved.",
+    "met_query": "Age of Exploration navigation",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/ee/Columbus_Signature.svg/960px-Columbus_Signature.svg.png",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-christopher-columbus.png",
+    "met_object_id": 466311,
+    "met_title": "Column Statue of a King",
+    "met_date": "ca. 1150–60",
+    "met_culture": "French",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/md/web-large/DP359502.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/466311",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-christopher-columbus.png"
+  },
+  {
+    "name": "Henry VIII of England",
+    "approx_date": "c. 1509–1547 CE",
+    "era_sort": 1513,
+    "category_type": "true cursive autograph",
+    "what_was_signed": "Royal letters/decrees signed 'Henry R' (earliest confirmed 1513)",
+    "significance": "Among the most collected and most forged royal autographs in history.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:HenryVIIISig.svg",
+    "source_url": "https://en.wikipedia.org/wiki/Will_of_Henry_VIII",
+    "notes": "A dry-stamp device was used in his final illness; beware fakes.",
+    "met_query": "Tudor England portrait",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/HenryVIIISig.svg/960px-HenryVIIISig.svg.png",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-henry-viii-of-england.png",
+    "met_object_id": 23939,
+    "met_title": "Armor Garniture of George Clifford (1558–1605), \nThird Earl of Cumberland",
+    "met_date": "1586",
+    "met_culture": "British, Greenwich",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/aa/web-large/DT259974.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/23939",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-henry-viii-of-england.png"
+  },
+  {
+    "name": "Martin Luther",
+    "approx_date": "c. 1517–1546 CE",
+    "era_sort": 1517,
+    "category_type": "true cursive autograph",
+    "what_was_signed": "Hundreds of letters incl. the 95 Theses cover letter to Archbishop Albert of Mainz (1517)",
+    "significance": "Autograph letters among the most consequential documents of the Reformation.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:Martin_Luther_Signature.svg",
+    "source_url": "https://en.wikipedia.org/wiki/Martin_Luther",
+    "notes": "Signed 'Martinus LütheR D' with a raised-R flourish.",
+    "met_query": "Reformation Cranach print",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/Martin_Luther_Signature.svg/960px-Martin_Luther_Signature.svg.png",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-martin-luther.png",
+    "met_object_id": 436037,
+    "met_title": "The Judgment of Paris",
+    "met_date": "ca. 1528",
+    "met_culture": "European Paintings",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/ep/web-large/DP280358.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/436037",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-martin-luther.png"
+  },
+  {
+    "name": "Queen Elizabeth I",
+    "approx_date": "c. 1544–1603 CE",
+    "era_sort": 1558,
+    "category_type": "true cursive autograph",
+    "what_was_signed": "State documents/letters signed 'Elizabeth R' with an elaborate italic flourish",
+    "significance": "One of the most recognizable autographs in English history.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:Autograph_of_Elizabeth_I_of_England.svg",
+    "source_url": "https://en.wikipedia.org/wiki/Elizabeth_I_of_England",
+    "notes": "Distinctive humanist italic hand that evolved over her reign.",
+    "met_query": "Elizabethan England portrait",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/54/Autograph_of_Elizabeth_I_of_England.svg/960px-Autograph_of_Elizabeth_I_of_England.svg.png",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-queen-elizabeth-i.png",
+    "met_object_id": 22139,
+    "met_title": "Armor of Sir James Scudamore (1558–1619)",
+    "met_date": "ca. 1595–96; restored and completed, 1915",
+    "met_culture": "British, Greenwich",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/aa/web-large/DP271845.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/22139",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-queen-elizabeth-i.png"
+  },
+  {
+    "name": "Galileo Galilei",
+    "approx_date": "c. 1595–1642 CE",
+    "era_sort": 1610,
+    "category_type": "true cursive autograph",
+    "what_was_signed": "Very rare signed documents/letters (e.g., a 1595 Padua document)",
+    "significance": "'Of the utmost rarity' — only a few authenticated specimens in private hands.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:Galileo_Galilei_Signature_2.svg",
+    "source_url": "https://en.wikipedia.org/wiki/Galileo_Galilei",
+    "notes": "Two signature SVGs confirmed on Commons.",
+    "met_query": "Galileo astronomy instrument",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Galileo_Galilei_Signature_2.svg/960px-Galileo_Galilei_Signature_2.svg.png",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-galileo-galilei.png",
+    "met_object_id": 377877,
+    "met_title": "Galileo and personifications of Astronomy, Perspective and Mathematics, frontispiece for 'Opere di Galileo Galilei'",
+    "met_date": "1656",
+    "met_culture": "Drawings and Prints",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/dp/web-large/DP818079.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/377877",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-galileo-galilei.png"
+  },
+  {
+    "name": "William Shakespeare",
+    "approx_date": "1612–1616 CE",
+    "era_sort": 1613,
+    "category_type": "true cursive autograph",
+    "what_was_signed": "Six signatures on four legal documents (Bellott v. Mountjoy deposition; Blackfriars deeds; the three-page will)",
+    "significance": "Only six authenticated signatures survive — none on any literary manuscript.",
+    "signature_image_available": "yes",
+    "signature_image_url": "https://commons.wikimedia.org/wiki/File:William_Shakespeare_Signature.svg",
+    "source_url": "https://en.wikipedia.org/wiki/Shakespeare%27s_handwriting",
+    "notes": "Secretary-hand; he spelled his own name differently across the six.",
+    "met_query": "Jacobean England engraving",
+    "sig_thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/William_Shakespeare_Signature.svg/960px-William_Shakespeare_Signature.svg.png",
+    "sig_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/sig-william-shakespeare.png",
+    "met_object_id": 194067,
+    "met_title": "Watch in the form of a Lesser George",
+    "met_date": "ca. 1600",
+    "met_culture": "European Sculpture and Decorative Arts",
+    "met_image_url": "https://images.metmuseum.org/CRDImages/es/web-large/DP340439.jpg",
+    "met_object_url": "https://www.metmuseum.org/art/collection/search/194067",
+    "met_local": "/Users/stevestudio2/Projects/CelebritySignatures/tmp_oldest_cache/met-william-shakespeare.png"
+  }
+]
\ No newline at end of file
diff --git a/data/oldest-signatures.csv b/data/oldest-signatures.csv
new file mode 100644
index 0000000..71d5bb8
--- /dev/null
+++ b/data/oldest-signatures.csv
@@ -0,0 +1,20 @@
+era_sort,name,approx_date,category_type,what_was_signed,significance,signature_image_available,signature_image_url,met_object_id,met_title,met_date,met_culture,met_object_url,source_url,notes

+-3100,GAR.AMA (Uruk scribe),c. 3100 BCE,clay colophon,"Proto-cuneiform lexical clay tablet listing 41 titles/professions (Schøyen MS 2429/4), Sumer",Cited by the Schøyen Collection as the earliest extant autograph signature — a named scribe signing a lexical list.,no,,329081,"Proto-Cuneiform tablet with seal impressions: administrative account of barley distribution with cylinder seal impression of a male figure, hunting dogs, and boars",ca. 3100–2900 BCE,Sumerian,https://www.metmuseum.org/art/collection/search/329081,https://www.schoyencollection.com/scribes-collection/scribal-training/lexical-list-oldest-autograph-ms-2494-4,"Scribal colophon impressed in wet clay, not cursive handwriting."

+-3100,Kushim (Uruk accountant),c. 3200–3000 BCE,clay colophon,"18 proto-cuneiform barley-account tablets bearing the name 'Kushim', Uruk (mostly Louvre)",Widely cited as the oldest recorded personal name in history — an accountant's mark on institutional barley receipts.,no,,329081,"Proto-Cuneiform tablet with seal impressions: administrative account of barley distribution with cylinder seal impression of a male figure, hunting dogs, and boars",ca. 3100–2900 BCE,Sumerian,https://www.metmuseum.org/art/collection/search/329081,https://en.wikipedia.org/wiki/Kushim_(Uruk_period),"CONTESTED: 'Kushim' may be a title/office, not a person (Harari popularized it; Assyriologists are split). Impressed clay, not a handwritten autograph."

+-2560,Inspector Merer,c. 2560 BCE,papyrus log,"The Diary of Merer (Wadi el-Jarf Papyrus) — first-person logbook of Great Pyramid logistics, 26th year of Khufu","World's oldest surviving inscribed papyrus, written by a named first-person official.",no,,551898,Composite Papyrus Capital,380–343 B.C.,Egyptian Art,https://www.metmuseum.org/art/collection/search/551898,https://en.wikipedia.org/wiki/Diary_of_Merer,"A first-person record, not a discrete signature."

+-2270,Enheduanna,c. 2285–2250 BCE,clay colophon,Cuneiform colophons on the 'Exaltation of Inanna' hymns; named on the alabaster Disc of Enheduanna (Penn Museum B16665),Earliest known named author in literary history; signed her own literary colophons.,yes,https://commons.wikimedia.org/wiki/File:Disk_of_Enheduanna.JPG,329090,Cylinder seal and modern impression: hunting scene,ca. 2250–2150 BCE,Akkadian,https://www.metmuseum.org/art/collection/search/329090,https://www.worldhistory.org/Enheduanna/,"The disc is sculpted, not handwritten; surviving tablet copies postdate her by centuries (attribution debated)."

+-33,Cleopatra VII,33 BCE,cursive (contested),"Papyrus Bingen 45 — royal tax-exemption decree for P. Canidius; bottom word 'ginesthoi' (γινέσθωι, 'so be it')",Argued by some scholars to be the only surviving handwritten word by Cleopatra.,yes,https://commons.wikimedia.org/wiki/File:Papyrus_document_containing_signature_of_Cleopatra_VII_of_Egypt.jpg,259138,Plaster cast of a metal emblema of Isis-Tyche,2nd half of the 3rd century – 2nd century B.C,Egyptian,https://www.metmuseum.org/art/collection/search/259138,https://en.wikipedia.org/wiki/Papyrus_Bingen_45,HOTLY DISPUTED (van Minnen/Zimmermann vs. Sarri/Bagnall) — may be a scribe's hand throughout.

+790,Charlemagne,c. 769–814 CE,seal monogram,Carolingian royal diplomas bearing the cruciform 'signum manus' monogram spelling KAROLVS (~180 originals),Authenticated royal mark of the most important medieval Western ruler.,yes,https://commons.wikimedia.org/wiki/File:Charlemagne_autograph.svg,464278,Triptych,1250–1260,North French,https://www.metmuseum.org/art/collection/search/464278,https://en.wikipedia.org/wiki/Signum_manus,Monogram device drawn by scribes; Charlemagne may have added only the central stroke. Not cursive.

+1051,Pope Leo IX,c. 1049–1054 CE,seal device (rota),Papal bulls bearing the first 'rota' — a wheel-and-cross authentication device with the pope's name,"First pope to adopt the rota, the standard papal authentication for centuries.",no,,436282,The Crucifixion; The Last Judgment,ca. 1436–38,European Paintings,https://www.metmuseum.org/art/collection/search/436282,https://en.wikipedia.org/wiki/Rota_(papal_signature),"Chancery-drawn symbol, not cursive handwriting."

+1098,El Cid (Rodrigo Díaz de Vivar),1098 CE,true cursive autograph,Charter endowing the Cathedral of Valencia; 'ego Ruderico … afirmo' (Cathedral of Salamanca archive),Widely called the oldest surviving handwritten cursive autograph of a famous named individual.,yes,https://commons.wikimedia.org/wiki/File:Signature_of_El_Cid.svg,466191,"Leaf from a Beatus Manuscript: at the Clarion of the Fifth Angel's Trumpet, a Star Falls from the Sky; the Bottomless Pit is Opened with a Key; Emerging from the Smoke, Locusts Come Upon the Earth and Torment the Deathless",ca. 1180,Spanish,https://www.metmuseum.org/art/collection/search/466191,https://en.wikipedia.org/wiki/El_Cid,A genuine cursive Latin subscription — the first 'true autograph' tier in this list.

+1492,Isabella I of Castile,c. 1474–1504 CE,true cursive autograph,"Royal decrees incl. the 1492 Capitulations of Santa Fe (Columbus), signed 'Yo la Reina'",Her 'Yo la Reina' authorized the European encounter with the Americas.,yes,https://commons.wikimedia.org/wiki/File:Isabella_I_of_Castile_Signature.svg,207259,Pendant with the Virgin and Child,probably first half 17th century,European Sculpture and Decorative Arts,https://www.metmuseum.org/art/collection/search/207259,https://en.wikipedia.org/wiki/Isabella_I_of_Castile,Genuine cursive autograph.

+1499,Michelangelo Buonarroti,1499 CE,carved + cursive,The Pietà sash (St. Peter's): 'MICHAEL.ANGELUS.BONAROTUS.FLORENT.FACIEBAT'; 342 autograph letters (Casa Buonarroti),The Pietà is the only artwork he ever signed.,yes,https://commons.wikimedia.org/wiki/File:Michelangelo_Signature2.svg,435844,The Musicians,1597,European Paintings,https://www.metmuseum.org/art/collection/search/435844,https://commons.wikimedia.org/wiki/Category:Signatures_of_Michelangelo_Buonarroti,Pietà signature is carved marble; handwritten letter signatures also survive.

+1500,Leonardo da Vinci,c. 1487–1519 CE,true cursive autograph,Manuscripts incl. Forster Codex and Codice Atlantico ('io Lionardo'),"Rare autographs from the defining Renaissance polymath, who seldom signed paintings.",yes,https://commons.wikimedia.org/wiki/File:Leonardo_Da_Vinci_signature_from_Forster_codex.svg,337494,"Compositional Sketches for the Virgin Adoring the Christ Child, with and without the Infant St. John the Baptist; Diagram of a Perspectival Projection (recto); Slight Doodles (verso)",1480–85,Drawings and Prints,https://www.metmuseum.org/art/collection/search/337494,https://commons.wikimedia.org/wiki/Category:Signatures_of_Leonardo_da_Vinci,Wrote in mirror-script; 19+ signature files on Commons.

+1500,Albrecht Dürer,c. 1494–1528 CE,monogram mark,"Paintings/engravings/woodcuts bearing the nested 'AD' monogram (e.g., 1500 Self-Portrait)",First artist's trademark defended in court — the pioneer of artistic copyright.,yes,https://commons.wikimedia.org/wiki/File:Albrecht_D%C3%BCrer_Monogramm.svg,436243,Salvator Mundi,ca. 1505,European Paintings,https://www.metmuseum.org/art/collection/search/436243,https://commons.wikimedia.org/wiki/Category:Monogram_of_Albrecht_D%C3%BCrer,A device/brand mark plus a cursive hand in letters.

+1502,Christopher Columbus,c. 1493–1506 CE,true cursive autograph (sigla),"Letters incl. to the Office of St. George (Seville, 1502); cryptic pyramidal sigla S·A·S / X·M·Y / Xpo FERENS",One of history's most mysterious signatures — a cipher he ordered his heirs to keep using.,yes,https://commons.wikimedia.org/wiki/File:Columbus_Signature.svg,466311,Column Statue of a King,ca. 1150–60,French,https://www.metmuseum.org/art/collection/search/466311,https://en.wikipedia.org/wiki/Christopher_Columbus,Upper tiers of the cipher remain unresolved.

+1513,Henry VIII of England,c. 1509–1547 CE,true cursive autograph,Royal letters/decrees signed 'Henry R' (earliest confirmed 1513),Among the most collected and most forged royal autographs in history.,yes,https://commons.wikimedia.org/wiki/File:HenryVIIISig.svg,23939,"Armor Garniture of George Clifford (1558–1605), 
+Third Earl of Cumberland",1586,"British, Greenwich",https://www.metmuseum.org/art/collection/search/23939,https://en.wikipedia.org/wiki/Will_of_Henry_VIII,A dry-stamp device was used in his final illness; beware fakes.

+1517,Martin Luther,c. 1517–1546 CE,true cursive autograph,Hundreds of letters incl. the 95 Theses cover letter to Archbishop Albert of Mainz (1517),Autograph letters among the most consequential documents of the Reformation.,yes,https://commons.wikimedia.org/wiki/File:Martin_Luther_Signature.svg,436037,The Judgment of Paris,ca. 1528,European Paintings,https://www.metmuseum.org/art/collection/search/436037,https://en.wikipedia.org/wiki/Martin_Luther,Signed 'Martinus LütheR D' with a raised-R flourish.

+1558,Queen Elizabeth I,c. 1544–1603 CE,true cursive autograph,State documents/letters signed 'Elizabeth R' with an elaborate italic flourish,One of the most recognizable autographs in English history.,yes,https://commons.wikimedia.org/wiki/File:Autograph_of_Elizabeth_I_of_England.svg,22139,Armor of Sir James Scudamore (1558–1619),"ca. 1595–96; restored and completed, 1915","British, Greenwich",https://www.metmuseum.org/art/collection/search/22139,https://en.wikipedia.org/wiki/Elizabeth_I_of_England,Distinctive humanist italic hand that evolved over her reign.

+1610,Galileo Galilei,c. 1595–1642 CE,true cursive autograph,"Very rare signed documents/letters (e.g., a 1595 Padua document)",'Of the utmost rarity' — only a few authenticated specimens in private hands.,yes,https://commons.wikimedia.org/wiki/File:Galileo_Galilei_Signature_2.svg,377877,"Galileo and personifications of Astronomy, Perspective and Mathematics, frontispiece for 'Opere di Galileo Galilei'",1656,Drawings and Prints,https://www.metmuseum.org/art/collection/search/377877,https://en.wikipedia.org/wiki/Galileo_Galilei,Two signature SVGs confirmed on Commons.

+1613,William Shakespeare,1612–1616 CE,true cursive autograph,Six signatures on four legal documents (Bellott v. Mountjoy deposition; Blackfriars deeds; the three-page will),Only six authenticated signatures survive — none on any literary manuscript.,yes,https://commons.wikimedia.org/wiki/File:William_Shakespeare_Signature.svg,194067,Watch in the form of a Lesser George,ca. 1600,European Sculpture and Decorative Arts,https://www.metmuseum.org/art/collection/search/194067,https://en.wikipedia.org/wiki/Shakespeare%27s_handwriting,Secretary-hand; he spelled his own name differently across the six.

diff --git a/data/oldest-signatures.json b/data/oldest-signatures.json
new file mode 100644
index 0000000..03d9cb0
--- /dev/null
+++ b/data/oldest-signatures.json
@@ -0,0 +1,20 @@
+[
+  {"name":"GAR.AMA (Uruk scribe)","approx_date":"c. 3100 BCE","era_sort":-3100,"category_type":"clay colophon","what_was_signed":"Proto-cuneiform lexical clay tablet listing 41 titles/professions (Schøyen MS 2429/4), Sumer","significance":"Cited by the Schøyen Collection as the earliest extant autograph signature — a named scribe signing a lexical list.","signature_image_available":"no","signature_image_url":"","source_url":"https://www.schoyencollection.com/scribes-collection/scribal-training/lexical-list-oldest-autograph-ms-2494-4","notes":"Scribal colophon impressed in wet clay, not cursive handwriting.","met_query":"cuneiform tablet"},
+  {"name":"Kushim (Uruk accountant)","approx_date":"c. 3200–3000 BCE","era_sort":-3100,"category_type":"clay colophon","what_was_signed":"18 proto-cuneiform barley-account tablets bearing the name 'Kushim', Uruk (mostly Louvre)","significance":"Widely cited as the oldest recorded personal name in history — an accountant's mark on institutional barley receipts.","signature_image_available":"no","signature_image_url":"","source_url":"https://en.wikipedia.org/wiki/Kushim_(Uruk_period)","notes":"CONTESTED: 'Kushim' may be a title/office, not a person (Harari popularized it; Assyriologists are split). Impressed clay, not a handwritten autograph.","met_query":"cuneiform tablet account"},
+  {"name":"Enheduanna","approx_date":"c. 2285–2250 BCE","era_sort":-2270,"category_type":"clay colophon","what_was_signed":"Cuneiform colophons on the 'Exaltation of Inanna' hymns; named on the alabaster Disc of Enheduanna (Penn Museum B16665)","significance":"Earliest known named author in literary history; signed her own literary colophons.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:Disk_of_Enheduanna.JPG","source_url":"https://www.worldhistory.org/Enheduanna/","notes":"The disc is sculpted, not handwritten; surviving tablet copies postdate her by centuries (attribution debated).","met_query":"Akkadian cylinder seal"},
+  {"name":"Inspector Merer","approx_date":"c. 2560 BCE","era_sort":-2560,"category_type":"papyrus log","what_was_signed":"The Diary of Merer (Wadi el-Jarf Papyrus) — first-person logbook of Great Pyramid logistics, 26th year of Khufu","significance":"World's oldest surviving inscribed papyrus, written by a named first-person official.","signature_image_available":"no","signature_image_url":"","source_url":"https://en.wikipedia.org/wiki/Diary_of_Merer","notes":"A first-person record, not a discrete signature.","met_query":"Egyptian papyrus Old Kingdom"},
+  {"name":"Cleopatra VII","approx_date":"33 BCE","era_sort":-33,"category_type":"cursive (contested)","what_was_signed":"Papyrus Bingen 45 — royal tax-exemption decree for P. Canidius; bottom word 'ginesthoi' (γινέσθωι, 'so be it')","significance":"Argued by some scholars to be the only surviving handwritten word by Cleopatra.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:Papyrus_document_containing_signature_of_Cleopatra_VII_of_Egypt.jpg","source_url":"https://en.wikipedia.org/wiki/Papyrus_Bingen_45","notes":"HOTLY DISPUTED (van Minnen/Zimmermann vs. Sarri/Bagnall) — may be a scribe's hand throughout.","met_query":"Ptolemaic Egypt papyrus"},
+  {"name":"Charlemagne","approx_date":"c. 769–814 CE","era_sort":790,"category_type":"seal monogram","what_was_signed":"Carolingian royal diplomas bearing the cruciform 'signum manus' monogram spelling KAROLVS (~180 originals)","significance":"Authenticated royal mark of the most important medieval Western ruler.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:Charlemagne_autograph.svg","source_url":"https://en.wikipedia.org/wiki/Signum_manus","notes":"Monogram device drawn by scribes; Charlemagne may have added only the central stroke. Not cursive.","met_query":"Carolingian manuscript"},
+  {"name":"El Cid (Rodrigo Díaz de Vivar)","approx_date":"1098 CE","era_sort":1098,"category_type":"true cursive autograph","what_was_signed":"Charter endowing the Cathedral of Valencia; 'ego Ruderico … afirmo' (Cathedral of Salamanca archive)","significance":"Widely called the oldest surviving handwritten cursive autograph of a famous named individual.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:Signature_of_El_Cid.svg","source_url":"https://en.wikipedia.org/wiki/El_Cid","notes":"A genuine cursive Latin subscription — the first 'true autograph' tier in this list.","met_query":"medieval Spanish illuminated manuscript"},
+  {"name":"Pope Leo IX","approx_date":"c. 1049–1054 CE","era_sort":1051,"category_type":"seal device (rota)","what_was_signed":"Papal bulls bearing the first 'rota' — a wheel-and-cross authentication device with the pope's name","significance":"First pope to adopt the rota, the standard papal authentication for centuries.","signature_image_available":"no","signature_image_url":"","source_url":"https://en.wikipedia.org/wiki/Rota_(papal_signature)","notes":"Chancery-drawn symbol, not cursive handwriting.","met_query":"medieval papal bull seal"},
+  {"name":"Isabella I of Castile","approx_date":"c. 1474–1504 CE","era_sort":1492,"category_type":"true cursive autograph","what_was_signed":"Royal decrees incl. the 1492 Capitulations of Santa Fe (Columbus), signed 'Yo la Reina'","significance":"Her 'Yo la Reina' authorized the European encounter with the Americas.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:Isabella_I_of_Castile_Signature.svg","source_url":"https://en.wikipedia.org/wiki/Isabella_I_of_Castile","notes":"Genuine cursive autograph.","met_query":"Spanish Renaissance"},
+  {"name":"Christopher Columbus","approx_date":"c. 1493–1506 CE","era_sort":1502,"category_type":"true cursive autograph (sigla)","what_was_signed":"Letters incl. to the Office of St. George (Seville, 1502); cryptic pyramidal sigla S·A·S / X·M·Y / Xpo FERENS","significance":"One of history's most mysterious signatures — a cipher he ordered his heirs to keep using.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:Columbus_Signature.svg","source_url":"https://en.wikipedia.org/wiki/Christopher_Columbus","notes":"Upper tiers of the cipher remain unresolved.","met_query":"Age of Exploration navigation"},
+  {"name":"Leonardo da Vinci","approx_date":"c. 1487–1519 CE","era_sort":1500,"category_type":"true cursive autograph","what_was_signed":"Manuscripts incl. Forster Codex and Codice Atlantico ('io Lionardo')","significance":"Rare autographs from the defining Renaissance polymath, who seldom signed paintings.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:Leonardo_Da_Vinci_signature_from_Forster_codex.svg","source_url":"https://commons.wikimedia.org/wiki/Category:Signatures_of_Leonardo_da_Vinci","notes":"Wrote in mirror-script; 19+ signature files on Commons.","met_query":"Leonardo da Vinci drawing"},
+  {"name":"Michelangelo Buonarroti","approx_date":"1499 CE","era_sort":1499,"category_type":"carved + cursive","what_was_signed":"The Pietà sash (St. Peter's): 'MICHAEL.ANGELUS.BONAROTUS.FLORENT.FACIEBAT'; 342 autograph letters (Casa Buonarroti)","significance":"The Pietà is the only artwork he ever signed.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:Michelangelo_Signature2.svg","source_url":"https://commons.wikimedia.org/wiki/Category:Signatures_of_Michelangelo_Buonarroti","notes":"Pietà signature is carved marble; handwritten letter signatures also survive.","met_query":"Michelangelo drawing"},
+  {"name":"Albrecht Dürer","approx_date":"c. 1494–1528 CE","era_sort":1500,"category_type":"monogram mark","what_was_signed":"Paintings/engravings/woodcuts bearing the nested 'AD' monogram (e.g., 1500 Self-Portrait)","significance":"First artist's trademark defended in court — the pioneer of artistic copyright.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:Albrecht_D%C3%BCrer_Monogramm.svg","source_url":"https://commons.wikimedia.org/wiki/Category:Monogram_of_Albrecht_D%C3%BCrer","notes":"A device/brand mark plus a cursive hand in letters.","met_query":"Albrecht Durer engraving"},
+  {"name":"Martin Luther","approx_date":"c. 1517–1546 CE","era_sort":1517,"category_type":"true cursive autograph","what_was_signed":"Hundreds of letters incl. the 95 Theses cover letter to Archbishop Albert of Mainz (1517)","significance":"Autograph letters among the most consequential documents of the Reformation.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:Martin_Luther_Signature.svg","source_url":"https://en.wikipedia.org/wiki/Martin_Luther","notes":"Signed 'Martinus LütheR D' with a raised-R flourish.","met_query":"Reformation Cranach print"},
+  {"name":"Henry VIII of England","approx_date":"c. 1509–1547 CE","era_sort":1513,"category_type":"true cursive autograph","what_was_signed":"Royal letters/decrees signed 'Henry R' (earliest confirmed 1513)","significance":"Among the most collected and most forged royal autographs in history.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:HenryVIIISig.svg","source_url":"https://en.wikipedia.org/wiki/Will_of_Henry_VIII","notes":"A dry-stamp device was used in his final illness; beware fakes.","met_query":"Tudor England portrait"},
+  {"name":"Queen Elizabeth I","approx_date":"c. 1544–1603 CE","era_sort":1558,"category_type":"true cursive autograph","what_was_signed":"State documents/letters signed 'Elizabeth R' with an elaborate italic flourish","significance":"One of the most recognizable autographs in English history.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:Autograph_of_Elizabeth_I_of_England.svg","source_url":"https://en.wikipedia.org/wiki/Elizabeth_I_of_England","notes":"Distinctive humanist italic hand that evolved over her reign.","met_query":"Elizabethan England portrait"},
+  {"name":"William Shakespeare","approx_date":"1612–1616 CE","era_sort":1613,"category_type":"true cursive autograph","what_was_signed":"Six signatures on four legal documents (Bellott v. Mountjoy deposition; Blackfriars deeds; the three-page will)","significance":"Only six authenticated signatures survive — none on any literary manuscript.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:William_Shakespeare_Signature.svg","source_url":"https://en.wikipedia.org/wiki/Shakespeare%27s_handwriting","notes":"Secretary-hand; he spelled his own name differently across the six.","met_query":"Jacobean England engraving"},
+  {"name":"Galileo Galilei","approx_date":"c. 1595–1642 CE","era_sort":1610,"category_type":"true cursive autograph","what_was_signed":"Very rare signed documents/letters (e.g., a 1595 Padua document)","significance":"'Of the utmost rarity' — only a few authenticated specimens in private hands.","signature_image_available":"yes","signature_image_url":"https://commons.wikimedia.org/wiki/File:Galileo_Galilei_Signature_2.svg","source_url":"https://en.wikipedia.org/wiki/Galileo_Galilei","notes":"Two signature SVGs confirmed on Commons.","met_query":"Galileo astronomy instrument"}
+]
diff --git a/output/mural-oldest-signatures-named.png b/output/mural-oldest-signatures-named.png
new file mode 100644
index 0000000..cf86d68
Binary files /dev/null and b/output/mural-oldest-signatures-named.png differ
diff --git a/output/mural-oldest-signatures.png b/output/mural-oldest-signatures.png
new file mode 100644
index 0000000..29c3b35
Binary files /dev/null and b/output/mural-oldest-signatures.png differ
diff --git a/scripts/build-oldest-signatures.py b/scripts/build-oldest-signatures.py
new file mode 100644
index 0000000..79695e3
--- /dev/null
+++ b/scripts/build-oldest-signatures.py
@@ -0,0 +1,240 @@
+#!/usr/bin/env python3
+"""
+Oldest Signatures in History — spreadsheet + mural builder.
+
+- Resolves each entry's Wikimedia Commons signature image (File: page -> rasterized
+  thumbnail) and verifies it loads.
+- For every entry, finds a PUBLIC-DOMAIN artwork from the Met Museum Open Access API
+  (collectionapi.metmuseum.org, no key) to use as the visual plate — essential for the
+  ancient clay-tablet / papyrus / seal entries that have no clean signature image.
+- Writes data/oldest-signatures.csv (the spreadsheet).
+- Composes output/mural-oldest-signatures(.png / -named.png): a chronological grid,
+  signature image where one exists, otherwise the Met artwork, each cell labeled.
+
+Free / local except for public no-key HTTP (Wikimedia + Met). $0.
+"""
+import json, os, re, time, urllib.parse, urllib.request, csv
+from io import BytesIO
+from PIL import Image, ImageDraw, ImageFont
+
+ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+DATA = os.path.join(ROOT, "data", "oldest-signatures.json")
+CSV_OUT = os.path.join(ROOT, "data", "oldest-signatures.csv")
+CACHE = os.path.join(ROOT, "tmp_oldest_cache")
+OUT = os.path.join(ROOT, "output")
+UA = "CelebritySignatures-research/1.0 (steve@designerwallcoverings.com)"
+COMMONS = "https://commons.wikimedia.org/w/api.php"
+MET = "https://collectionapi.metmuseum.org/public/collection/v1"
+os.makedirs(CACHE, exist_ok=True); os.makedirs(OUT, exist_ok=True)
+
+
+def get(url, tries=3):
+    for i in range(tries):
+        try:
+            req = urllib.request.Request(url, headers={"User-Agent": UA})
+            with urllib.request.urlopen(req, timeout=25) as r:
+                return r.read()
+        except Exception as e:
+            if i == tries - 1:
+                print(f"   ! fetch failed {url[:80]} :: {e}")
+                return None
+            time.sleep(1.2 * (i + 1))
+
+
+def getjson(url):
+    b = get(url)
+    try:
+        return json.loads(b) if b else None
+    except Exception:
+        return None
+
+
+def cache_img(url, key):
+    if not url:
+        return None
+    ext = ".png"
+    p = os.path.join(CACHE, re.sub(r"[^a-z0-9]+", "-", key.lower()).strip("-") + ext)
+    if os.path.exists(p) and os.path.getsize(p) > 200:
+        return p
+    b = get(url)
+    if not b:
+        return None
+    try:
+        im = Image.open(BytesIO(b)).convert("RGBA")
+        im.save(p)
+        return p
+    except Exception as e:
+        print(f"   ! decode failed {key}: {e}")
+        return None
+
+
+def resolve_commons(file_page_url, width=700):
+    """Commons 'File:Name' page URL -> rasterized thumbnail URL (handles SVG)."""
+    if not file_page_url or "File:" not in file_page_url:
+        return None
+    title = "File:" + file_page_url.split("File:")[-1]
+    title = urllib.parse.unquote(title)
+    q = (f"{COMMONS}?action=query&titles={urllib.parse.quote(title)}"
+         f"&prop=imageinfo&iiprop=url&iiurlwidth={width}&format=json")
+    d = getjson(q)
+    try:
+        pages = d["query"]["pages"]
+        info = next(iter(pages.values()))["imageinfo"][0]
+        return info.get("thumburl") or info.get("url")
+    except Exception:
+        return None
+
+
+def met_public_domain(query):
+    """Return first public-domain Met object with an image for a search query."""
+    s = getjson(f"{MET}/search?q={urllib.parse.quote(query)}&hasImages=true")
+    ids = (s or {}).get("objectIDs") or []
+    for oid in ids[:12]:
+        o = getjson(f"{MET}/objects/{oid}")
+        if not o:
+            continue
+        if o.get("isPublicDomain") and (o.get("primaryImageSmall") or o.get("primaryImage")):
+            return {
+                "met_object_id": oid,
+                "met_title": o.get("title", ""),
+                "met_date": o.get("objectDate", ""),
+                "met_culture": o.get("culture") or o.get("department", ""),
+                "met_image_url": o.get("primaryImageSmall") or o.get("primaryImage"),
+                "met_object_url": o.get("objectURL", ""),
+            }
+        time.sleep(0.05)
+    return None
+
+
+def font(sz, bold=False):
+    for p in ([
+        "/System/Library/Fonts/Supplemental/Georgia Bold.ttf" if bold else "/System/Library/Fonts/Supplemental/Georgia.ttf",
+        "/System/Library/Fonts/Supplemental/Arial Bold.ttf" if bold else "/System/Library/Fonts/Supplemental/Arial.ttf",
+    ]):
+        try:
+            return ImageFont.truetype(p, sz)
+        except Exception:
+            continue
+    return ImageFont.load_default()
+
+
+def gather():
+    data = json.load(open(DATA))
+    data.sort(key=lambda r: r["era_sort"])
+    for r in data:
+        print(f"· {r['name']} ({r['approx_date']})")
+        # signature image
+        r["sig_thumb_url"] = ""
+        r["sig_local"] = ""
+        if r.get("signature_image_url"):
+            t = resolve_commons(r["signature_image_url"])
+            if t:
+                r["sig_thumb_url"] = t
+                r["sig_local"] = cache_img(t, "sig-" + r["name"]) or ""
+                print(f"   sig: {'OK' if r['sig_local'] else 'resolve-only'}")
+        # Met public-domain art
+        m = met_public_domain(r.get("met_query", r["name"]))
+        if m:
+            r.update(m)
+            r["met_local"] = cache_img(m["met_image_url"], "met-" + r["name"]) or ""
+            print(f"   met: PD #{m['met_object_id']} — {m['met_title'][:48]}")
+        else:
+            for k in ("met_object_id", "met_title", "met_date", "met_culture", "met_image_url", "met_object_url"):
+                r[k] = ""
+            r["met_local"] = ""
+            print("   met: none found")
+        time.sleep(0.1)
+    return data
+
+
+def write_csv(data):
+    cols = ["era_sort", "name", "approx_date", "category_type", "what_was_signed",
+            "significance", "signature_image_available", "signature_image_url",
+            "met_object_id", "met_title", "met_date", "met_culture", "met_object_url",
+            "source_url", "notes"]
+    with open(CSV_OUT, "w", newline="") as fh:
+        w = csv.DictWriter(fh, fieldnames=cols, extrasaction="ignore")
+        w.writeheader()
+        for r in data:
+            w.writerow(r)
+    print(f"\nSpreadsheet -> {os.path.relpath(CSV_OUT, ROOT)} ({len(data)} rows)")
+
+
+def fit(im, bw, bh):
+    im = im.copy(); im.thumbnail((bw, bh), Image.LANCZOS); return im
+
+
+def build_mural(data, named):
+    COLS = 4
+    rows = (len(data) + COLS - 1) // COLS
+    PLATE_W, PLATE_H = 360, 300
+    PAD = 26
+    LABEL_H = 96 if named else 0
+    CELL_W = PLATE_W + PAD
+    CELL_H = PLATE_H + LABEL_H + PAD
+    HEADER_H = 200
+    FOOT = 70
+    W = COLS * CELL_W + PAD
+    H = HEADER_H + rows * CELL_H + FOOT
+    INK = (26, 24, 22); MUTED = (120, 116, 110); LINE = (224, 220, 214)
+    img = Image.new("RGB", (W, H), (250, 249, 246))
+    d = ImageDraw.Draw(img)
+    # header
+    d.text((PAD + 8, 54), "Oldest Signatures in History", font=font(52, True), fill=INK)
+    d.text((PAD + 10, 122),
+           "From the earliest cuneiform scribal marks (c. 3100 BCE) to the Renaissance — paired with public-domain artifacts from The Met.",
+           font=font(20), fill=MUTED)
+    d.line([(PAD + 8, HEADER_H - 18), (W - PAD - 8, HEADER_H - 18)], fill=LINE, width=2)
+
+    for i, r in enumerate(data):
+        cx = PAD + (i % COLS) * CELL_W
+        cy = HEADER_H + (i // COLS) * CELL_H
+        # plate background
+        d.rectangle([cx, cy, cx + PLATE_W, cy + PLATE_H], fill=(255, 255, 255), outline=LINE, width=2)
+        used = None
+        # prefer the signature image; else the Met artwork
+        src = r.get("sig_local") or r.get("met_local")
+        is_met = not r.get("sig_local") and r.get("met_local")
+        if src and os.path.exists(src):
+            try:
+                im = Image.open(src).convert("RGBA")
+                bg = Image.new("RGBA", im.size, (255, 255, 255, 255))
+                im = Image.alpha_composite(bg, im).convert("RGB")
+                im = fit(im, PLATE_W - 28, PLATE_H - 28)
+                img.paste(im, (cx + (PLATE_W - im.width) // 2, cy + (PLATE_H - im.height) // 2))
+                used = "met" if is_met else "sig"
+            except Exception as e:
+                print(f"   ! paste {r['name']}: {e}")
+        if not used:
+            d.text((cx + 18, cy + PLATE_H // 2 - 10), "(no public-domain image)", font=font(15), fill=MUTED)
+        # tiny provenance tag
+        tag = "Met artifact" if used == "met" else ("signature" if used == "sig" else "")
+        if tag:
+            d.text((cx + 12, cy + 10), tag, font=font(13, True), fill=(150, 120, 60) if used == "met" else (90, 130, 90))
+        if named:
+            ly = cy + PLATE_H + 12
+            d.text((cx + 8, ly), r["name"][:34], font=font(19, True), fill=INK)
+            d.text((cx + 8, ly + 28), f"{r['approx_date']}  ·  {r['category_type']}", font=font(15), fill=MUTED)
+            if used == "met" and r.get("met_title"):
+                d.text((cx + 8, ly + 50), ("art: " + r["met_title"])[:46], font=font(13), fill=(150, 120, 60))
+
+    d.text((PAD + 8, H - 48),
+           "Research-grade chronology · 'oldest signature' is contested (Kushim/GAR.AMA debate; Cleopatra papyrus disputed). Artifacts: The Met Open Access (public domain).",
+           font=font(14), fill=MUTED)
+    suffix = "-named" if named else ""
+    out = os.path.join(OUT, f"mural-oldest-signatures{suffix}.png")
+    img.save(out)
+    print(f"Mural -> {os.path.relpath(out, ROOT)} ({W}×{H}px, {len(data)} cells)")
+
+
+if __name__ == "__main__":
+    data = gather()
+    write_csv(data)
+    build_mural(data, named=True)
+    build_mural(data, named=False)
+    # provenance sidecar for the site / catalog
+    json.dump(data, open(os.path.join(ROOT, "data", "oldest-signatures-enriched.json"), "w"),
+              indent=2, ensure_ascii=False)
+    n_sig = sum(1 for r in data if r.get("sig_local"))
+    n_met = sum(1 for r in data if r.get("met_local"))
+    print(f"\nDone. {len(data)} entries · {n_sig} with signature image · {n_met} with Met public-domain art.")

← f4efd0f narrow catalog to historical figures (Declaration + Politics  ·  back to CelebritySignatures  ·  wire Oldest Signatures into storefront: grid category + mura 3a77cd8 →