{
 "built": "2026-09-18",
 "scope": "Amulets, charms and talismans worldwide — what they are made of, where on the body or the house they go, what their carriers say they stop, and when and where each one is documented. Every hemisphere, from the Neolithic to a sticker on a phone.",
 "records": {
  "amulet": 109,
  "tradition": 19,
  "motif": 26,
  "material": 29,
  "practice": 19,
  "place": 22,
  "person": 12,
  "org": 10,
  "term": 21,
  "art": 8,
  "story": 11
 },
 "how_records_are_made": "Hand-written JSON, one per node, each field carrying a provenance tier (cited / harvested / tradition / inference / field). Cited fields name a source in sources.json. Tradition fields are general knowledge of the practice and are hedged in the prose. A claim about what a charm does carries the name of whoever made it, in names who makes the claim.",
 "time": {
  "records_dated": 241,
  "still_carried": 226,
  "earliest_year": -9999,
  "reading_an_absence": "An undated record is one nobody here could date from a source, not one with no history. Undated records are listed in /api/timeline.json."
 },
 "world": {
  "countries_named": 118,
  "countries": [
   "AE",
   "AF",
   "AL",
   "AM",
   "AO",
   "AR",
   "AT",
   "AU",
   "AZ",
   "BA",
   "BD",
   "BE",
   "BG",
   "BJ",
   "BN",
   "BO",
   "BR",
   "BT",
   "CA",
   "CD",
   "CG",
   "CH",
   "CI",
   "CM",
   "CN",
   "CU",
   "CY",
   "DE",
   "DK",
   "DO",
   "DZ",
   "EE",
   "EG",
   "ES",
   "ET",
   "FI",
   "FJ",
   "FR",
   "GB",
   "GE",
   "GH",
   "GL",
   "GR",
   "GT",
   "HK",
   "HR",
   "HT",
   "HU",
   "ID",
   "IE",
   "IL",
   "IM",
   "IN",
   "IQ",
   "IR",
   "IS",
   "IT",
   "JM",
   "JO",
   "JP",
   "KE",
   "KH",
   "KR",
   "LA",
   "LB",
   "LK",
   "LT",
   "LV",
   "LY",
   "MA",
   "MD",
   "MG",
   "MK",
   "ML",
   "MM",
   "MN",
   "MT",
   "MV",
   "MX",
   "MY",
   "NE",
   "NG",
   "NL",
   "NO",
   "NP",
   "NZ",
   "OM",
   "PA",
   "PE",
   "PH",
   "PK",
   "PL",
   "PR",
   "PS",
   "PT",
   "RO",
   "RS",
   "RU",
   "SA",
   "SD",
   "SE",
   "SG",
   "SI",
   "SL",
   "SN",
   "SY",
   "TG",
   "TH",
   "TN",
   "TO",
   "TR",
   "TW",
   "UA",
   "US",
   "VA",
   "VN",
   "YE",
   "ZA"
  ],
  "hemispheres": {
   "N": 280,
   "S": 133,
   "E": 270,
   "W": 201
  },
  "reading_an_absence": "A blank country means no record here names it. Australia is blank on purpose and /story/what-this-atlas-does-not-print says why."
 },
 "places": {
  "curated": 22,
  "reading_an_absence": "Every point was placed by hand. A market missing here has not been written up; it is not a claim that the market is gone."
 },
 "claims": {
  "rows": 736,
  "with_a_quote": 66,
  "note": "Every claim carries a claimant. A claim with no source does not get written."
 },
 "restricted": {
  "records": 45,
  "note": "Where a tradition limits what outsiders may be told, the record prints the restriction and stops."
 },
 "holdings": {
  "rows": 95,
  "with_accession": 10,
  "note": "An accession number appears only where it was read off a catalogue page that is linked."
 },
 "images": {
  "count": 0,
  "licences_accepted": [
   "CC0",
   "Public domain",
   "CC BY",
   "CC BY-SA",
   "FAL"
  ]
 },
 "sources": 365,
 "not_yet": [
  "field observations (no record carries the field tier yet)",
  "photographs — the licence pipeline is built (tools/harvest_commons.py accepts only CC0, public domain, CC BY, CC BY-SA and FAL, and writes the licence and author beside each file), but the candidate filenames in the records are guesses and most do not exist on Commons. Attaching a search result automatically would be exactly the kind of guess this project refuses everywhere else, so the pictures wait for a curated pass",
  "most of the southern hemisphere at the density the north has",
  "prices with dates in most markets",
  "languages other than English in the prose"
 ],
 "tiers": {
  "cited": "Cited — a named source, linked",
  "harvested": "Harvested — fetched from an open dataset, with its licence",
  "tradition": "Tradition — general knowledge of the practice, hedged in the prose",
  "inference": "Inference — this project's own reasoning from the above",
  "field": "Field — someone stood there"
 }
}
