{
  "schema_version": "1.0.0",
  "record_id": "e4f21f11-04b2-4cbd-bc2d-874260c14e9c",
  "map_fingerprint": {
    "algorithm": "sha256",
    "hash": "c25f94e6064d1938e6552c3659b7e9b9a7b837aaafb9bdba8750ab2a08c98099"
  },
  "date": {
    "creation_timestamp": "2026-03-12T17:09:29.994087+00:00"
  },
  "model_info": {
    "human_user": {
      "name": "Ian Muehlenhaus"
    },
    "llm": {
      "name": "GPT-5.4 Thinking"
    },
    "agent": {
      "name": "Web Mapper GPT"
    }
  },
  "map_info": {
    "title": "World Crowdfunding Day \u2014 Who Needs a Sovereign GoFundMe?",
    "description": "A tongue-in-cheek equal-area world choropleth mapping government debt-to-GDP as a proxy for which countries could most use a crowdfunding campaign.",
    "stack": [
      {
        "name": "HTML5"
      },
      {
        "name": "CSS3"
      },
      {
        "name": "JavaScript"
      },
      {
        "name": "D3.js"
      },
      {
        "name": "GeoJSON"
      }
    ],
    "map_parameters": {
      "layers_summary": [
        {
          "name": "Countries choropleth",
          "type": "polygon"
        },
        {
          "name": "Microstate fallback markers",
          "type": "point"
        },
        {
          "name": "Histogram linked brush",
          "type": "other"
        },
        {
          "name": "UI panels",
          "type": "other"
        }
      ]
    }
  },
  "datasets": [
    {
      "dataset_id": "debt-gdp-source",
      "name": "percentDebt2NationalGDP.csv",
      "type": "CSV",
      "description": "Country-level debt-to-GDP values supplied by the user from Trading Economics.",
      "fields": [
        {
          "name": "Country",
          "type": "string"
        },
        {
          "name": "Latest Year",
          "type": "number"
        },
        {
          "name": "Previous Year",
          "type": "number"
        },
        {
          "name": "Year and Month",
          "type": "string"
        },
        {
          "name": "Unit",
          "type": "string"
        }
      ],
      "transformations": [
        {
          "step": "Aliased several country names to match boundary names."
        },
        {
          "step": "Excluded Euro Area and European Union from the mapped country layer."
        },
        {
          "step": "Calculated rank, percentile, and 1-year change as latest minus previous."
        }
      ]
    },
    {
      "dataset_id": "country-boundaries",
      "name": "Natural Earth country boundaries",
      "type": "GeoJSON",
      "description": "Country polygons used to render the equal-area world choropleth, excluding Antarctica.",
      "fields": [
        {
          "name": "name",
          "type": "string"
        },
        {
          "name": "iso_a3",
          "type": "string"
        },
        {
          "name": "geometry",
          "type": "object"
        }
      ],
      "transformations": [
        {
          "step": "Excluded Antarctica."
        },
        {
          "step": "Added representative internal points for popup anchoring."
        },
        {
          "step": "Added fallback point markers for tiny states and territories not present in the packaged polygon source."
        }
      ]
    }
  ],
  "prompt_log": [
    {
      "turn_index": 1,
      "role": "user",
      "content": "Create a map for 'World Crowdfunding Day' that tongue-in-cheek shows which countries could most use a crowdfunding campaign based on national debt as a percentage of GDP, with a global equal-area choropleth, linked histogram brushing, mobile-first behavior, a sarcastic but neutral tone, and the specified title, modal, palette, and interaction details."
    }
  ],
  "reproducibility": {
    "runtime": {
      "os": "Linux-4.4.0-x86_64-with-glibc2.41",
      "node_version": "v22.16.0",
      "python_version": "3.13.5"
    },
    "build_steps": [
      "Serve the package directory from a simple local HTTP server.",
      "Open index.html through that server so the GeoJSON files can be fetched.",
      "Use the classification buttons to switch between natural breaks, equal interval, quantiles, and unclassed mapping."
    ]
  },
  "ethics_and_compliance": {
    "dataset_licenses_summary": "Trading Economics data were cited by the user as source tabulation; Natural Earth provides public domain base geography.",
    "attribution_notes": "Interface credits include D3.js and Web Mapper GPT.",
    "limitations": "Euro Area and European Union source rows were intentionally omitted because the map treats countries as the unit of analysis; several tiny territories are shown as fallback markers rather than full polygons."
  }
}