{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "org-sovgrid-self-hosted-ai",
  "component": "self-hosted-ai",
  "generated_at": "2026-09-24T03:13:27.990Z",
  "tracking_since": "2026-07-26",
  "counts": {
    "critical": 0,
    "security": 17,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a0c33e-fce0-78bc-b831-c08011e76918",
      "kind": "server.instructions_changed",
      "family": "",
      "subject_kind": "server",
      "subject": "instructions",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-21",
      "occurred_at": "2026-09-21 09:14:39.562352+00",
      "observed_since": "2026-09-20",
      "source": "scan",
      "summary": "The server rewrote its instructions, which are the text every model session reads",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a0c33e-fce0-78bc-b831-c08011e76918"
    },
    {
      "id": "chg_01a08fbd-2c7d-7393-b877-4f9a3a3a811e",
      "kind": "check.verdict",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.unreachable",
      "to_code": "transport.verified",
      "from_value": "fail",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "transport": "streamable-http"
      },
      "occurred_on": "2026-09-11",
      "occurred_at": "2026-09-11 09:12:14.388297+00",
      "observed_since": "2026-09-10",
      "source": "scan",
      "summary": "Transport (fail → pass)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a08fbd-2c7d-7393-b877-4f9a3a3a811e"
    },
    {
      "id": "chg_01a08fbd-2c7e-7c08-a918-56072f7a66ec",
      "kind": "check.reverified",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.unreachable",
      "to_code": "toolsafety.injection_clean",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-11",
      "occurred_at": "2026-09-11 09:12:14.388297+00",
      "observed_since": "2026-09-10",
      "source": "scan",
      "summary": "Injection markers (unverified → pass)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a08fbd-2c7e-7c08-a918-56072f7a66ec"
    },
    {
      "id": "chg_01a08fbd-2c7f-7532-a6ba-88be4581b09e",
      "kind": "check.reverified",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.insufficient_history",
      "to_code": "stability.stable",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-11",
      "occurred_at": "2026-09-11 09:12:14.388297+00",
      "observed_since": "2026-09-10",
      "source": "scan",
      "summary": "Stability (unverified → pass)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a08fbd-2c7f-7532-a6ba-88be4581b09e"
    },
    {
      "id": "chg_01a08fbd-2c7f-7bf3-922f-d51b292e9cdf",
      "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-09-11",
      "occurred_at": "2026-09-11 09:12:14.388297+00",
      "observed_since": "2026-09-10",
      "source": "scan",
      "summary": "TLS certificate (unverified → pass)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a08fbd-2c7f-7bf3-922f-d51b292e9cdf"
    },
    {
      "id": "chg_01a08fbd-2c80-7658-a0c7-ce87fa903166",
      "kind": "check.reverified",
      "family": "hsts",
      "subject_kind": "check",
      "subject": "hsts",
      "subject_child": "",
      "from_code": "headers.inconclusive",
      "to_code": "headers.hsts_present",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-11",
      "occurred_at": "2026-09-11 09:12:14.388297+00",
      "observed_since": "2026-09-10",
      "source": "scan",
      "summary": "HSTS header (unverified → pass)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a08fbd-2c80-7658-a0c7-ce87fa903166"
    },
    {
      "id": "chg_01a08fbd-2c81-74f7-9e95-14cd737605e4",
      "kind": "check.reason",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.unreachable",
      "to_code": "auth.none_undeclared",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "auth": "none",
        "undeclared_tools": "4"
      },
      "occurred_on": "2026-09-11",
      "occurred_at": "2026-09-11 09:12:14.388297+00",
      "observed_since": "2026-09-10",
      "source": "scan",
      "summary": "Authorization (Authorisation not fully verified: no authorisation is required to call this server, and 4 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/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a08fbd-2c81-74f7-9e95-14cd737605e4"
    },
    {
      "id": "chg_01a08a99-3d6c-7642-8c39-f4922c8282ce",
      "kind": "check.unverifiable",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.stable",
      "to_code": "stability.insufficient_history",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-10",
      "occurred_at": "2026-09-10 09:14:53.275464+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "Stability (pass → unverified)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a08a99-3d6c-7642-8c39-f4922c8282ce"
    },
    {
      "id": "chg_01a08a99-3d6d-776b-a406-305ba0af14ba",
      "kind": "check.unverifiable",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.injection_clean",
      "to_code": "toolsafety.unreachable",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-10",
      "occurred_at": "2026-09-10 09:14:53.275464+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "Tool safety (pass → unverified)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a08a99-3d6d-776b-a406-305ba0af14ba"
    },
    {
      "id": "chg_01a08a99-3d6d-7f10-9d84-5fb26e1d1ae9",
      "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-09-10",
      "occurred_at": "2026-09-10 09:14:53.275464+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "TLS certificate (pass → unverified)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a08a99-3d6d-7f10-9d84-5fb26e1d1ae9"
    },
    {
      "id": "chg_01a08a99-3d6e-7935-8a77-75d417cb1a79",
      "kind": "check.verdict",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.verified",
      "to_code": "transport.unreachable",
      "from_value": "pass",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "transport": "streamable-http"
      },
      "occurred_on": "2026-09-10",
      "occurred_at": "2026-09-10 09:14:53.275464+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "Transport (pass → fail)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a08a99-3d6e-7935-8a77-75d417cb1a79"
    },
    {
      "id": "chg_01a08a99-3d6e-7f2c-b8ba-9d3574fa5fe6",
      "kind": "check.unverifiable",
      "family": "hsts",
      "subject_kind": "check",
      "subject": "hsts",
      "subject_child": "",
      "from_code": "headers.hsts_present",
      "to_code": "headers.inconclusive",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-10",
      "occurred_at": "2026-09-10 09:14:53.275464+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "HSTS header (pass → unverified)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a08a99-3d6e-7f2c-b8ba-9d3574fa5fe6"
    },
    {
      "id": "chg_01a08a99-3d6f-7b65-a397-e3fdfec1cdd8",
      "kind": "check.reason",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.none_undeclared",
      "to_code": "auth.unreachable",
      "from_value": "unverified",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-10",
      "occurred_at": "2026-09-10 09:14:53.275464+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "Authorization (Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a08a99-3d6f-7b65-a397-e3fdfec1cdd8"
    },
    {
      "id": "chg_01a08a99-3d71-7af1-a3c2-c68aca5d686b",
      "kind": "capture.status_changed",
      "family": "",
      "subject_kind": "server",
      "subject": "capture",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": "verified",
      "to_value": "unreachable",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "to": "unreachable",
        "from": "verified"
      },
      "occurred_on": "2026-09-10",
      "occurred_at": "2026-09-10 09:14:53.275464+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "Endpoint reachability (reachable → unreachable)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a08a99-3d71-7af1-a3c2-c68aca5d686b"
    },
    {
      "id": "chg_01a075fc-d6d0-7552-8282-afb22013d29b",
      "kind": "check.verdict",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.unreachable",
      "to_code": "transport.verified",
      "from_value": "fail",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "transport": "streamable-http"
      },
      "occurred_on": "2026-09-06",
      "occurred_at": "2026-09-06 09:11:39.367957+00",
      "observed_since": "2026-09-05",
      "source": "scan",
      "summary": "Transport (fail → pass)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a075fc-d6d0-7552-8282-afb22013d29b"
    },
    {
      "id": "chg_01a070d6-268a-7385-96d5-daec7515397e",
      "kind": "check.verdict",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.verified",
      "to_code": "transport.unreachable",
      "from_value": "pass",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "transport": "streamable-http"
      },
      "occurred_on": "2026-09-05",
      "occurred_at": "2026-09-05 09:11:16.864903+00",
      "observed_since": "2026-09-04",
      "source": "scan",
      "summary": "Transport (pass → fail)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a070d6-268a-7385-96d5-daec7515397e"
    },
    {
      "id": "chg_01a0382f-2f1b-76bd-ade3-f114a6736a9c",
      "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 09:10:11.326886+00",
      "observed_since": "2026-08-24",
      "source": "scan",
      "summary": "Stability (0.97 → pass)",
      "link": "https://verifymcp.io/servers/org-sovgrid-self-hosted-ai/self-hosted-ai#chg-chg_01a0382f-2f1b-76bd-ade3-f114a6736a9c"
    }
  ],
  "days": [
    {
      "date": "2026-09-22",
      "total": 80,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 2
    },
    {
      "date": "2026-09-21",
      "total": 80,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 3
    },
    {
      "date": "2026-09-11",
      "total": 80,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 9
    },
    {
      "date": "2026-09-10",
      "total": 80,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 10
    },
    {
      "date": "2026-09-06",
      "total": 80,
      "delta": 10,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-05",
      "total": 70,
      "delta": -10,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-26",
      "total": 80,
      "delta": 1,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-25",
      "total": 79,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    }
  ]
}