ParkAPI Quality Agent AI triage console

Dashboard

Latest job runs

Generated 2026-05-31 05:48 UTC

Back to overview

Previous job runs

JobStatusStartedFinishedDurationDetails
fetcher-realtime success 2026-05-30 15:47:47 2026-05-30 15:48:03 15528 ms
Show process log (16 events)
[
  {
    "data": {
      "endpoints": [
        "parking-spots",
        "parking-sites",
        "sources"
      ],
      "refresh_seconds": 600
    },
    "job_name": "fetcher-realtime",
    "message": "realtime fetch cycle started",
    "status": "running",
    "step": "cycle.start",
    "timestamp": "2026-05-30T15:47:47.614785+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots"
    },
    "job_name": "fetcher-realtime",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:47:47.631013+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "record_count": 3663
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:47:48.844468+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites"
    },
    "job_name": "fetcher-realtime",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:47:48.844633+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "record_count": 28304
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:47:57.397137+00:00"
  },
  {
    "data": {
      "endpoint": "sources"
    },
    "job_name": "fetcher-realtime",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:47:57.397323+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "record_count": 67
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:47:57.454655+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots"
    },
    "job_name": "fetcher-realtime",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:47:57.454817+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "record_count": 3663
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:47:57.605858+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites"
    },
    "job_name": "fetcher-realtime",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:47:57.606044+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "record_count": 28304
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:47:59.885414+00:00"
  },
  {
    "data": {
      "endpoint": "sources"
    },
    "job_name": "fetcher-realtime",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:47:59.885613+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "record_count": 67
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:47:59.897867+00:00"
  },
  {
    "job_name": "fetcher-realtime",
    "message": "refreshing active realtime parking entities",
    "status": "running",
    "step": "endpoint.refresh_realtime_sites",
    "timestamp": "2026-05-30T15:47:59.898007+00:00"
  },
  {
    "data": {
      "parking_site_record_count": 512,
      "parking_spot_record_count": 1379
    },
    "job_name": "fetcher-realtime",
    "message": "active realtime parking entities refreshed",
    "status": "success",
    "step": "endpoint.refresh_realtime_sites",
    "timestamp": "2026-05-30T15:48:03.139571+00:00"
  },
  {
    "data": {
      "counts": {
        "parking-sites": 28304,
        "parking-sites-realtime-active": 512,
        "parking-spots": 3663,
        "parking-spots-realtime-active": 1379,
        "sources": 67
      },
      "duration_ms": 15528
    },
    "job_name": "fetcher-realtime",
    "message": "realtime fetch cycle completed",
    "status": "success",
    "step": "cycle.finish",
    "timestamp": "2026-05-30T15:48:03.141427+00:00"
  }
]
Show run details
{
  "counts": {
    "parking-sites": 28304,
    "parking-sites-realtime-active": 512,
    "parking-spots": 3663,
    "parking-spots-realtime-active": 1379,
    "sources": 67
  },
  "duration_ms": 15528,
  "events": [
    {
      "data": {
        "endpoints": [
          "parking-spots",
          "parking-sites",
          "sources"
        ],
        "refresh_seconds": 600
      },
      "job_name": "fetcher-realtime",
      "message": "realtime fetch cycle started",
      "status": "running",
      "step": "cycle.start",
      "timestamp": "2026-05-30T15:47:47.614785+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots"
      },
      "job_name": "fetcher-realtime",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:47:47.631013+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "record_count": 3663
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:47:48.844468+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites"
      },
      "job_name": "fetcher-realtime",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:47:48.844633+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "record_count": 28304
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:47:57.397137+00:00"
    },
    {
      "data": {
        "endpoint": "sources"
      },
      "job_name": "fetcher-realtime",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:47:57.397323+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "record_count": 67
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:47:57.454655+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots"
      },
      "job_name": "fetcher-realtime",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:47:57.454817+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "record_count": 3663
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:47:57.605858+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites"
      },
      "job_name": "fetcher-realtime",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:47:57.606044+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "record_count": 28304
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:47:59.885414+00:00"
    },
    {
      "data": {
        "endpoint": "sources"
      },
      "job_name": "fetcher-realtime",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:47:59.885613+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "record_count": 67
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:47:59.897867+00:00"
    },
    {
      "job_name": "fetcher-realtime",
      "message": "refreshing active realtime parking entities",
      "status": "running",
      "step": "endpoint.refresh_realtime_sites",
      "timestamp": "2026-05-30T15:47:59.898007+00:00"
    },
    {
      "data": {
        "parking_site_record_count": 512,
        "parking_spot_record_count": 1379
      },
      "job_name": "fetcher-realtime",
      "message": "active realtime parking entities refreshed",
      "status": "success",
      "step": "endpoint.refresh_realtime_sites",
      "timestamp": "2026-05-30T15:48:03.139571+00:00"
    },
    {
      "data": {
        "counts": {
          "parking-sites": 28304,
          "parking-sites-realtime-active": 512,
          "parking-spots": 3663,
          "parking-spots-realtime-active": 1379,
          "sources": 67
        },
        "duration_ms": 15528
      },
      "job_name": "fetcher-realtime",
      "message": "realtime fetch cycle completed",
      "status": "success",
      "step": "cycle.finish",
      "timestamp": "2026-05-30T15:48:03.141427+00:00"
    }
  ],
  "refresh_seconds": 600
}
fetcher-realtime success 2026-05-30 15:37:31 2026-05-30 15:37:47 15979 ms
Show process log (16 events)
[
  {
    "data": {
      "endpoints": [
        "parking-spots",
        "parking-sites",
        "sources"
      ],
      "refresh_seconds": 600
    },
    "job_name": "fetcher-realtime",
    "message": "realtime fetch cycle started",
    "status": "running",
    "step": "cycle.start",
    "timestamp": "2026-05-30T15:37:31.574660+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots"
    },
    "job_name": "fetcher-realtime",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:37:31.589176+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "record_count": 3663
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:37:32.828333+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites"
    },
    "job_name": "fetcher-realtime",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:37:32.828555+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "record_count": 28303
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:37:42.059307+00:00"
  },
  {
    "data": {
      "endpoint": "sources"
    },
    "job_name": "fetcher-realtime",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:37:42.059653+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "record_count": 67
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:37:42.118679+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots"
    },
    "job_name": "fetcher-realtime",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:37:42.118961+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "record_count": 3663
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:37:42.290132+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites"
    },
    "job_name": "fetcher-realtime",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:37:42.290476+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "record_count": 28303
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:37:44.419142+00:00"
  },
  {
    "data": {
      "endpoint": "sources"
    },
    "job_name": "fetcher-realtime",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:37:44.419412+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "record_count": 67
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:37:44.430266+00:00"
  },
  {
    "job_name": "fetcher-realtime",
    "message": "refreshing active realtime parking entities",
    "status": "running",
    "step": "endpoint.refresh_realtime_sites",
    "timestamp": "2026-05-30T15:37:44.430412+00:00"
  },
  {
    "data": {
      "parking_site_record_count": 511,
      "parking_spot_record_count": 1379
    },
    "job_name": "fetcher-realtime",
    "message": "active realtime parking entities refreshed",
    "status": "success",
    "step": "endpoint.refresh_realtime_sites",
    "timestamp": "2026-05-30T15:37:47.550814+00:00"
  },
  {
    "data": {
      "counts": {
        "parking-sites": 28303,
        "parking-sites-realtime-active": 511,
        "parking-spots": 3663,
        "parking-spots-realtime-active": 1379,
        "sources": 67
      },
      "duration_ms": 15979
    },
    "job_name": "fetcher-realtime",
    "message": "realtime fetch cycle completed",
    "status": "success",
    "step": "cycle.finish",
    "timestamp": "2026-05-30T15:37:47.552771+00:00"
  }
]
Show run details
{
  "counts": {
    "parking-sites": 28303,
    "parking-sites-realtime-active": 511,
    "parking-spots": 3663,
    "parking-spots-realtime-active": 1379,
    "sources": 67
  },
  "duration_ms": 15979,
  "events": [
    {
      "data": {
        "endpoints": [
          "parking-spots",
          "parking-sites",
          "sources"
        ],
        "refresh_seconds": 600
      },
      "job_name": "fetcher-realtime",
      "message": "realtime fetch cycle started",
      "status": "running",
      "step": "cycle.start",
      "timestamp": "2026-05-30T15:37:31.574660+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots"
      },
      "job_name": "fetcher-realtime",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:37:31.589176+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "record_count": 3663
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:37:32.828333+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites"
      },
      "job_name": "fetcher-realtime",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:37:32.828555+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "record_count": 28303
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:37:42.059307+00:00"
    },
    {
      "data": {
        "endpoint": "sources"
      },
      "job_name": "fetcher-realtime",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:37:42.059653+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "record_count": 67
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:37:42.118679+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots"
      },
      "job_name": "fetcher-realtime",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:37:42.118961+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "record_count": 3663
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:37:42.290132+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites"
      },
      "job_name": "fetcher-realtime",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:37:42.290476+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "record_count": 28303
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:37:44.419142+00:00"
    },
    {
      "data": {
        "endpoint": "sources"
      },
      "job_name": "fetcher-realtime",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:37:44.419412+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "record_count": 67
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:37:44.430266+00:00"
    },
    {
      "job_name": "fetcher-realtime",
      "message": "refreshing active realtime parking entities",
      "status": "running",
      "step": "endpoint.refresh_realtime_sites",
      "timestamp": "2026-05-30T15:37:44.430412+00:00"
    },
    {
      "data": {
        "parking_site_record_count": 511,
        "parking_spot_record_count": 1379
      },
      "job_name": "fetcher-realtime",
      "message": "active realtime parking entities refreshed",
      "status": "success",
      "step": "endpoint.refresh_realtime_sites",
      "timestamp": "2026-05-30T15:37:47.550814+00:00"
    },
    {
      "data": {
        "counts": {
          "parking-sites": 28303,
          "parking-sites-realtime-active": 511,
          "parking-spots": 3663,
          "parking-spots-realtime-active": 1379,
          "sources": 67
        },
        "duration_ms": 15979
      },
      "job_name": "fetcher-realtime",
      "message": "realtime fetch cycle completed",
      "status": "success",
      "step": "cycle.finish",
      "timestamp": "2026-05-30T15:37:47.552771+00:00"
    }
  ],
  "refresh_seconds": 600
}
fetcher-realtime success 2026-05-30 15:27:14 2026-05-30 15:27:31 17050 ms
Show process log (16 events)
[
  {
    "data": {
      "endpoints": [
        "parking-spots",
        "parking-sites",
        "sources"
      ],
      "refresh_seconds": 600
    },
    "job_name": "fetcher-realtime",
    "message": "realtime fetch cycle started",
    "status": "running",
    "step": "cycle.start",
    "timestamp": "2026-05-30T15:27:14.467531+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots"
    },
    "job_name": "fetcher-realtime",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:27:14.478029+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "record_count": 3663
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:27:16.028687+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites"
    },
    "job_name": "fetcher-realtime",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:27:16.028869+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "record_count": 28304
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:27:26.181186+00:00"
  },
  {
    "data": {
      "endpoint": "sources"
    },
    "job_name": "fetcher-realtime",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:27:26.181368+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "record_count": 67
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:27:26.238206+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots"
    },
    "job_name": "fetcher-realtime",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:27:26.238371+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "record_count": 3663
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:27:26.390694+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites"
    },
    "job_name": "fetcher-realtime",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:27:26.390862+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "record_count": 28304
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:27:28.526327+00:00"
  },
  {
    "data": {
      "endpoint": "sources"
    },
    "job_name": "fetcher-realtime",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:27:28.526513+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "record_count": 67
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:27:28.536987+00:00"
  },
  {
    "job_name": "fetcher-realtime",
    "message": "refreshing active realtime parking entities",
    "status": "running",
    "step": "endpoint.refresh_realtime_sites",
    "timestamp": "2026-05-30T15:27:28.537107+00:00"
  },
  {
    "data": {
      "parking_site_record_count": 512,
      "parking_spot_record_count": 1379
    },
    "job_name": "fetcher-realtime",
    "message": "active realtime parking entities refreshed",
    "status": "success",
    "step": "endpoint.refresh_realtime_sites",
    "timestamp": "2026-05-30T15:27:31.514741+00:00"
  },
  {
    "data": {
      "counts": {
        "parking-sites": 28304,
        "parking-sites-realtime-active": 512,
        "parking-spots": 3663,
        "parking-spots-realtime-active": 1379,
        "sources": 67
      },
      "duration_ms": 17050
    },
    "job_name": "fetcher-realtime",
    "message": "realtime fetch cycle completed",
    "status": "success",
    "step": "cycle.finish",
    "timestamp": "2026-05-30T15:27:31.516602+00:00"
  }
]
Show run details
{
  "counts": {
    "parking-sites": 28304,
    "parking-sites-realtime-active": 512,
    "parking-spots": 3663,
    "parking-spots-realtime-active": 1379,
    "sources": 67
  },
  "duration_ms": 17050,
  "events": [
    {
      "data": {
        "endpoints": [
          "parking-spots",
          "parking-sites",
          "sources"
        ],
        "refresh_seconds": 600
      },
      "job_name": "fetcher-realtime",
      "message": "realtime fetch cycle started",
      "status": "running",
      "step": "cycle.start",
      "timestamp": "2026-05-30T15:27:14.467531+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots"
      },
      "job_name": "fetcher-realtime",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:27:14.478029+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "record_count": 3663
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:27:16.028687+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites"
      },
      "job_name": "fetcher-realtime",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:27:16.028869+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "record_count": 28304
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:27:26.181186+00:00"
    },
    {
      "data": {
        "endpoint": "sources"
      },
      "job_name": "fetcher-realtime",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:27:26.181368+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "record_count": 67
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:27:26.238206+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots"
      },
      "job_name": "fetcher-realtime",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:27:26.238371+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "record_count": 3663
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:27:26.390694+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites"
      },
      "job_name": "fetcher-realtime",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:27:26.390862+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "record_count": 28304
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:27:28.526327+00:00"
    },
    {
      "data": {
        "endpoint": "sources"
      },
      "job_name": "fetcher-realtime",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:27:28.526513+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "record_count": 67
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:27:28.536987+00:00"
    },
    {
      "job_name": "fetcher-realtime",
      "message": "refreshing active realtime parking entities",
      "status": "running",
      "step": "endpoint.refresh_realtime_sites",
      "timestamp": "2026-05-30T15:27:28.537107+00:00"
    },
    {
      "data": {
        "parking_site_record_count": 512,
        "parking_spot_record_count": 1379
      },
      "job_name": "fetcher-realtime",
      "message": "active realtime parking entities refreshed",
      "status": "success",
      "step": "endpoint.refresh_realtime_sites",
      "timestamp": "2026-05-30T15:27:31.514741+00:00"
    },
    {
      "data": {
        "counts": {
          "parking-sites": 28304,
          "parking-sites-realtime-active": 512,
          "parking-spots": 3663,
          "parking-spots-realtime-active": 1379,
          "sources": 67
        },
        "duration_ms": 17050
      },
      "job_name": "fetcher-realtime",
      "message": "realtime fetch cycle completed",
      "status": "success",
      "step": "cycle.finish",
      "timestamp": "2026-05-30T15:27:31.516602+00:00"
    }
  ],
  "refresh_seconds": 600
}
analyzer-realtime running 2026-05-30 15:26:59 - - ms -
reporter success 2026-05-30 15:17:00 2026-05-30 15:17:00 294 ms
Show process log (9 events)
[
  {
    "job_name": "reporter",
    "message": "report cycle started",
    "status": "running",
    "step": "cycle.start",
    "timestamp": "2026-05-30T15:17:00.507352+00:00"
  },
  {
    "data": {
      "search_query": ""
    },
    "job_name": "reporter",
    "message": "building reporter dashboard context",
    "status": "running",
    "step": "context.build",
    "timestamp": "2026-05-30T15:17:00.516851+00:00"
  },
  {
    "data": {
      "dashboard_metric_count": 3,
      "metric_count": 4
    },
    "job_name": "reporter",
    "message": "latest quality metrics loaded",
    "status": "success",
    "step": "metrics.load",
    "timestamp": "2026-05-30T15:17:00.536957+00:00"
  },
  {
    "data": {
      "incident_count": 0,
      "provider_count": 0
    },
    "job_name": "reporter",
    "message": "incident memory refreshed",
    "status": "success",
    "step": "incidents.refresh",
    "timestamp": "2026-05-30T15:17:00.614512+00:00"
  },
  {
    "data": {
      "reason": "no_provider_summaries"
    },
    "job_name": "reporter",
    "message": "llm recommendation refresh skipped",
    "status": "success",
    "step": "llm.refresh",
    "timestamp": "2026-05-30T15:17:00.614623+00:00"
  },
  {
    "data": {
      "llm_count": 0
    },
    "job_name": "reporter",
    "message": "recommendations prepared",
    "status": "success",
    "step": "recommendations.load",
    "timestamp": "2026-05-30T15:17:00.647468+00:00"
  },
  {
    "job_name": "reporter",
    "message": "reporter dashboard context built",
    "status": "success",
    "step": "context.build",
    "timestamp": "2026-05-30T15:17:00.735005+00:00"
  },
  {
    "data": {
      "output": "/app/reports/index.html",
      "template": "index.html"
    },
    "job_name": "reporter",
    "message": "report rendered",
    "status": "success",
    "step": "report.render",
    "timestamp": "2026-05-30T15:17:00.801109+00:00"
  },
  {
    "data": {
      "duration_ms": 294
    },
    "job_name": "reporter",
    "message": "report cycle completed",
    "status": "success",
    "step": "cycle.finish",
    "timestamp": "2026-05-30T15:17:00.801410+00:00"
  }
]
Show run details
{
  "duration_ms": 294,
  "events": [
    {
      "job_name": "reporter",
      "message": "report cycle started",
      "status": "running",
      "step": "cycle.start",
      "timestamp": "2026-05-30T15:17:00.507352+00:00"
    },
    {
      "data": {
        "search_query": ""
      },
      "job_name": "reporter",
      "message": "building reporter dashboard context",
      "status": "running",
      "step": "context.build",
      "timestamp": "2026-05-30T15:17:00.516851+00:00"
    },
    {
      "data": {
        "dashboard_metric_count": 3,
        "metric_count": 4
      },
      "job_name": "reporter",
      "message": "latest quality metrics loaded",
      "status": "success",
      "step": "metrics.load",
      "timestamp": "2026-05-30T15:17:00.536957+00:00"
    },
    {
      "data": {
        "incident_count": 0,
        "provider_count": 0
      },
      "job_name": "reporter",
      "message": "incident memory refreshed",
      "status": "success",
      "step": "incidents.refresh",
      "timestamp": "2026-05-30T15:17:00.614512+00:00"
    },
    {
      "data": {
        "reason": "no_provider_summaries"
      },
      "job_name": "reporter",
      "message": "llm recommendation refresh skipped",
      "status": "success",
      "step": "llm.refresh",
      "timestamp": "2026-05-30T15:17:00.614623+00:00"
    },
    {
      "data": {
        "llm_count": 0
      },
      "job_name": "reporter",
      "message": "recommendations prepared",
      "status": "success",
      "step": "recommendations.load",
      "timestamp": "2026-05-30T15:17:00.647468+00:00"
    },
    {
      "job_name": "reporter",
      "message": "reporter dashboard context built",
      "status": "success",
      "step": "context.build",
      "timestamp": "2026-05-30T15:17:00.735005+00:00"
    },
    {
      "data": {
        "output": "/app/reports/index.html",
        "template": "index.html"
      },
      "job_name": "reporter",
      "message": "report rendered",
      "status": "success",
      "step": "report.render",
      "timestamp": "2026-05-30T15:17:00.801109+00:00"
    },
    {
      "data": {
        "duration_ms": 294
      },
      "job_name": "reporter",
      "message": "report cycle completed",
      "status": "success",
      "step": "cycle.finish",
      "timestamp": "2026-05-30T15:17:00.801410+00:00"
    }
  ],
  "output_name": "index.html",
  "refresh_seconds": 60,
  "report_path": "/app/reports/index.html"
}
reporter success 2026-05-30 15:17:00 2026-05-30 15:17:00 295 ms
Show process log (9 events)
[
  {
    "job_name": "reporter",
    "message": "report cycle started",
    "status": "running",
    "step": "cycle.start",
    "timestamp": "2026-05-30T15:17:00.507093+00:00"
  },
  {
    "data": {
      "search_query": ""
    },
    "job_name": "reporter",
    "message": "building reporter dashboard context",
    "status": "running",
    "step": "context.build",
    "timestamp": "2026-05-30T15:17:00.516428+00:00"
  },
  {
    "data": {
      "dashboard_metric_count": 3,
      "metric_count": 4
    },
    "job_name": "reporter",
    "message": "latest quality metrics loaded",
    "status": "success",
    "step": "metrics.load",
    "timestamp": "2026-05-30T15:17:00.534958+00:00"
  },
  {
    "data": {
      "incident_count": 0,
      "provider_count": 0
    },
    "job_name": "reporter",
    "message": "incident memory refreshed",
    "status": "success",
    "step": "incidents.refresh",
    "timestamp": "2026-05-30T15:17:00.612083+00:00"
  },
  {
    "data": {
      "reason": "no_provider_summaries"
    },
    "job_name": "reporter",
    "message": "llm recommendation refresh skipped",
    "status": "success",
    "step": "llm.refresh",
    "timestamp": "2026-05-30T15:17:00.612363+00:00"
  },
  {
    "data": {
      "llm_count": 0
    },
    "job_name": "reporter",
    "message": "recommendations prepared",
    "status": "success",
    "step": "recommendations.load",
    "timestamp": "2026-05-30T15:17:00.620050+00:00"
  },
  {
    "job_name": "reporter",
    "message": "reporter dashboard context built",
    "status": "success",
    "step": "context.build",
    "timestamp": "2026-05-30T15:17:00.683177+00:00"
  },
  {
    "data": {
      "output": "/app/reports/index.html",
      "template": "index.html"
    },
    "job_name": "reporter",
    "message": "report rendered",
    "status": "success",
    "step": "report.render",
    "timestamp": "2026-05-30T15:17:00.801824+00:00"
  },
  {
    "data": {
      "duration_ms": 295
    },
    "job_name": "reporter",
    "message": "report cycle completed",
    "status": "success",
    "step": "cycle.finish",
    "timestamp": "2026-05-30T15:17:00.802389+00:00"
  }
]
Show run details
{
  "duration_ms": 295,
  "events": [
    {
      "job_name": "reporter",
      "message": "report cycle started",
      "status": "running",
      "step": "cycle.start",
      "timestamp": "2026-05-30T15:17:00.507093+00:00"
    },
    {
      "data": {
        "search_query": ""
      },
      "job_name": "reporter",
      "message": "building reporter dashboard context",
      "status": "running",
      "step": "context.build",
      "timestamp": "2026-05-30T15:17:00.516428+00:00"
    },
    {
      "data": {
        "dashboard_metric_count": 3,
        "metric_count": 4
      },
      "job_name": "reporter",
      "message": "latest quality metrics loaded",
      "status": "success",
      "step": "metrics.load",
      "timestamp": "2026-05-30T15:17:00.534958+00:00"
    },
    {
      "data": {
        "incident_count": 0,
        "provider_count": 0
      },
      "job_name": "reporter",
      "message": "incident memory refreshed",
      "status": "success",
      "step": "incidents.refresh",
      "timestamp": "2026-05-30T15:17:00.612083+00:00"
    },
    {
      "data": {
        "reason": "no_provider_summaries"
      },
      "job_name": "reporter",
      "message": "llm recommendation refresh skipped",
      "status": "success",
      "step": "llm.refresh",
      "timestamp": "2026-05-30T15:17:00.612363+00:00"
    },
    {
      "data": {
        "llm_count": 0
      },
      "job_name": "reporter",
      "message": "recommendations prepared",
      "status": "success",
      "step": "recommendations.load",
      "timestamp": "2026-05-30T15:17:00.620050+00:00"
    },
    {
      "job_name": "reporter",
      "message": "reporter dashboard context built",
      "status": "success",
      "step": "context.build",
      "timestamp": "2026-05-30T15:17:00.683177+00:00"
    },
    {
      "data": {
        "output": "/app/reports/index.html",
        "template": "index.html"
      },
      "job_name": "reporter",
      "message": "report rendered",
      "status": "success",
      "step": "report.render",
      "timestamp": "2026-05-30T15:17:00.801824+00:00"
    },
    {
      "data": {
        "duration_ms": 295
      },
      "job_name": "reporter",
      "message": "report cycle completed",
      "status": "success",
      "step": "cycle.finish",
      "timestamp": "2026-05-30T15:17:00.802389+00:00"
    }
  ],
  "output_name": "index.html",
  "refresh_seconds": 60,
  "report_path": "/app/reports/index.html"
}
fetcher success 2026-05-30 15:16:59 2026-05-30 15:17:15 16015 ms
Show process log (16 events)
[
  {
    "data": {
      "endpoints": [
        "parking-spots",
        "parking-sites",
        "sources"
      ]
    },
    "job_name": "fetcher",
    "message": "fetch cycle started",
    "status": "running",
    "step": "cycle.start",
    "timestamp": "2026-05-30T15:16:59.344804+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots"
    },
    "job_name": "fetcher",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:16:59.417160+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "record_count": 3663
    },
    "job_name": "fetcher",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:17:00.497351+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites"
    },
    "job_name": "fetcher",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:17:00.497627+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "record_count": 28304
    },
    "job_name": "fetcher",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:17:09.509521+00:00"
  },
  {
    "data": {
      "endpoint": "sources"
    },
    "job_name": "fetcher",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:17:09.509816+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "record_count": 67
    },
    "job_name": "fetcher",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:17:10.160650+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots"
    },
    "job_name": "fetcher",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:17:10.160810+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "record_count": 3663
    },
    "job_name": "fetcher",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:17:10.324580+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites"
    },
    "job_name": "fetcher",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:17:10.324753+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "record_count": 28304
    },
    "job_name": "fetcher",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:17:12.352710+00:00"
  },
  {
    "data": {
      "endpoint": "sources"
    },
    "job_name": "fetcher",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:17:12.352913+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "record_count": 67
    },
    "job_name": "fetcher",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:17:12.368136+00:00"
  },
  {
    "job_name": "fetcher",
    "message": "refreshing active realtime parking entities",
    "status": "running",
    "step": "endpoint.refresh_realtime_sites",
    "timestamp": "2026-05-30T15:17:12.368247+00:00"
  },
  {
    "data": {
      "parking_site_record_count": 512,
      "parking_spot_record_count": 1379
    },
    "job_name": "fetcher",
    "message": "active realtime parking entities refreshed",
    "status": "success",
    "step": "endpoint.refresh_realtime_sites",
    "timestamp": "2026-05-30T15:17:15.357640+00:00"
  },
  {
    "data": {
      "counts": {
        "parking-sites": 28304,
        "parking-sites-realtime-active": 512,
        "parking-spots": 3663,
        "parking-spots-realtime-active": 1379,
        "sources": 67
      },
      "duration_ms": 16015
    },
    "job_name": "fetcher",
    "message": "fetch cycle completed",
    "status": "success",
    "step": "cycle.finish",
    "timestamp": "2026-05-30T15:17:15.359593+00:00"
  }
]
Show run details
{
  "counts": {
    "parking-sites": 28304,
    "parking-sites-realtime-active": 512,
    "parking-spots": 3663,
    "parking-spots-realtime-active": 1379,
    "sources": 67
  },
  "duration_ms": 16015,
  "events": [
    {
      "data": {
        "endpoints": [
          "parking-spots",
          "parking-sites",
          "sources"
        ]
      },
      "job_name": "fetcher",
      "message": "fetch cycle started",
      "status": "running",
      "step": "cycle.start",
      "timestamp": "2026-05-30T15:16:59.344804+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots"
      },
      "job_name": "fetcher",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:16:59.417160+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "record_count": 3663
      },
      "job_name": "fetcher",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:17:00.497351+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites"
      },
      "job_name": "fetcher",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:17:00.497627+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "record_count": 28304
      },
      "job_name": "fetcher",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:17:09.509521+00:00"
    },
    {
      "data": {
        "endpoint": "sources"
      },
      "job_name": "fetcher",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:17:09.509816+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "record_count": 67
      },
      "job_name": "fetcher",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:17:10.160650+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots"
      },
      "job_name": "fetcher",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:17:10.160810+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "record_count": 3663
      },
      "job_name": "fetcher",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:17:10.324580+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites"
      },
      "job_name": "fetcher",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:17:10.324753+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "record_count": 28304
      },
      "job_name": "fetcher",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:17:12.352710+00:00"
    },
    {
      "data": {
        "endpoint": "sources"
      },
      "job_name": "fetcher",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:17:12.352913+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "record_count": 67
      },
      "job_name": "fetcher",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:17:12.368136+00:00"
    },
    {
      "job_name": "fetcher",
      "message": "refreshing active realtime parking entities",
      "status": "running",
      "step": "endpoint.refresh_realtime_sites",
      "timestamp": "2026-05-30T15:17:12.368247+00:00"
    },
    {
      "data": {
        "parking_site_record_count": 512,
        "parking_spot_record_count": 1379
      },
      "job_name": "fetcher",
      "message": "active realtime parking entities refreshed",
      "status": "success",
      "step": "endpoint.refresh_realtime_sites",
      "timestamp": "2026-05-30T15:17:15.357640+00:00"
    },
    {
      "data": {
        "counts": {
          "parking-sites": 28304,
          "parking-sites-realtime-active": 512,
          "parking-spots": 3663,
          "parking-spots-realtime-active": 1379,
          "sources": 67
        },
        "duration_ms": 16015
      },
      "job_name": "fetcher",
      "message": "fetch cycle completed",
      "status": "success",
      "step": "cycle.finish",
      "timestamp": "2026-05-30T15:17:15.359593+00:00"
    }
  ]
}
fetcher-realtime success 2026-05-30 15:16:59 2026-05-30 15:17:14 15057 ms
Show process log (16 events)
[
  {
    "data": {
      "endpoints": [
        "parking-spots",
        "parking-sites",
        "sources"
      ],
      "refresh_seconds": 600
    },
    "job_name": "fetcher-realtime",
    "message": "realtime fetch cycle started",
    "status": "running",
    "step": "cycle.start",
    "timestamp": "2026-05-30T15:16:59.352017+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots"
    },
    "job_name": "fetcher-realtime",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:16:59.399686+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "record_count": 3663
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:17:00.430949+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites"
    },
    "job_name": "fetcher-realtime",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:17:00.431156+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "record_count": 28304
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:17:08.548794+00:00"
  },
  {
    "data": {
      "endpoint": "sources"
    },
    "job_name": "fetcher-realtime",
    "message": "fetching endpoint payload",
    "status": "running",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:17:08.548975+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "record_count": 67
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload fetched",
    "status": "success",
    "step": "endpoint.fetch",
    "timestamp": "2026-05-30T15:17:08.612670+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots"
    },
    "job_name": "fetcher-realtime",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:17:08.613095+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "record_count": 3663
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:17:09.509729+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites"
    },
    "job_name": "fetcher-realtime",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:17:09.509974+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "record_count": 28304
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:17:11.581063+00:00"
  },
  {
    "data": {
      "endpoint": "sources"
    },
    "job_name": "fetcher-realtime",
    "message": "persisting endpoint payload",
    "status": "running",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:17:11.581401+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "record_count": 67
    },
    "job_name": "fetcher-realtime",
    "message": "endpoint payload persisted",
    "status": "success",
    "step": "endpoint.persist",
    "timestamp": "2026-05-30T15:17:11.594331+00:00"
  },
  {
    "job_name": "fetcher-realtime",
    "message": "refreshing active realtime parking entities",
    "status": "running",
    "step": "endpoint.refresh_realtime_sites",
    "timestamp": "2026-05-30T15:17:11.594495+00:00"
  },
  {
    "data": {
      "parking_site_record_count": 512,
      "parking_spot_record_count": 1379
    },
    "job_name": "fetcher-realtime",
    "message": "active realtime parking entities refreshed",
    "status": "success",
    "step": "endpoint.refresh_realtime_sites",
    "timestamp": "2026-05-30T15:17:14.405079+00:00"
  },
  {
    "data": {
      "counts": {
        "parking-sites": 28304,
        "parking-sites-realtime-active": 512,
        "parking-spots": 3663,
        "parking-spots-realtime-active": 1379,
        "sources": 67
      },
      "duration_ms": 15057
    },
    "job_name": "fetcher-realtime",
    "message": "realtime fetch cycle completed",
    "status": "success",
    "step": "cycle.finish",
    "timestamp": "2026-05-30T15:17:14.406937+00:00"
  }
]
Show run details
{
  "counts": {
    "parking-sites": 28304,
    "parking-sites-realtime-active": 512,
    "parking-spots": 3663,
    "parking-spots-realtime-active": 1379,
    "sources": 67
  },
  "duration_ms": 15057,
  "events": [
    {
      "data": {
        "endpoints": [
          "parking-spots",
          "parking-sites",
          "sources"
        ],
        "refresh_seconds": 600
      },
      "job_name": "fetcher-realtime",
      "message": "realtime fetch cycle started",
      "status": "running",
      "step": "cycle.start",
      "timestamp": "2026-05-30T15:16:59.352017+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots"
      },
      "job_name": "fetcher-realtime",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:16:59.399686+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "record_count": 3663
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:17:00.430949+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites"
      },
      "job_name": "fetcher-realtime",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:17:00.431156+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "record_count": 28304
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:17:08.548794+00:00"
    },
    {
      "data": {
        "endpoint": "sources"
      },
      "job_name": "fetcher-realtime",
      "message": "fetching endpoint payload",
      "status": "running",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:17:08.548975+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "record_count": 67
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload fetched",
      "status": "success",
      "step": "endpoint.fetch",
      "timestamp": "2026-05-30T15:17:08.612670+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots"
      },
      "job_name": "fetcher-realtime",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:17:08.613095+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "record_count": 3663
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:17:09.509729+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites"
      },
      "job_name": "fetcher-realtime",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:17:09.509974+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "record_count": 28304
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:17:11.581063+00:00"
    },
    {
      "data": {
        "endpoint": "sources"
      },
      "job_name": "fetcher-realtime",
      "message": "persisting endpoint payload",
      "status": "running",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:17:11.581401+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "record_count": 67
      },
      "job_name": "fetcher-realtime",
      "message": "endpoint payload persisted",
      "status": "success",
      "step": "endpoint.persist",
      "timestamp": "2026-05-30T15:17:11.594331+00:00"
    },
    {
      "job_name": "fetcher-realtime",
      "message": "refreshing active realtime parking entities",
      "status": "running",
      "step": "endpoint.refresh_realtime_sites",
      "timestamp": "2026-05-30T15:17:11.594495+00:00"
    },
    {
      "data": {
        "parking_site_record_count": 512,
        "parking_spot_record_count": 1379
      },
      "job_name": "fetcher-realtime",
      "message": "active realtime parking entities refreshed",
      "status": "success",
      "step": "endpoint.refresh_realtime_sites",
      "timestamp": "2026-05-30T15:17:14.405079+00:00"
    },
    {
      "data": {
        "counts": {
          "parking-sites": 28304,
          "parking-sites-realtime-active": 512,
          "parking-spots": 3663,
          "parking-spots-realtime-active": 1379,
          "sources": 67
        },
        "duration_ms": 15057
      },
      "job_name": "fetcher-realtime",
      "message": "realtime fetch cycle completed",
      "status": "success",
      "step": "cycle.finish",
      "timestamp": "2026-05-30T15:17:14.406937+00:00"
    }
  ],
  "refresh_seconds": 600
}
analyzer-realtime success 2026-05-30 15:16:59 2026-05-30 15:16:59 197 ms
Show process log (6 events)
[
  {
    "data": {
      "endpoints": [
        "parking-spots",
        "parking-sites",
        "sources"
      ],
      "refresh_seconds": 600
    },
    "job_name": "analyzer-realtime",
    "message": "realtime anomaly analysis cycle started",
    "status": "running",
    "step": "cycle.start",
    "timestamp": "2026-05-30T15:16:59.252788+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "fetched_at": null,
      "record_count": 0
    },
    "job_name": "analyzer-realtime",
    "message": "latest raw payload loaded for realtime anomaly evaluation",
    "status": "success",
    "step": "endpoint.load_raw",
    "timestamp": "2026-05-30T15:16:59.334625+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "fetched_at": null,
      "record_count": 0
    },
    "job_name": "analyzer-realtime",
    "message": "latest raw payload loaded for realtime anomaly evaluation",
    "status": "success",
    "step": "endpoint.load_raw",
    "timestamp": "2026-05-30T15:16:59.334832+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "fetched_at": null,
      "record_count": 0
    },
    "job_name": "analyzer-realtime",
    "message": "latest raw payload loaded for realtime anomaly evaluation",
    "status": "success",
    "step": "endpoint.load_raw",
    "timestamp": "2026-05-30T15:16:59.334901+00:00"
  },
  {
    "data": {
      "endpoint": "realtime-anomalies",
      "score": 0.0
    },
    "job_name": "analyzer-realtime",
    "message": "persisting realtime anomaly quality metric",
    "status": "running",
    "step": "endpoint.persist_metric",
    "timestamp": "2026-05-30T15:16:59.398235+00:00"
  },
  {
    "data": {
      "duration_ms": 197,
      "endpoint": "realtime-anomalies"
    },
    "job_name": "analyzer-realtime",
    "message": "realtime anomaly analysis cycle completed",
    "status": "success",
    "step": "cycle.finish",
    "timestamp": "2026-05-30T15:16:59.449894+00:00"
  }
]
Show run details
{
  "duration_ms": 197,
  "events": [
    {
      "data": {
        "endpoints": [
          "parking-spots",
          "parking-sites",
          "sources"
        ],
        "refresh_seconds": 600
      },
      "job_name": "analyzer-realtime",
      "message": "realtime anomaly analysis cycle started",
      "status": "running",
      "step": "cycle.start",
      "timestamp": "2026-05-30T15:16:59.252788+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "fetched_at": null,
        "record_count": 0
      },
      "job_name": "analyzer-realtime",
      "message": "latest raw payload loaded for realtime anomaly evaluation",
      "status": "success",
      "step": "endpoint.load_raw",
      "timestamp": "2026-05-30T15:16:59.334625+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "fetched_at": null,
        "record_count": 0
      },
      "job_name": "analyzer-realtime",
      "message": "latest raw payload loaded for realtime anomaly evaluation",
      "status": "success",
      "step": "endpoint.load_raw",
      "timestamp": "2026-05-30T15:16:59.334832+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "fetched_at": null,
        "record_count": 0
      },
      "job_name": "analyzer-realtime",
      "message": "latest raw payload loaded for realtime anomaly evaluation",
      "status": "success",
      "step": "endpoint.load_raw",
      "timestamp": "2026-05-30T15:16:59.334901+00:00"
    },
    {
      "data": {
        "endpoint": "realtime-anomalies",
        "score": 0.0
      },
      "job_name": "analyzer-realtime",
      "message": "persisting realtime anomaly quality metric",
      "status": "running",
      "step": "endpoint.persist_metric",
      "timestamp": "2026-05-30T15:16:59.398235+00:00"
    },
    {
      "data": {
        "duration_ms": 197,
        "endpoint": "realtime-anomalies"
      },
      "job_name": "analyzer-realtime",
      "message": "realtime anomaly analysis cycle completed",
      "status": "success",
      "step": "cycle.finish",
      "timestamp": "2026-05-30T15:16:59.449894+00:00"
    }
  ],
  "refresh_seconds": 600,
  "results": [
    {
      "completeness": 0.0,
      "consistency": 0.0,
      "details": {
        "anomaly_counts": {
          "free_spaces_gt_capacity": 0,
          "impossible_capacity_values": 0,
          "mapping_inconsistency_signals": 0,
          "negative_occupancy_values": 0,
          "out_of_region_coordinates": 0,
          "realtime_stale_or_frozen": 0,
          "suspicious_occupancy_jump": 0
        },
        "anomaly_examples": [],
        "close_location_counts_by_source": {},
        "close_location_examples": [],
        "close_location_flagged_records": 0,
        "close_location_pairs": 0,
        "close_location_threshold_meters": 5.0,
        "evaluation_mode": "realtime_anomalies",
        "fetched_at": null,
        "missing_fields": {
          "created_at": 0,
          "id": 0,
          "modified_at": 0,
          "public_url": 0,
          "uid": 0
        },
        "numeric_errors": {
          "id": 0,
          "realtime_parking_site_error_count": 0,
          "static_parking_site_error_count": 0
        },
        "original_endpoint": "sources",
        "provider_audits": [],
        "provider_rollup_score": null,
        "provider_summaries": [],
        "quality_recommendations": [],
        "raw_endpoint_fetched_at": {
          "parking-sites": null,
          "parking-spots": null,
          "sources": null
        },
        "realtime_endpoint_results": {
          "parking-sites": {
            "anomaly_counts": {
              "free_spaces_gt_capacity": 0,
              "impossible_capacity_values": 0,
              "mapping_inconsistency_signals": 0,
              "negative_occupancy_values": 0,
              "out_of_region_coordinates": 0,
              "realtime_stale_or_frozen": 0,
              "suspicious_occupancy_jump": 0
            },
            "anomaly_examples": [],
            "completeness": 0.0,
            "consistency": 0.0,
            "endpoint": "parking-sites",
            "fetched_at": null,
            "realtime_vs_static_mode": {
              "realtime_records": 0,
              "static_records": 0
            },
            "record_count": 0,
            "score": 0.0,
            "timeliness": 0.0,
            "validity": 0.0
          },
          "parking-spots": {
            "anomaly_counts": {
              "free_spaces_gt_capacity": 0,
              "impossible_capacity_values": 0,
              "mapping_inconsistency_signals": 0,
              "negative_occupancy_values": 0,
              "out_of_region_coordinates": 0,
              "realtime_stale_or_frozen": 0,
              "suspicious_occupancy_jump": 0
            },
            "anomaly_examples": [],
            "completeness": 0.0,
            "consistency": 0.0,
            "endpoint": "parking-spots",
            "fetched_at": null,
            "realtime_vs_static_mode": {
              "realtime_records": 0,
              "static_records": 0
            },
            "record_count": 0,
            "score": 0.0,
            "timeliness": 0.0,
            "validity": 0.0
          },
          "sources": {
            "anomaly_counts": {
              "free_spaces_gt_capacity": 0,
              "impossible_capacity_values": 0,
              "mapping_inconsistency_signals": 0,
              "negative_occupancy_values": 0,
              "out_of_region_coordinates": 0,
              "realtime_stale_or_frozen": 0,
              "suspicious_occupancy_jump": 0
            },
            "anomaly_examples": [],
            "completeness": 0.0,
            "consistency": 0.0,
            "endpoint": "sources",
            "fetched_at": null,
            "realtime_vs_static_mode": {
              "realtime_records": 0,
              "static_records": 0
            },
            "record_count": 0,
            "score": 0.0,
            "timeliness": 0.0,
            "validity": 0.0
          }
        },
        "realtime_vs_static_mode": {
          "realtime_records": 0,
          "static_records": 0
        },
        "refresh_seconds": 600,
        "schema_error_counts": {},
        "schema_error_fields": {},
        "schema_invalid_examples": [],
        "schema_record_checks": 0,
        "schema_record_pass": 0,
        "source_records": 0,
        "stale_records": 0
      },
      "endpoint": "realtime-anomalies",
      "moving_avg": 0.0,
      "moving_std": 0.0,
      "previous_score": null,
      "record_count": 0,
      "score": 0.0,
      "signal": "baseline",
      "timeliness": 0.0,
      "validity": 0.0,
      "z_score": 0.0
    }
  ]
}
analyzer success 2026-05-30 15:16:59 2026-05-30 15:16:59 249 ms
Show process log (15 events)
[
  {
    "data": {
      "endpoints": [
        "parking-spots",
        "parking-sites",
        "sources"
      ]
    },
    "job_name": "analyzer",
    "message": "analysis cycle started",
    "status": "running",
    "step": "cycle.start",
    "timestamp": "2026-05-30T15:16:59.251685+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "fetched_at": null,
      "record_count": 0
    },
    "job_name": "analyzer",
    "message": "latest raw payload loaded",
    "status": "success",
    "step": "endpoint.load_raw",
    "timestamp": "2026-05-30T15:16:59.329800+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "fetched_at": null,
      "record_count": 0
    },
    "job_name": "analyzer",
    "message": "latest raw payload loaded",
    "status": "success",
    "step": "endpoint.load_raw",
    "timestamp": "2026-05-30T15:16:59.329985+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "fetched_at": null,
      "record_count": 0
    },
    "job_name": "analyzer",
    "message": "latest raw payload loaded",
    "status": "success",
    "step": "endpoint.load_raw",
    "timestamp": "2026-05-30T15:16:59.330065+00:00"
  },
  {
    "data": {
      "history_count": 0
    },
    "job_name": "analyzer",
    "message": "provider history loaded",
    "status": "success",
    "step": "provider_history.load",
    "timestamp": "2026-05-30T15:16:59.345911+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "record_count": 0
    },
    "job_name": "analyzer",
    "message": "endpoint analysis started",
    "status": "running",
    "step": "endpoint.analyze",
    "timestamp": "2026-05-30T15:16:59.346075+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "score": 0.0
    },
    "job_name": "analyzer",
    "message": "persisting quality metric",
    "status": "running",
    "step": "endpoint.persist_metric",
    "timestamp": "2026-05-30T15:16:59.399117+00:00"
  },
  {
    "data": {
      "endpoint": "parking-spots",
      "findings": null,
      "score": 0.0,
      "signal": "baseline"
    },
    "job_name": "analyzer",
    "message": "endpoint analysis completed",
    "status": "success",
    "step": "endpoint.analyze",
    "timestamp": "2026-05-30T15:16:59.443709+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "record_count": 0
    },
    "job_name": "analyzer",
    "message": "endpoint analysis started",
    "status": "running",
    "step": "endpoint.analyze",
    "timestamp": "2026-05-30T15:16:59.443947+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "score": 0.0
    },
    "job_name": "analyzer",
    "message": "persisting quality metric",
    "status": "running",
    "step": "endpoint.persist_metric",
    "timestamp": "2026-05-30T15:16:59.463269+00:00"
  },
  {
    "data": {
      "endpoint": "parking-sites",
      "findings": null,
      "score": 0.0,
      "signal": "baseline"
    },
    "job_name": "analyzer",
    "message": "endpoint analysis completed",
    "status": "success",
    "step": "endpoint.analyze",
    "timestamp": "2026-05-30T15:16:59.480273+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "record_count": 0
    },
    "job_name": "analyzer",
    "message": "endpoint analysis started",
    "status": "running",
    "step": "endpoint.analyze",
    "timestamp": "2026-05-30T15:16:59.480468+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "score": 0.0
    },
    "job_name": "analyzer",
    "message": "persisting quality metric",
    "status": "running",
    "step": "endpoint.persist_metric",
    "timestamp": "2026-05-30T15:16:59.491827+00:00"
  },
  {
    "data": {
      "endpoint": "sources",
      "findings": null,
      "score": 0.0,
      "signal": "baseline"
    },
    "job_name": "analyzer",
    "message": "endpoint analysis completed",
    "status": "success",
    "step": "endpoint.analyze",
    "timestamp": "2026-05-30T15:16:59.500385+00:00"
  },
  {
    "data": {
      "duration_ms": 249,
      "endpoint_count": 3
    },
    "job_name": "analyzer",
    "message": "analysis cycle completed",
    "status": "success",
    "step": "cycle.finish",
    "timestamp": "2026-05-30T15:16:59.500581+00:00"
  }
]
Show run details
{
  "duration_ms": 249,
  "events": [
    {
      "data": {
        "endpoints": [
          "parking-spots",
          "parking-sites",
          "sources"
        ]
      },
      "job_name": "analyzer",
      "message": "analysis cycle started",
      "status": "running",
      "step": "cycle.start",
      "timestamp": "2026-05-30T15:16:59.251685+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "fetched_at": null,
        "record_count": 0
      },
      "job_name": "analyzer",
      "message": "latest raw payload loaded",
      "status": "success",
      "step": "endpoint.load_raw",
      "timestamp": "2026-05-30T15:16:59.329800+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "fetched_at": null,
        "record_count": 0
      },
      "job_name": "analyzer",
      "message": "latest raw payload loaded",
      "status": "success",
      "step": "endpoint.load_raw",
      "timestamp": "2026-05-30T15:16:59.329985+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "fetched_at": null,
        "record_count": 0
      },
      "job_name": "analyzer",
      "message": "latest raw payload loaded",
      "status": "success",
      "step": "endpoint.load_raw",
      "timestamp": "2026-05-30T15:16:59.330065+00:00"
    },
    {
      "data": {
        "history_count": 0
      },
      "job_name": "analyzer",
      "message": "provider history loaded",
      "status": "success",
      "step": "provider_history.load",
      "timestamp": "2026-05-30T15:16:59.345911+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "record_count": 0
      },
      "job_name": "analyzer",
      "message": "endpoint analysis started",
      "status": "running",
      "step": "endpoint.analyze",
      "timestamp": "2026-05-30T15:16:59.346075+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "score": 0.0
      },
      "job_name": "analyzer",
      "message": "persisting quality metric",
      "status": "running",
      "step": "endpoint.persist_metric",
      "timestamp": "2026-05-30T15:16:59.399117+00:00"
    },
    {
      "data": {
        "endpoint": "parking-spots",
        "findings": null,
        "score": 0.0,
        "signal": "baseline"
      },
      "job_name": "analyzer",
      "message": "endpoint analysis completed",
      "status": "success",
      "step": "endpoint.analyze",
      "timestamp": "2026-05-30T15:16:59.443709+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "record_count": 0
      },
      "job_name": "analyzer",
      "message": "endpoint analysis started",
      "status": "running",
      "step": "endpoint.analyze",
      "timestamp": "2026-05-30T15:16:59.443947+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "score": 0.0
      },
      "job_name": "analyzer",
      "message": "persisting quality metric",
      "status": "running",
      "step": "endpoint.persist_metric",
      "timestamp": "2026-05-30T15:16:59.463269+00:00"
    },
    {
      "data": {
        "endpoint": "parking-sites",
        "findings": null,
        "score": 0.0,
        "signal": "baseline"
      },
      "job_name": "analyzer",
      "message": "endpoint analysis completed",
      "status": "success",
      "step": "endpoint.analyze",
      "timestamp": "2026-05-30T15:16:59.480273+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "record_count": 0
      },
      "job_name": "analyzer",
      "message": "endpoint analysis started",
      "status": "running",
      "step": "endpoint.analyze",
      "timestamp": "2026-05-30T15:16:59.480468+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "score": 0.0
      },
      "job_name": "analyzer",
      "message": "persisting quality metric",
      "status": "running",
      "step": "endpoint.persist_metric",
      "timestamp": "2026-05-30T15:16:59.491827+00:00"
    },
    {
      "data": {
        "endpoint": "sources",
        "findings": null,
        "score": 0.0,
        "signal": "baseline"
      },
      "job_name": "analyzer",
      "message": "endpoint analysis completed",
      "status": "success",
      "step": "endpoint.analyze",
      "timestamp": "2026-05-30T15:16:59.500385+00:00"
    },
    {
      "data": {
        "duration_ms": 249,
        "endpoint_count": 3
      },
      "job_name": "analyzer",
      "message": "analysis cycle completed",
      "status": "success",
      "step": "cycle.finish",
      "timestamp": "2026-05-30T15:16:59.500581+00:00"
    }
  ],
  "results": [
    {
      "completeness": 0.0,
      "consistency": 0.0,
      "details": {
        "anomaly_counts": {
          "free_spaces_gt_capacity": 0,
          "impossible_capacity_values": 0,
          "mapping_inconsistency_signals": 0,
          "negative_occupancy_values": 0,
          "out_of_region_coordinates": 0,
          "realtime_stale_or_frozen": 0,
          "suspicious_occupancy_jump": 0
        },
        "anomaly_examples": [],
        "close_location_counts_by_source": {},
        "close_location_examples": [],
        "close_location_flagged_records": 0,
        "close_location_pairs": 0,
        "close_location_threshold_meters": 5.0,
        "fetched_at": null,
        "missing_fields": {
          "created_at": 0,
          "has_realtime_data": 0,
          "id": 0,
          "lat": 0,
          "lon": 0,
          "modified_at": 0,
          "original_uid": 0,
          "purpose": 0,
          "source_id": 0
        },
        "numeric_errors": {
          "id": 0,
          "parking_site_id": 0,
          "source_id": 0
        },
        "provider_audits": [],
        "provider_rollup_score": null,
        "provider_summaries": [],
        "quality_recommendations": [],
        "realtime_vs_static_mode": {
          "realtime_records": 0,
          "static_records": 0
        },
        "schema_error_counts": {},
        "schema_error_fields": {},
        "schema_invalid_examples": [],
        "schema_record_checks": 0,
        "schema_record_pass": 0,
        "source_records": 0,
        "stale_records": 0
      },
      "endpoint": "parking-spots",
      "moving_avg": 0.0,
      "previous_score": null,
      "record_count": 0,
      "score": 0.0,
      "signal": "baseline",
      "timeliness": 0.0,
      "validity": 0.0,
      "z_score": 0.0
    },
    {
      "completeness": 0.0,
      "consistency": 0.0,
      "details": {
        "anomaly_counts": {
          "free_spaces_gt_capacity": 0,
          "impossible_capacity_values": 0,
          "mapping_inconsistency_signals": 0,
          "negative_occupancy_values": 0,
          "out_of_region_coordinates": 0,
          "realtime_stale_or_frozen": 0,
          "suspicious_occupancy_jump": 0
        },
        "anomaly_examples": [],
        "close_location_counts_by_source": {},
        "close_location_examples": [],
        "close_location_flagged_records": 0,
        "close_location_pairs": 0,
        "close_location_threshold_meters": 5.0,
        "fetched_at": null,
        "missing_fields": {
          "capacity": 0,
          "created_at": 0,
          "has_realtime_data": 0,
          "id": 0,
          "lat": 0,
          "lon": 0,
          "modified_at": 0,
          "name": 0,
          "original_uid": 0,
          "purpose": 0,
          "source_id": 0,
          "static_data_updated_at": 0,
          "type": 0
        },
        "numeric_errors": {
          "capacity": 0,
          "id": 0,
          "realtime_capacity": 0,
          "realtime_free_capacity": 0,
          "source_id": 0
        },
        "provider_audits": [],
        "provider_rollup_score": null,
        "provider_summaries": [],
        "quality_recommendations": [],
        "realtime_vs_static_mode": {
          "realtime_records": 0,
          "static_records": 0
        },
        "schema_error_counts": {},
        "schema_error_fields": {},
        "schema_invalid_examples": [],
        "schema_record_checks": 0,
        "schema_record_pass": 0,
        "source_records": 0,
        "stale_records": 0
      },
      "endpoint": "parking-sites",
      "moving_avg": 0.0,
      "previous_score": null,
      "record_count": 0,
      "score": 0.0,
      "signal": "baseline",
      "timeliness": 0.0,
      "validity": 0.0,
      "z_score": 0.0
    },
    {
      "completeness": 0.0,
      "consistency": 0.0,
      "details": {
        "anomaly_counts": {
          "free_spaces_gt_capacity": 0,
          "impossible_capacity_values": 0,
          "mapping_inconsistency_signals": 0,
          "negative_occupancy_values": 0,
          "out_of_region_coordinates": 0,
          "realtime_stale_or_frozen": 0,
          "suspicious_occupancy_jump": 0
        },
        "anomaly_examples": [],
        "close_location_counts_by_source": {},
        "close_location_examples": [],
        "close_location_flagged_records": 0,
        "close_location_pairs": 0,
        "close_location_threshold_meters": 5.0,
        "fetched_at": null,
        "missing_fields": {
          "created_at": 0,
          "id": 0,
          "modified_at": 0,
          "public_url": 0,
          "uid": 0
        },
        "numeric_errors": {
          "id": 0,
          "realtime_parking_site_error_count": 0,
          "static_parking_site_error_count": 0
        },
        "provider_audits": [],
        "provider_rollup_score": null,
        "provider_summaries": [],
        "quality_recommendations": [],
        "realtime_vs_static_mode": {
          "realtime_records": 0,
          "static_records": 0
        },
        "schema_error_counts": {},
        "schema_error_fields": {},
        "schema_invalid_examples": [],
        "schema_record_checks": 0,
        "schema_record_pass": 0,
        "source_records": 0,
        "stale_records": 0
      },
      "endpoint": "sources",
      "moving_avg": 0.0,
      "previous_score": null,
      "record_count": 0,
      "score": 0.0,
      "signal": "baseline",
      "timeliness": 0.0,
      "validity": 0.0,
      "z_score": 0.0
    }
  ]
}
Page 13 of 13