{
  "product": "Specification (reference)",
  "title": "Weather Dashboard",
  "summary": "Current conditions, multi-day forecast, saved locations and units.",
  "category": "apps",
  "entries": [
    {
      "path": [
        "AI",
        "Data",
        "Weather provider client"
      ],
      "value": "current + hourly + 5-day",
      "status": "yes",
      "note": "provider-agnostic adapter"
    },
    {
      "path": [
        "AI",
        "Data",
        "Location search / geocoding"
      ],
      "value": "",
      "status": "yes",
      "note": "name -> lat/lon with disambiguation"
    },
    {
      "path": [
        "AI",
        "Data",
        "Response cache with TTL"
      ],
      "value": "",
      "status": "yes",
      "note": "serves stale on provider failure, marked as stale"
    },
    {
      "path": [
        "AI",
        "Data",
        "Unit conversion"
      ],
      "value": "C/F, km/h-mph",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Data",
        "Favorite locations persisted"
      ],
      "value": "",
      "status": "yes",
      "note": "with default location"
    },
    {
      "path": [
        "AI",
        "Data",
        "Error taxonomy"
      ],
      "value": "offline / not-found / rate-limited",
      "status": "yes",
      "note": "distinct user messaging per case"
    },
    {
      "path": [
        "UI",
        "Now",
        "Current conditions card"
      ],
      "value": "temp, feels-like, icon, wind",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "UI",
        "Forecast",
        "5-day cards"
      ],
      "value": "hi/lo, icon",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "UI",
        "Forecast",
        "Hourly temperature graph"
      ],
      "value": "24h",
      "status": "yes",
      "note": "precipitation overlay"
    },
    {
      "path": [
        "UI",
        "Locations",
        "Search with suggestions"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "UI",
        "Locations",
        "Favorites switcher"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "UI",
        "Chrome",
        "Unit toggle"
      ],
      "value": "persisted",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "UI",
        "Chrome",
        "Refresh state"
      ],
      "value": "last-updated + stale badge",
      "status": "yes",
      "note": "manual refresh"
    }
  ]
}
