{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "com-rustyonmars-harbor",
  "component": "harbor-api-mcp",
  "generated_at": "2026-09-20T18:29:54.276Z",
  "tracking_since": "2026-08-30",
  "counts": {
    "critical": 0,
    "security": 35,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a0b7da-b643-74a1-a70c-fe228db52941",
      "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-09-19",
      "occurred_at": "2026-09-19 04:09:19.111549+00",
      "observed_since": "2026-09-18",
      "source": "scan",
      "summary": "Transport (fail → pass)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a0b7da-b643-74a1-a70c-fe228db52941"
    },
    {
      "id": "chg_01a0b7da-b644-727a-a427-c008de4ba451",
      "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-19",
      "occurred_at": "2026-09-19 04:09:19.111549+00",
      "observed_since": "2026-09-18",
      "source": "scan",
      "summary": "Injection markers (unverified → pass)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a0b7da-b644-727a-a427-c008de4ba451"
    },
    {
      "id": "chg_01a0b7da-b644-773f-b838-e5c9d5334711",
      "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": "36"
      },
      "occurred_on": "2026-09-19",
      "occurred_at": "2026-09-19 04:09:19.111549+00",
      "observed_since": "2026-09-18",
      "source": "scan",
      "summary": "Authorization (Authorisation not fully verified: no authorisation is required to call this server, and 36 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/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a0b7da-b644-773f-b838-e5c9d5334711"
    },
    {
      "id": "chg_01a09e1a-e60c-7e09-b321-59242171d8f5",
      "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": "503",
        "transport": "streamable-http"
      },
      "occurred_on": "2026-09-14",
      "occurred_at": "2026-09-14 04:09:18.004522+00",
      "observed_since": "2026-09-13",
      "source": "scan",
      "summary": "Transport (pass → fail)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a09e1a-e60c-7e09-b321-59242171d8f5"
    },
    {
      "id": "chg_01a09e1a-e60e-7173-965c-5d33c9767dbf",
      "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.47",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-14",
      "occurred_at": "2026-09-14 04:09:18.004522+00",
      "observed_since": "2026-09-13",
      "source": "scan",
      "summary": "Stability (0.47 → unverified)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a09e1a-e60e-7173-965c-5d33c9767dbf"
    },
    {
      "id": "chg_01a09e1a-e60e-7936-9e5a-be28f486d4dc",
      "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-14",
      "occurred_at": "2026-09-14 04:09:18.004522+00",
      "observed_since": "2026-09-13",
      "source": "scan",
      "summary": "Tool safety (pass → unverified)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a09e1a-e60e-7936-9e5a-be28f486d4dc"
    },
    {
      "id": "chg_01a09e1a-e60f-7038-b08d-6b3395e6abff",
      "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-09-14",
      "occurred_at": "2026-09-14 04:09:18.004522+00",
      "observed_since": "2026-09-13",
      "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/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a09e1a-e60f-7038-b08d-6b3395e6abff"
    },
    {
      "id": "chg_01a09e1a-e610-736b-bc67-42e5ccbdfb1d",
      "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-09-14",
      "occurred_at": "2026-09-14 04:09:18.004522+00",
      "observed_since": "2026-09-13",
      "source": "scan",
      "summary": "Endpoint reachability (reachable → not serving MCP)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a09e1a-e610-736b-bc67-42e5ccbdfb1d"
    },
    {
      "id": "chg_01a093cd-fcda-75c2-ad72-57564f4b7435",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "swarm_say",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "swarm_say"
      },
      "occurred_on": "2026-09-12",
      "occurred_at": "2026-09-12 04:09:05.306162+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Tool “swarm_say” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a093cd-fcda-75c2-ad72-57564f4b7435"
    },
    {
      "id": "chg_01a093cd-fcd8-7ceb-8096-5ad32481acec",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "berth_status",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "berth_status"
      },
      "occurred_on": "2026-09-12",
      "occurred_at": "2026-09-12 04:09:05.306162+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Tool “berth_status” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a093cd-fcd8-7ceb-8096-5ad32481acec"
    },
    {
      "id": "chg_01a093cd-fcd9-74bf-a120-e1a9c8f9911a",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "harbor_arrive",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "harbor_arrive"
      },
      "occurred_on": "2026-09-12",
      "occurred_at": "2026-09-12 04:09:05.306162+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Tool “harbor_arrive” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a093cd-fcd9-74bf-a120-e1a9c8f9911a"
    },
    {
      "id": "chg_01a093cd-fcd9-7d69-bd09-adc9ef49acc2",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "swarm_in",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "swarm_in"
      },
      "occurred_on": "2026-09-12",
      "occurred_at": "2026-09-12 04:09:05.306162+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Tool “swarm_in” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a093cd-fcd9-7d69-bd09-adc9ef49acc2"
    },
    {
      "id": "chg_01a093cd-fcd7-77e0-b8d1-4981ae33917a",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "berth_hook",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "berth_hook"
      },
      "occurred_on": "2026-09-12",
      "occurred_at": "2026-09-12 04:09:05.306162+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Tool “berth_hook” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a093cd-fcd7-77e0-b8d1-4981ae33917a"
    },
    {
      "id": "chg_01a093cd-fcd8-7767-880c-d9135504f6cc",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "berth_register",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "berth_register"
      },
      "occurred_on": "2026-09-12",
      "occurred_at": "2026-09-12 04:09:05.306162+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Tool “berth_register” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a093cd-fcd8-7767-880c-d9135504f6cc"
    },
    {
      "id": "chg_01a093cd-fcdb-7ee7-ad06-3920b703d5ed",
      "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-12",
      "occurred_at": "2026-09-12 04:09:05.306162+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "The server rewrote its instructions, which are the text every model session reads",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a093cd-fcdb-7ee7-ad06-3920b703d5ed"
    },
    {
      "id": "chg_01a08ea7-d302-7bf1-bb1f-827d113da342",
      "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-09-11",
      "occurred_at": "2026-09-11 04:09:18.24923+00",
      "observed_since": "2026-09-10",
      "source": "scan",
      "summary": "Transport (fail → pass)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a08ea7-d302-7bf1-bb1f-827d113da342"
    },
    {
      "id": "chg_01a08ea7-d303-7ddf-8fb9-ba53da7975a9",
      "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 04:09:18.24923+00",
      "observed_since": "2026-09-10",
      "source": "scan",
      "summary": "Injection markers (unverified → pass)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a08ea7-d303-7ddf-8fb9-ba53da7975a9"
    },
    {
      "id": "chg_01a08ea7-d304-742f-a9ef-1a463853f2da",
      "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": "36"
      },
      "occurred_on": "2026-09-11",
      "occurred_at": "2026-09-11 04:09:18.24923+00",
      "observed_since": "2026-09-10",
      "source": "scan",
      "summary": "Authorization (Authorisation not fully verified: no authorisation is required to call this server, and 36 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/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a08ea7-d304-742f-a9ef-1a463853f2da"
    },
    {
      "id": "chg_01a07a11-3833-735d-96c1-efb5b659f303",
      "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.23",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-07",
      "occurred_at": "2026-09-07 04:12:23.747189+00",
      "observed_since": "2026-09-06",
      "source": "scan",
      "summary": "Stability (0.23 → unverified)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a07a11-3833-735d-96c1-efb5b659f303"
    },
    {
      "id": "chg_01a07a11-3834-7451-b27f-cb029c0d1c84",
      "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": "503",
        "transport": "streamable-http"
      },
      "occurred_on": "2026-09-07",
      "occurred_at": "2026-09-07 04:12:23.747189+00",
      "observed_since": "2026-09-06",
      "source": "scan",
      "summary": "Transport (pass → fail)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a07a11-3834-7451-b27f-cb029c0d1c84"
    },
    {
      "id": "chg_01a07a11-3834-792e-83e6-fec890718796",
      "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-07",
      "occurred_at": "2026-09-07 04:12:23.747189+00",
      "observed_since": "2026-09-06",
      "source": "scan",
      "summary": "Tool safety (pass → unverified)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a07a11-3834-792e-83e6-fec890718796"
    },
    {
      "id": "chg_01a07a11-3834-7d14-ad55-7089b938e7b4",
      "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-09-07",
      "occurred_at": "2026-09-07 04:12:23.747189+00",
      "observed_since": "2026-09-06",
      "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/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a07a11-3834-7d14-ad55-7089b938e7b4"
    },
    {
      "id": "chg_01a07a11-3836-707b-b31b-4604e6449c2f",
      "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-09-07",
      "occurred_at": "2026-09-07 04:12:23.747189+00",
      "observed_since": "2026-09-06",
      "source": "scan",
      "summary": "Endpoint reachability (reachable → not serving MCP)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a07a11-3836-707b-b31b-4604e6449c2f"
    },
    {
      "id": "chg_01a06fc2-3b01-7786-a5bb-99d94783d22f",
      "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-09-05",
      "occurred_at": "2026-09-05 04:09:55.100937+00",
      "observed_since": "2026-09-04",
      "source": "scan",
      "summary": "Transport (fail → pass)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a06fc2-3b01-7786-a5bb-99d94783d22f"
    },
    {
      "id": "chg_01a06fc2-3b02-77ba-8507-196d1426f331",
      "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-05",
      "occurred_at": "2026-09-05 04:09:55.100937+00",
      "observed_since": "2026-09-04",
      "source": "scan",
      "summary": "Injection markers (unverified → pass)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a06fc2-3b02-77ba-8507-196d1426f331"
    },
    {
      "id": "chg_01a06fc2-3b02-7cd8-be03-1a55921db683",
      "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": "36"
      },
      "occurred_on": "2026-09-05",
      "occurred_at": "2026-09-05 04:09:55.100937+00",
      "observed_since": "2026-09-04",
      "source": "scan",
      "summary": "Authorization (Authorisation not fully verified: no authorisation is required to call this server, and 36 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/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a06fc2-3b02-7cd8-be03-1a55921db683"
    },
    {
      "id": "chg_01a05b28-c757-74d8-afd1-a423a12e6948",
      "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": "503",
        "transport": "streamable-http"
      },
      "occurred_on": "2026-09-01",
      "occurred_at": "2026-09-01 04:09:54.232534+00",
      "observed_since": "2026-08-31",
      "source": "scan",
      "summary": "Transport (pass → fail)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a05b28-c757-74d8-afd1-a423a12e6948"
    },
    {
      "id": "chg_01a05b28-c758-7038-969b-66523716622f",
      "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-01",
      "occurred_at": "2026-09-01 04:09:54.232534+00",
      "observed_since": "2026-08-31",
      "source": "scan",
      "summary": "Tool safety (pass → unverified)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a05b28-c758-7038-969b-66523716622f"
    },
    {
      "id": "chg_01a05b28-c758-7727-9541-5b9d3c219490",
      "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.03",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-01",
      "occurred_at": "2026-09-01 04:09:54.232534+00",
      "observed_since": "2026-08-31",
      "source": "scan",
      "summary": "Stability (0.03 → unverified)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a05b28-c758-7727-9541-5b9d3c219490"
    },
    {
      "id": "chg_01a05b28-c758-7b9a-86ef-a2bff8af0daa",
      "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-09-01",
      "occurred_at": "2026-09-01 04:09:54.232534+00",
      "observed_since": "2026-08-31",
      "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/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a05b28-c758-7b9a-86ef-a2bff8af0daa"
    },
    {
      "id": "chg_01a05b28-c75a-7254-8fed-d1512a66f22b",
      "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-09-01",
      "occurred_at": "2026-09-01 04:09:54.232534+00",
      "observed_since": "2026-08-31",
      "source": "scan",
      "summary": "Endpoint reachability (reachable → not serving MCP)",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a05b28-c75a-7254-8fed-d1512a66f22b"
    },
    {
      "id": "chg_01a05602-54d2-7dd0-9c9a-62425cf2ebae",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "desk_ask",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "desk_ask"
      },
      "occurred_on": "2026-08-31",
      "occurred_at": "2026-08-31 04:09:48.408541+00",
      "observed_since": "2026-08-30",
      "source": "scan",
      "summary": "Tool “desk_ask” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a05602-54d2-7dd0-9c9a-62425cf2ebae"
    },
    {
      "id": "chg_01a05602-54d3-7541-8bb3-7914a8e194e1",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "harbor_how",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "harbor_how"
      },
      "occurred_on": "2026-08-31",
      "occurred_at": "2026-08-31 04:09:48.408541+00",
      "observed_since": "2026-08-30",
      "source": "scan",
      "summary": "Tool “harbor_how” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a05602-54d3-7541-8bb3-7914a8e194e1"
    },
    {
      "id": "chg_01a05602-54d3-7ad3-a674-5a2d81eaf7f9",
      "kind": "tool.description_changed",
      "family": "",
      "subject_kind": "tool",
      "subject": "harbor_search",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": null,
      "to_value": null,
      "materiality": "security",
      "direction": "neutral",
      "score_delta": null,
      "detail": {
        "tool": "harbor_search"
      },
      "occurred_on": "2026-08-31",
      "occurred_at": "2026-08-31 04:09:48.408541+00",
      "observed_since": "2026-08-30",
      "source": "scan",
      "summary": "Tool “harbor_search” rewrote its description, which is the text the model reads",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a05602-54d3-7ad3-a674-5a2d81eaf7f9"
    },
    {
      "id": "chg_01a05602-54d5-7663-94c8-c54eb465cba9",
      "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-08-31",
      "occurred_at": "2026-08-31 04:09:48.408541+00",
      "observed_since": "2026-08-30",
      "source": "scan",
      "summary": "The server rewrote its instructions, which are the text every model session reads",
      "link": "https://verifymcp.io/servers/com-rustyonmars-harbor/harbor-api-mcp#chg-chg_01a05602-54d5-7663-94c8-c54eb465cba9"
    }
  ],
  "days": [
    {
      "date": "2026-09-19",
      "total": 71,
      "delta": 46,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 7
    },
    {
      "date": "2026-09-14",
      "total": 25,
      "delta": -43,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 7
    },
    {
      "date": "2026-09-12",
      "total": 68,
      "delta": 2,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 10
    },
    {
      "date": "2026-09-11",
      "total": 66,
      "delta": 41,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 7
    },
    {
      "date": "2026-09-07",
      "total": 25,
      "delta": -38,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 7
    },
    {
      "date": "2026-09-05",
      "total": 63,
      "delta": 38,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 7
    },
    {
      "date": "2026-09-01",
      "total": 25,
      "delta": -36,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 8
    },
    {
      "date": "2026-08-31",
      "total": 61,
      "delta": 1,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 8
    }
  ]
}