{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "cyanheads-wsdot-mcp-server",
  "component": "wsdot",
  "generated_at": "2026-09-29T02:34:33.060Z",
  "tracking_since": "2026-07-26",
  "counts": {
    "critical": 0,
    "security": 22,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a0d56f-070a-7420-877f-58858741f1b9",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "wsdot_search_cameras",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "wsdot_search_cameras"
      },
      "occurred_on": "2026-09-24",
      "occurred_at": "2026-09-24 22:00:18.044238+00",
      "observed_since": "2026-09-24",
      "source": "scan",
      "summary": "Tool “wsdot_search_cameras” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_01a0d56f-070a-7420-877f-58858741f1b9"
    },
    {
      "id": "chg_01a0d56f-0709-71dd-a660-d09e04477711",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "wsdot_search_alerts",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "wsdot_search_alerts"
      },
      "occurred_on": "2026-09-24",
      "occurred_at": "2026-09-24 22:00:18.044238+00",
      "observed_since": "2026-09-24",
      "source": "scan",
      "summary": "Tool “wsdot_search_alerts” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_01a0d56f-0709-71dd-a660-d09e04477711"
    },
    {
      "id": "chg_01a0d56f-0708-7776-9c74-0d2f7425bd77",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "wsdot_get_travel_times",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "wsdot_get_travel_times"
      },
      "occurred_on": "2026-09-24",
      "occurred_at": "2026-09-24 22:00:18.044238+00",
      "observed_since": "2026-09-24",
      "source": "scan",
      "summary": "Tool “wsdot_get_travel_times” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_01a0d56f-0708-7776-9c74-0d2f7425bd77"
    },
    {
      "id": "chg_01a0d56f-0707-72ff-8018-53e2fea356f0",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "wsdot_get_toll_rates",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "wsdot_get_toll_rates"
      },
      "occurred_on": "2026-09-24",
      "occurred_at": "2026-09-24 22:00:18.044238+00",
      "observed_since": "2026-09-24",
      "source": "scan",
      "summary": "Tool “wsdot_get_toll_rates” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_01a0d56f-0707-72ff-8018-53e2fea356f0"
    },
    {
      "id": "chg_01a0d56f-0702-77b6-91c5-4d2b642a0b2d",
      "kind": "check.verdict",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.stable",
      "to_code": "stability.churn",
      "from_value": "pass",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "days": "30",
        "added": "0",
        "breaks": "2",
        "removed": "0",
        "auth_transport": "0"
      },
      "occurred_on": "2026-09-24",
      "occurred_at": "2026-09-24 22:00:18.044238+00",
      "observed_since": "2026-09-23",
      "source": "scan",
      "summary": "Stability (pass → fail)",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_01a0d56f-0702-77b6-91c5-4d2b642a0b2d"
    },
    {
      "id": "chg_01a083ea-849c-72c1-baf4-96dc660a60c9",
      "kind": "check.verdict",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.building_history",
      "to_code": "stability.stable",
      "from_value": "0.97",
      "to_value": "pass",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-09",
      "occurred_at": "2026-09-09 02:06:19.705405+00",
      "observed_since": "2026-09-08",
      "source": "scan",
      "summary": "Stability (0.97 → pass)",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_01a083ea-849c-72c1-baf4-96dc660a60c9"
    },
    {
      "id": "chg_01a036aa-52cb-7044-bf79-ac3248096012",
      "kind": "check.verdict",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.building_history",
      "to_code": "stability.stable",
      "from_value": "0.97",
      "to_value": "pass",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-25",
      "occurred_at": "2026-08-25 02:05:27.039615+00",
      "observed_since": "2026-08-24",
      "source": "scan",
      "summary": "Stability (0.97 → pass)",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_01a036aa-52cb-7044-bf79-ac3248096012"
    },
    {
      "id": "chg_019fe96a-81d3-790f-8379-367224b73ce9",
      "kind": "check.reason",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.none_unlisted",
      "to_code": "auth.none_undeclared",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "auth": "none",
        "undeclared_tools": "12"
      },
      "occurred_on": "2026-08-10",
      "occurred_at": "2026-08-10 02:04:59.161077+00",
      "observed_since": "2026-08-09",
      "source": "scan",
      "summary": "Authorization (Authorisation not fully verified: no authorisation is required to call this server, and 12 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.)",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fe96a-81d3-790f-8379-367224b73ce9"
    },
    {
      "id": "chg_019fe96a-81d3-721e-a9fe-00e0b2a31d66",
      "kind": "check.verdict",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.http_error",
      "to_code": "transport.verified",
      "from_value": "fail",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "transport": "streamable-http"
      },
      "occurred_on": "2026-08-10",
      "occurred_at": "2026-08-10 02:04:59.161077+00",
      "observed_since": "2026-08-09",
      "source": "scan",
      "summary": "Transport (fail → pass)",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fe96a-81d3-721e-a9fe-00e0b2a31d66"
    },
    {
      "id": "chg_019fe96a-81d1-7b6e-a882-66f8e48638f3",
      "kind": "check.verdict",
      "family": "hsts",
      "subject_kind": "check",
      "subject": "hsts",
      "subject_child": "",
      "from_code": "headers.hsts_absent",
      "to_code": "headers.hsts_present",
      "from_value": "fail",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-10",
      "occurred_at": "2026-08-10 02:04:59.161077+00",
      "observed_since": "2026-08-09",
      "source": "scan",
      "summary": "HSTS header (fail → pass)",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fe96a-81d1-7b6e-a882-66f8e48638f3"
    },
    {
      "id": "chg_019fdf1d-b247-7286-b1d3-fdb29b283bdb",
      "kind": "capture.status_changed",
      "family": "",
      "subject_kind": "server",
      "subject": "capture",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": "verified",
      "to_value": "not_mcp",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "to": "not_mcp",
        "from": "verified"
      },
      "occurred_on": "2026-08-08",
      "occurred_at": "2026-08-08 02:04:53.148614+00",
      "observed_since": "2026-08-07",
      "source": "scan",
      "summary": "Endpoint reachability (reachable → not serving MCP)",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fdf1d-b247-7286-b1d3-fdb29b283bdb"
    },
    {
      "id": "chg_019fdf1d-b244-747b-a282-6f890da22e66",
      "kind": "check.verdict",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.verified",
      "to_code": "transport.http_error",
      "from_value": "pass",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "status": "530",
        "transport": "streamable-http"
      },
      "occurred_on": "2026-08-08",
      "occurred_at": "2026-08-08 02:04:53.148614+00",
      "observed_since": "2026-08-07",
      "source": "scan",
      "summary": "Transport (pass → fail)",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fdf1d-b244-747b-a282-6f890da22e66"
    },
    {
      "id": "chg_019fdf1d-b245-732a-9175-8cd1bf839596",
      "kind": "check.unverifiable",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.building_history",
      "to_code": "stability.insufficient_history",
      "from_value": "0.40",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-08",
      "occurred_at": "2026-08-08 02:04:53.148614+00",
      "observed_since": "2026-08-07",
      "source": "scan",
      "summary": "Stability (0.40 → unverified)",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fdf1d-b245-732a-9175-8cd1bf839596"
    },
    {
      "id": "chg_019fdf1d-b245-793e-8939-00cc2c337c1a",
      "kind": "check.verdict",
      "family": "hsts",
      "subject_kind": "check",
      "subject": "hsts",
      "subject_child": "",
      "from_code": "headers.hsts_present",
      "to_code": "headers.hsts_absent",
      "from_value": "pass",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-08",
      "occurred_at": "2026-08-08 02:04:53.148614+00",
      "observed_since": "2026-08-07",
      "source": "scan",
      "summary": "HSTS header (pass → fail)",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fdf1d-b245-793e-8939-00cc2c337c1a"
    },
    {
      "id": "chg_019fdf1d-b245-7e03-97d8-e0dbe2ed2f62",
      "kind": "check.reason",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.none_undeclared",
      "to_code": "auth.none_unlisted",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-08",
      "occurred_at": "2026-08-08 02:04:53.148614+00",
      "observed_since": "2026-08-07",
      "source": "scan",
      "summary": "Authorization (Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the whole tool list to see what that exposes.)",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fdf1d-b245-7e03-97d8-e0dbe2ed2f62"
    },
    {
      "id": "chg_019fb608-7f2c-7627-ab34-5f54e194410f",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "wsdot_get_toll_rates",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "wsdot_get_toll_rates"
      },
      "occurred_on": "2026-07-31",
      "occurred_at": "2026-07-31 02:37:17.979144+00",
      "observed_since": "2026-07-31",
      "source": "scan",
      "summary": "Tool “wsdot_get_toll_rates” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fb608-7f2c-7627-ab34-5f54e194410f"
    },
    {
      "id": "chg_019fb608-7f31-7eef-96b8-9bce6f2f172e",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "wsdot_search_cameras",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "wsdot_search_cameras"
      },
      "occurred_on": "2026-07-31",
      "occurred_at": "2026-07-31 02:37:17.979144+00",
      "observed_since": "2026-07-31",
      "source": "scan",
      "summary": "Tool “wsdot_search_cameras” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fb608-7f31-7eef-96b8-9bce6f2f172e"
    },
    {
      "id": "chg_019fb5d0-b7c8-7a4d-99dd-e2cc4e9e20d1",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "wsdot_get_ferry_alerts",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "wsdot_get_ferry_alerts"
      },
      "occurred_on": "2026-07-31",
      "occurred_at": "2026-07-31 01:36:22.451135+00",
      "observed_since": "2026-07-31",
      "source": "scan",
      "summary": "Tool “wsdot_get_ferry_alerts” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fb5d0-b7c8-7a4d-99dd-e2cc4e9e20d1"
    },
    {
      "id": "chg_019fb598-d41c-73d5-8a60-0b543c56c162",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "wsdot_get_ferry_schedule",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "wsdot_get_ferry_schedule"
      },
      "occurred_on": "2026-07-31",
      "occurred_at": "2026-07-31 00:35:19.678198+00",
      "observed_since": "2026-07-30",
      "source": "scan",
      "summary": "Tool “wsdot_get_ferry_schedule” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fb598-d41c-73d5-8a60-0b543c56c162"
    },
    {
      "id": "chg_019fb598-d41c-7b3a-bf92-93edd35b00a3",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "wsdot_get_terminal_space",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "wsdot_get_terminal_space"
      },
      "occurred_on": "2026-07-31",
      "occurred_at": "2026-07-31 00:35:19.678198+00",
      "observed_since": "2026-07-30",
      "source": "scan",
      "summary": "Tool “wsdot_get_terminal_space” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fb598-d41c-7b3a-bf92-93edd35b00a3"
    },
    {
      "id": "chg_019fb598-d41d-7091-aac0-f69d909d7fb2",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "wsdot_get_travel_times",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "wsdot_get_travel_times"
      },
      "occurred_on": "2026-07-31",
      "occurred_at": "2026-07-31 00:35:19.678198+00",
      "observed_since": "2026-07-30",
      "source": "scan",
      "summary": "Tool “wsdot_get_travel_times” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fb598-d41d-7091-aac0-f69d909d7fb2"
    },
    {
      "id": "chg_019fb598-d41d-7b48-8ea2-ad0e27996f21",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "wsdot_search_alerts",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "wsdot_search_alerts"
      },
      "occurred_on": "2026-07-31",
      "occurred_at": "2026-07-31 00:35:19.678198+00",
      "observed_since": "2026-07-30",
      "source": "scan",
      "summary": "Tool “wsdot_search_alerts” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/cyanheads-wsdot-mcp-server/wsdot#chg-chg_019fb598-d41d-7b48-8ea2-ad0e27996f21"
    }
  ],
  "days": [
    {
      "date": "2026-09-28",
      "total": 86,
      "delta": 7,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-24",
      "total": 79,
      "delta": -2,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 22
    },
    {
      "date": "2026-09-20",
      "total": 81,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-09",
      "total": 81,
      "delta": 1,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-07",
      "total": 80,
      "delta": -1,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-26",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-25",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 4
    },
    {
      "date": "2026-08-11",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    }
  ]
}