{
  "status": "degraded",
  "timestamp": "2026-08-19T07:48:41.914961",
  "groups": [
    {
      "name": "Platform Core",
      "status": "healthy",
      "healthy_count": 3,
      "total": 3,
      "services": [
        {
          "name": "Website Core",
          "status": "healthy",
          "response_time_ms": 3,
          "last_check": "2026-07-11T08:09:15",
          "error": false,
          "critical": true
        },
        {
          "name": "Home Screen",
          "status": "healthy",
          "response_time_ms": 3,
          "last_check": "2026-07-11T08:09:15",
          "error": false,
          "critical": false
        },
        {
          "name": "Database (PostgreSQL)",
          "status": "healthy",
          "response_time_ms": 2,
          "last_check": "2026-07-11T08:09:23",
          "error": false,
          "critical": true
        }
      ]
    },
    {
      "name": "Community Dashboard",
      "status": "healthy",
      "healthy_count": 4,
      "total": 4,
      "services": [
        {
          "name": "Community Dashboard - Home",
          "status": "healthy",
          "response_time_ms": 183,
          "last_check": "2026-07-11T08:09:15",
          "error": false,
          "critical": true
        },
        {
          "name": "Community Dashboard - Map",
          "status": "healthy",
          "response_time_ms": 199,
          "last_check": "2026-07-11T08:09:16",
          "error": false,
          "critical": true
        },
        {
          "name": "Community Dashboard - Search",
          "status": "healthy",
          "response_time_ms": 168,
          "last_check": "2026-07-11T08:09:16",
          "error": false,
          "critical": false
        },
        {
          "name": "Community Dashboard - Insights",
          "status": "healthy",
          "response_time_ms": 172,
          "last_check": "2026-07-11T08:09:16",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Dashboard",
      "status": "healthy",
      "healthy_count": 4,
      "total": 4,
      "services": [
        {
          "name": "Dashboard Check 1",
          "status": "healthy",
          "response_time_ms": 1,
          "last_check": "2026-07-11T08:09:15",
          "error": false,
          "critical": true
        },
        {
          "name": "Dashboard Check 2",
          "status": "healthy",
          "response_time_ms": 1,
          "last_check": "2026-07-11T08:09:15",
          "error": false,
          "critical": true
        },
        {
          "name": "Dashboard Check 3",
          "status": "healthy",
          "response_time_ms": 1,
          "last_check": "2026-07-11T08:09:15",
          "error": false,
          "critical": true
        },
        {
          "name": "Dashboard Check 4",
          "status": "healthy",
          "response_time_ms": 3,
          "last_check": "2026-07-11T08:09:15",
          "error": false,
          "critical": true
        }
      ]
    },
    {
      "name": "Learning Academy",
      "status": "healthy",
      "healthy_count": 2,
      "total": 2,
      "services": [
        {
          "name": "Learning Academy - Home",
          "status": "healthy",
          "response_time_ms": 202,
          "last_check": "2026-07-11T08:09:16",
          "error": false,
          "critical": true
        },
        {
          "name": "Learning Academy - All Courses",
          "status": "healthy",
          "response_time_ms": 248,
          "last_check": "2026-07-11T08:09:16",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Mizan Compass",
      "status": "healthy",
      "healthy_count": 3,
      "total": 3,
      "services": [
        {
          "name": "Mizan Compass - Home",
          "status": "healthy",
          "response_time_ms": 215,
          "last_check": "2026-07-11T08:09:17",
          "error": false,
          "critical": true
        },
        {
          "name": "Mizan Compass - Rankings",
          "status": "healthy",
          "response_time_ms": 165,
          "last_check": "2026-07-11T08:09:17",
          "error": false,
          "critical": false
        },
        {
          "name": "Mizan Compass - Criteria",
          "status": "healthy",
          "response_time_ms": 454,
          "last_check": "2026-07-11T08:09:17",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "WriteToPower",
      "status": "healthy",
      "healthy_count": 2,
      "total": 2,
      "services": [
        {
          "name": "WriteToPower - Home",
          "status": "healthy",
          "response_time_ms": 185,
          "last_check": "2026-07-11T08:09:17",
          "error": false,
          "critical": true
        },
        {
          "name": "WriteToPower - Compose",
          "status": "healthy",
          "response_time_ms": 197,
          "last_check": "2026-07-11T08:09:18",
          "error": false,
          "critical": true
        }
      ]
    },
    {
      "name": "YourVoice",
      "status": "healthy",
      "healthy_count": 2,
      "total": 2,
      "services": [
        {
          "name": "YourVoice - Home",
          "status": "healthy",
          "response_time_ms": 177,
          "last_check": "2026-07-11T08:09:18",
          "error": false,
          "critical": true
        },
        {
          "name": "YourVoice - Ideas",
          "status": "healthy",
          "response_time_ms": 197,
          "last_check": "2026-07-11T08:09:18",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Org Finder",
      "status": "healthy",
      "healthy_count": 5,
      "total": 5,
      "services": [
        {
          "name": "Org Finder - Home",
          "status": "healthy",
          "response_time_ms": 657,
          "last_check": "2026-07-11T08:09:19",
          "error": false,
          "critical": true
        },
        {
          "name": "Org Finder - Map",
          "status": "healthy",
          "response_time_ms": 201,
          "last_check": "2026-07-11T08:09:19",
          "error": false,
          "critical": true
        },
        {
          "name": "Org Finder - Search",
          "status": "healthy",
          "response_time_ms": 970,
          "last_check": "2026-07-11T08:09:20",
          "error": false,
          "critical": false
        },
        {
          "name": "Org Finder - Services",
          "status": "healthy",
          "response_time_ms": 271,
          "last_check": "2026-07-11T08:09:20",
          "error": false,
          "critical": false
        },
        {
          "name": "Org Finder - Submit Org",
          "status": "healthy",
          "response_time_ms": 243,
          "last_check": "2026-07-11T08:09:20",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Events",
      "status": "healthy",
      "healthy_count": 3,
      "total": 3,
      "services": [
        {
          "name": "Events - Home",
          "status": "healthy",
          "response_time_ms": 164,
          "last_check": "2026-07-11T08:09:21",
          "error": false,
          "critical": true
        },
        {
          "name": "Events - Browse",
          "status": "healthy",
          "response_time_ms": 171,
          "last_check": "2026-07-11T08:09:21",
          "error": false,
          "critical": false
        },
        {
          "name": "Events - Calendar",
          "status": "healthy",
          "response_time_ms": 153,
          "last_check": "2026-07-11T08:09:21",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "People Hub",
      "status": "healthy",
      "healthy_count": 1,
      "total": 1,
      "services": [
        {
          "name": "People Hub - Home",
          "status": "healthy",
          "response_time_ms": 161,
          "last_check": "2026-07-11T08:09:21",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "AI Services",
      "status": "healthy",
      "healthy_count": 1,
      "total": 1,
      "services": [
        {
          "name": "askMCB",
          "status": "healthy",
          "response_time_ms": 9,
          "last_check": "2026-07-11T08:09:21",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Prayer Times",
      "status": "healthy",
      "healthy_count": 2,
      "total": 2,
      "services": [
        {
          "name": "Prayer Times - Home",
          "status": "healthy",
          "response_time_ms": 212,
          "last_check": "2026-07-11T08:09:21",
          "error": false,
          "critical": false
        },
        {
          "name": "Prayer Times - Search",
          "status": "healthy",
          "response_time_ms": 155,
          "last_check": "2026-07-11T08:09:22",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Jobs",
      "status": "healthy",
      "healthy_count": 1,
      "total": 1,
      "services": [
        {
          "name": "Jobs - Home",
          "status": "healthy",
          "response_time_ms": 185,
          "last_check": "2026-07-11T08:09:22",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Communications",
      "status": "healthy",
      "healthy_count": 2,
      "total": 2,
      "services": [
        {
          "name": "Messaging",
          "status": "healthy",
          "response_time_ms": 7,
          "last_check": "2026-07-11T08:09:22",
          "error": false,
          "critical": false
        },
        {
          "name": "Social Marketing",
          "status": "healthy",
          "response_time_ms": 5,
          "last_check": "2026-07-11T08:09:22",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "Outreach",
      "status": "healthy",
      "healthy_count": 1,
      "total": 1,
      "services": [
        {
          "name": "Outreach Engine",
          "status": "healthy",
          "response_time_ms": 3,
          "last_check": "2026-07-11T08:09:22",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "askMCB Chatbot",
      "status": "healthy",
      "healthy_count": 6,
      "total": 6,
      "services": [
        {
          "name": "askMCB - Error Rate (60min)",
          "status": "healthy",
          "response_time_ms": 62,
          "last_check": "2026-07-11T08:09:22",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB - p95 Latency",
          "status": "healthy",
          "response_time_ms": 57,
          "last_check": "2026-07-11T08:09:22",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB - Cost Budget (60-min window)",
          "status": "healthy",
          "response_time_ms": 54,
          "last_check": "2026-07-11T08:09:22",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB - WhatsApp Error Rate",
          "status": "healthy",
          "response_time_ms": 59,
          "last_check": "2026-07-11T08:09:22",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB - SMS Error Rate",
          "status": "healthy",
          "response_time_ms": 54,
          "last_check": "2026-07-11T08:09:23",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB - Telegram Error Rate",
          "status": "healthy",
          "response_time_ms": 62,
          "last_check": "2026-07-11T08:09:23",
          "error": false,
          "critical": false
        }
      ]
    },
    {
      "name": "askMCB Heartbeats",
      "status": "degraded",
      "healthy_count": 17,
      "total": 19,
      "services": [
        {
          "name": "askMCB L1 - Organization Finder",
          "status": "healthy",
          "response_time_ms": 32409,
          "last_check": "2026-07-11T07:20:22",
          "error": false,
          "critical": true
        },
        {
          "name": "askMCB L1 - Prayer Times",
          "status": "degraded",
          "response_time_ms": 25633,
          "last_check": "2026-07-11T07:20:48",
          "error": "reply matched but slow: 25631 ms > threshold 20000 ms",
          "critical": true
        },
        {
          "name": "askMCB L1 - Halal Restaurants",
          "status": "healthy",
          "response_time_ms": 11935,
          "last_check": "2026-07-11T07:29:15",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - Learning Academy Courses",
          "status": "healthy",
          "response_time_ms": 16420,
          "last_check": "2026-07-11T07:50:12",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - Events",
          "status": "healthy",
          "response_time_ms": 41999,
          "last_check": "2026-07-11T07:50:54",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - Legal Guidance (Ad'l)",
          "status": "healthy",
          "response_time_ms": 40347,
          "last_check": "2026-07-11T07:54:52",
          "error": false,
          "critical": true
        },
        {
          "name": "askMCB L1 - Blog Search",
          "status": "healthy",
          "response_time_ms": 34634,
          "last_check": "2026-07-11T07:59:43",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - Website Page Search",
          "status": "healthy",
          "response_time_ms": 18264,
          "last_check": "2026-07-11T08:00:01",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - YourVoice / WriteToPower",
          "status": "healthy",
          "response_time_ms": 68683,
          "last_check": "2026-07-11T07:09:19",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - Jobs / Recruitment",
          "status": "healthy",
          "response_time_ms": 25536,
          "last_check": "2026-07-11T07:09:44",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - Mental Health Helper (ask_mh_helper)",
          "status": "healthy",
          "response_time_ms": 25653,
          "last_check": "2026-07-11T07:10:10",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - WhatsApp Brevity",
          "status": "healthy",
          "response_time_ms": 21450,
          "last_check": "2026-07-11T07:10:31",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L1 - MCB Website RAG",
          "status": "healthy",
          "response_time_ms": 34050,
          "last_check": "2026-07-11T07:11:42",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L2 - WhatsApp Org Finder (mail_channel)",
          "status": "healthy",
          "response_time_ms": 20990,
          "last_check": "2026-07-11T07:12:03",
          "error": false,
          "critical": true
        },
        {
          "name": "askMCB L2 - WhatsApp Prayer Times (mail_channel)",
          "status": "healthy",
          "response_time_ms": 9207,
          "last_check": "2026-07-11T07:12:12",
          "error": false,
          "critical": true
        },
        {
          "name": "askMCB L2 - WhatsApp Legal (mail_channel)",
          "status": "degraded",
          "response_time_ms": 7551,
          "last_check": "2026-07-11T07:39:48",
          "error": "reply missing expected pattern /equality act|ehrc|discrimin|tribunal|right/i \u2014 reply preview: \" I'm sorry you keep telling me this and I haven't given you a full answer yet. Let me get the legal guidance for you now \u2014 but I still need a tiny bit from you \"",
          "critical": true
        },
        {
          "name": "askMCB L2 - SMS Org Finder (mail_channel)",
          "status": "healthy",
          "response_time_ms": 11339,
          "last_check": "2026-07-11T07:40:00",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L2 - Telegram Org Finder (mail_channel)",
          "status": "healthy",
          "response_time_ms": 11247,
          "last_check": "2026-07-11T07:40:11",
          "error": false,
          "critical": false
        },
        {
          "name": "askMCB L2 - Web Widget Org Finder (mail_channel)",
          "status": "healthy",
          "response_time_ms": 8769,
          "last_check": "2026-07-11T07:40:20",
          "error": false,
          "critical": false
        }
      ]
    }
  ],
  "services": [
    {
      "name": "Community Dashboard",
      "status": "healthy",
      "response_time_ms": 1,
      "last_check": "2026-07-11T08:09:15",
      "error": false,
      "critical": true
    },
    {
      "name": "User DB Check",
      "status": "healthy",
      "response_time_ms": 1,
      "last_check": "2026-07-11T08:09:15",
      "error": false,
      "critical": true
    }
  ],
  "external_services": {
    "railway_microservices": [
      {
        "name": "Chatbot Service",
        "status": "healthy",
        "response_time_ms": 100,
        "url": "https://chatbot-service-production-07e3.up.railway.app/health",
        "last_check": "2026-07-11T08:09:23",
        "error": false,
        "critical": true,
        "description": "AI Chatbot for VMM (LangChain + OpenAI)"
      },
      {
        "name": "CV Parser Service",
        "status": "healthy",
        "response_time_ms": 146,
        "url": "https://cv-parser-production-3522.up.railway.app/health",
        "last_check": "2026-07-11T08:09:23",
        "error": false,
        "critical": false,
        "description": "CV/Resume parsing with ESCO taxonomy"
      },
      {
        "name": "Matching Service",
        "status": "healthy",
        "response_time_ms": 111,
        "url": "https://matching-service-production-c5a3.up.railway.app/health",
        "last_check": "2026-07-11T08:09:23",
        "error": false,
        "critical": false,
        "description": "AI job/candidate matching"
      },
      {
        "name": "Jobs API",
        "status": "healthy",
        "response_time_ms": 172,
        "url": "https://jobs-api-production-c07d.up.railway.app/health",
        "last_check": "2026-07-11T08:09:23",
        "error": false,
        "critical": false,
        "description": "Jobs aggregation API"
      },
      {
        "name": "Course Finder",
        "status": "healthy",
        "response_time_ms": 100,
        "url": "https://coursefinder-production.up.railway.app/health",
        "last_check": "2026-07-11T08:09:23",
        "error": false,
        "critical": false,
        "description": "Course search and discovery"
      },
      {
        "name": "MCB API Gateway",
        "status": "healthy",
        "response_time_ms": 117,
        "url": "https://mcb-api-gateway-production.up.railway.app/api/v1/health",
        "last_check": "2026-07-11T08:09:23",
        "error": false,
        "critical": true,
        "description": "FastAPI gateway exposing 99 endpoints + MCP server for external integrations"
      },
      {
        "name": "MCB Website RAG API",
        "status": "healthy",
        "response_time_ms": 118,
        "url": "https://mcb-website-rag-api-production.up.railway.app/health",
        "last_check": "2026-07-11T08:09:24",
        "error": false,
        "critical": false,
        "description": "OG-RAG service over mcb.org.uk content (powers askMCB search_mcb_website). Direct probe, independent of the /chat L1 heartbeat."
      },
      {
        "name": "OSRM Routing",
        "status": "healthy",
        "response_time_ms": 60,
        "url": "https://osrmproj-production.up.railway.app/route/v1/driving/0,51?overview=false",
        "last_check": "2026-07-11T08:09:24",
        "error": false,
        "critical": false,
        "description": "Routing and directions service"
      },
      {
        "name": "Document Processor",
        "status": "healthy",
        "response_time_ms": 90,
        "url": "https://document-processor-production-6888.up.railway.app/health",
        "last_check": "2026-07-11T08:09:24",
        "error": false,
        "critical": false,
        "description": "AI-powered document extraction for prayer timetables and events"
      },
      {
        "name": "Document Processor",
        "status": "healthy",
        "response_time_ms": 103,
        "url": "https://document-processor-production-6888.up.railway.app/health",
        "last_check": "2026-07-11T08:09:24",
        "error": false,
        "critical": false,
        "description": "AI-powered document extraction for prayer timetables and events"
      }
    ],
    "thirdparty_apis": [
      {
        "name": "Mapbox",
        "status": "healthy",
        "response_time_ms": 53,
        "url": "https://api.mapbox.com/",
        "last_check": "2026-07-11T08:09:25",
        "error": false,
        "critical": true,
        "description": "Maps, geocoding, and address search"
      },
      {
        "name": "OpenAI",
        "status": "healthy",
        "response_time_ms": 204,
        "url": "https://api.openai.com/v1/models",
        "last_check": "2026-07-11T08:09:25",
        "error": false,
        "critical": true,
        "description": "AI email generation and chatbot"
      },
      {
        "name": "Google Gemini",
        "status": "healthy",
        "response_time_ms": 54,
        "url": "https://generativelanguage.googleapis.com/",
        "last_check": "2026-07-11T08:09:25",
        "error": false,
        "critical": false,
        "description": "AI enrichment for organizations"
      },
      {
        "name": "Google Places",
        "status": "healthy",
        "response_time_ms": 49,
        "url": "https://maps.googleapis.com/maps/api/place/nearbysearch/json",
        "last_check": "2026-07-11T08:09:25",
        "error": false,
        "critical": false,
        "description": "Mosque and venue verification"
      },
      {
        "name": "Twilio",
        "status": "healthy",
        "response_time_ms": 57,
        "url": "https://api.twilio.com/",
        "last_check": "2026-07-11T08:09:25",
        "error": false,
        "critical": true,
        "description": "SMS and WhatsApp messaging"
      },
      {
        "name": "Companies House",
        "status": "healthy",
        "response_time_ms": 93,
        "url": "https://api.company-information.service.gov.uk/",
        "last_check": "2026-07-11T08:09:25",
        "error": false,
        "critical": false,
        "description": "UK company information lookup"
      },
      {
        "name": "Charity Commission",
        "status": "healthy",
        "response_time_ms": 103,
        "url": "https://api.charitycommission.gov.uk/register/api/allcharitydetailsV2/0/1",
        "last_check": "2026-07-11T08:09:26",
        "error": false,
        "critical": false,
        "description": "UK charity data and verification"
      },
      {
        "name": "ONS Nomis",
        "status": "healthy",
        "response_time_ms": 5838,
        "url": "https://www.nomisweb.co.uk/api/v01/dataset/def.sdmx.json",
        "last_check": "2026-07-11T08:09:31",
        "error": false,
        "critical": false,
        "description": "Census 2021 demographic data"
      },
      {
        "name": "Serper",
        "status": "healthy",
        "response_time_ms": 199,
        "url": "https://google.serper.dev/",
        "last_check": "2026-07-11T08:09:32",
        "error": false,
        "critical": false,
        "description": "Web search and website discovery"
      },
      {
        "name": "AlAdhan",
        "status": "healthy",
        "response_time_ms": 488,
        "url": "https://api.aladhan.com/v1/currentTime?zone=Europe/London",
        "last_check": "2026-07-11T08:09:32",
        "error": false,
        "critical": false,
        "description": "Prayer times calculation API"
      }
    ],
    "railway_deployments": [
      {
        "name": "Railway Build: mcbplatform (production)",
        "status": "healthy",
        "response_time_ms": 266,
        "last_check": "2026-07-11T08:09:24",
        "error": false,
        "critical": true,
        "description": "Latest production deployment of the Odoo platform. Alerts on FAILED/CRASHED.",
        "environment_id": "c7f9d990-1f39-4c1a-9030-4c1b881df8fd",
        "service_id": "c57f1ce4-b6bc-4335-b915-00b7431ac539"
      },
      {
        "name": "Railway Build: chatbot-service (production)",
        "status": "healthy",
        "response_time_ms": 266,
        "last_check": "2026-07-11T08:09:24",
        "error": false,
        "critical": true,
        "description": "Latest production deployment of the chatbot sidecar.",
        "environment_id": "c7f9d990-1f39-4c1a-9030-4c1b881df8fd",
        "service_id": "5e6ef111-8b1b-458e-afb3-542c715c66ca"
      },
      {
        "name": "Railway Build: mcb-api-gateway (production)",
        "status": "healthy",
        "response_time_ms": 247,
        "last_check": "2026-07-11T08:09:25",
        "error": false,
        "critical": true,
        "description": "Latest production deployment of the FastAPI gateway sidecar.",
        "environment_id": "c7f9d990-1f39-4c1a-9030-4c1b881df8fd",
        "service_id": "b17722b3-ae71-48a1-af7f-94c20ed81544"
      },
      {
        "name": "Railway Build: document-processor (production)",
        "status": "healthy",
        "response_time_ms": 258,
        "last_check": "2026-07-11T08:09:25",
        "error": false,
        "critical": false,
        "description": "Latest production deployment of the document-processor sidecar.",
        "environment_id": "c7f9d990-1f39-4c1a-9030-4c1b881df8fd",
        "service_id": "da677cc0-1cd3-4e6d-bcd8-4fab12449f09"
      }
    ]
  },
  "active_incidents": []
}