{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "kyletaggart-lsp",
  "component": "connect",
  "generated_at": "2026-09-21T02:46:22.140Z",
  "tracking_since": "2026-07-26",
  "counts": {
    "critical": 0,
    "security": 14,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a0a3f4-343f-772d-96c6-31505b5ff9c8",
      "kind": "check.unverifiable",
      "family": "https",
      "subject_kind": "check",
      "subject": "https",
      "subject_child": "",
      "from_code": "https.enforced",
      "to_code": "https.inconclusive",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "redirect_not_https"
      },
      "occurred_on": "2026-09-15",
      "occurred_at": "2026-09-15 07:24:45.127176+00",
      "observed_since": "2026-09-14",
      "source": "scan",
      "summary": "HTTPS (pass → unverified)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a0a3f4-343f-772d-96c6-31505b5ff9c8"
    },
    {
      "id": "chg_01a0a3f4-3442-7e40-a707-d6856185f42a",
      "kind": "check.reason",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.unreachable",
      "to_code": "transport.not_mcp",
      "from_value": "fail",
      "to_value": "fail",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "transport": "streamable-http"
      },
      "occurred_on": "2026-09-15",
      "occurred_at": "2026-09-15 07:24:45.127176+00",
      "observed_since": "2026-09-14",
      "source": "scan",
      "summary": "Transport (Transport check failed: the endpoint responded but didn't complete an MCP handshake over streamable-http.)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a0a3f4-3442-7e40-a707-d6856185f42a"
    },
    {
      "id": "chg_01a09ecb-df70-78c7-974e-acf5051e135a",
      "kind": "check.reverified",
      "family": "https",
      "subject_kind": "check",
      "subject": "https",
      "subject_child": "",
      "from_code": "https.inconclusive",
      "to_code": "https.enforced",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-14",
      "occurred_at": "2026-09-14 07:22:36.05476+00",
      "observed_since": "2026-09-13",
      "source": "scan",
      "summary": "HTTPS (unverified → pass)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a09ecb-df70-78c7-974e-acf5051e135a"
    },
    {
      "id": "chg_01a09ecb-df72-7299-b796-acfb66bddeb3",
      "kind": "check.reason",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.not_mcp",
      "to_code": "transport.unreachable",
      "from_value": "fail",
      "to_value": "fail",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "transport": "streamable-http"
      },
      "occurred_on": "2026-09-14",
      "occurred_at": "2026-09-14 07:22:36.05476+00",
      "observed_since": "2026-09-13",
      "source": "scan",
      "summary": "Transport (Transport check failed: declared streamable-http, but we couldn't connect to verify it.)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a09ecb-df72-7299-b796-acfb66bddeb3"
    },
    {
      "id": "chg_01a0232d-2230-7089-9700-322362615170",
      "kind": "check.reverified",
      "family": "hsts",
      "subject_kind": "check",
      "subject": "hsts",
      "subject_child": "",
      "from_code": "headers.inconclusive",
      "to_code": "headers.hsts_absent",
      "from_value": "unverified",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-21",
      "occurred_at": "2026-08-21 07:15:55.396716+00",
      "observed_since": "2026-08-20",
      "source": "scan",
      "summary": "HSTS header (unverified → fail)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a0232d-2230-7089-9700-322362615170"
    },
    {
      "id": "chg_01a0232d-2232-70f5-95d9-22b8f75f96a1",
      "kind": "check.unverifiable",
      "family": "https",
      "subject_kind": "check",
      "subject": "https",
      "subject_child": "",
      "from_code": "https.enforced",
      "to_code": "https.inconclusive",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "redirect_not_https"
      },
      "occurred_on": "2026-08-21",
      "occurred_at": "2026-08-21 07:15:55.396716+00",
      "observed_since": "2026-08-20",
      "source": "scan",
      "summary": "HTTPS (pass → unverified)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a0232d-2232-70f5-95d9-22b8f75f96a1"
    },
    {
      "id": "chg_01a0232d-2232-7bea-a21e-02a5dff9d2a3",
      "kind": "check.reverified",
      "family": "tls",
      "subject_kind": "check",
      "subject": "tls",
      "subject_child": "",
      "from_code": "tls.unreachable",
      "to_code": "tls.valid",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-21",
      "occurred_at": "2026-08-21 07:15:55.396716+00",
      "observed_since": "2026-08-20",
      "source": "scan",
      "summary": "TLS certificate (unverified → pass)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a0232d-2232-7bea-a21e-02a5dff9d2a3"
    },
    {
      "id": "chg_01a0232d-2233-7d17-813d-9cac654d9e48",
      "kind": "check.reason",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.unreachable",
      "to_code": "transport.not_mcp",
      "from_value": "fail",
      "to_value": "fail",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "transport": "streamable-http"
      },
      "occurred_on": "2026-08-21",
      "occurred_at": "2026-08-21 07:15:55.396716+00",
      "observed_since": "2026-08-20",
      "source": "scan",
      "summary": "Transport (Transport check failed: the endpoint responded but didn't complete an MCP handshake over streamable-http.)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a0232d-2233-7d17-813d-9cac654d9e48"
    },
    {
      "id": "chg_01a0232d-2234-7db3-b4f7-86757b2e664e",
      "kind": "check.reason",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.unreachable",
      "to_code": "auth.none_unlisted",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-21",
      "occurred_at": "2026-08-21 07:15:55.396716+00",
      "observed_since": "2026-08-20",
      "source": "scan",
      "summary": "Authorization (Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes.)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a0232d-2234-7db3-b4f7-86757b2e664e"
    },
    {
      "id": "chg_01a018e0-9aab-78d1-8491-c342b569d937",
      "kind": "check.unverifiable",
      "family": "hsts",
      "subject_kind": "check",
      "subject": "hsts",
      "subject_child": "",
      "from_code": "headers.hsts_absent",
      "to_code": "headers.inconclusive",
      "from_value": "fail",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-19",
      "occurred_at": "2026-08-19 07:16:07.841201+00",
      "observed_since": "2026-08-18",
      "source": "scan",
      "summary": "HSTS header (fail → unverified)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a018e0-9aab-78d1-8491-c342b569d937"
    },
    {
      "id": "chg_01a018e0-9aac-7aea-9821-54c617f77aae",
      "kind": "check.unverifiable",
      "family": "tls",
      "subject_kind": "check",
      "subject": "tls",
      "subject_child": "",
      "from_code": "tls.valid",
      "to_code": "tls.unreachable",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-19",
      "occurred_at": "2026-08-19 07:16:07.841201+00",
      "observed_since": "2026-08-18",
      "source": "scan",
      "summary": "TLS certificate (pass → unverified)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a018e0-9aac-7aea-9821-54c617f77aae"
    },
    {
      "id": "chg_01a018e0-9aad-71eb-8a9c-f1a7391e6fe0",
      "kind": "check.reverified",
      "family": "https",
      "subject_kind": "check",
      "subject": "https",
      "subject_child": "",
      "from_code": "https.inconclusive",
      "to_code": "https.enforced",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-19",
      "occurred_at": "2026-08-19 07:16:07.841201+00",
      "observed_since": "2026-08-18",
      "source": "scan",
      "summary": "HTTPS (unverified → pass)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a018e0-9aad-71eb-8a9c-f1a7391e6fe0"
    },
    {
      "id": "chg_01a018e0-9ab0-7503-851e-3af69796c2b6",
      "kind": "check.reason",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.not_mcp",
      "to_code": "transport.unreachable",
      "from_value": "fail",
      "to_value": "fail",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "transport": "streamable-http"
      },
      "occurred_on": "2026-08-19",
      "occurred_at": "2026-08-19 07:16:07.841201+00",
      "observed_since": "2026-08-18",
      "source": "scan",
      "summary": "Transport (Transport check failed: declared streamable-http, but we couldn't connect to verify it.)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a018e0-9ab0-7503-851e-3af69796c2b6"
    },
    {
      "id": "chg_01a018e0-9ab2-7ab4-90e1-24e1395b6461",
      "kind": "check.reason",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.none_unlisted",
      "to_code": "auth.unreachable",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-19",
      "occurred_at": "2026-08-19 07:16:07.841201+00",
      "observed_since": "2026-08-18",
      "source": "scan",
      "summary": "Authorization (Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.)",
      "link": "https://verifymcp.io/servers/kyletaggart-lsp/connect#chg-chg_01a018e0-9ab2-7ab4-90e1-24e1395b6461"
    }
  ],
  "days": [
    {
      "date": "2026-09-15",
      "total": 18,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 2
    },
    {
      "date": "2026-09-14",
      "total": 18,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 2
    },
    {
      "date": "2026-08-26",
      "total": 18,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-21",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 5
    },
    {
      "date": "2026-08-19",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 5
    },
    {
      "date": "2026-08-11",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-07-31",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-07-30",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    }
  ]
}