{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "forkastpredict-forkast-mcp-docs",
  "component": "mcp",
  "generated_at": "2026-09-22T22:33:03.411Z",
  "tracking_since": "2026-07-26",
  "counts": {
    "critical": 0,
    "security": 36,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a0acbb-165c-7e9d-a61a-227bef55bd95",
      "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-17",
      "occurred_at": "2026-09-17 00:18:57.180285+00",
      "observed_since": "2026-09-16",
      "source": "scan",
      "summary": "Injection markers (unverified → pass)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0acbb-165c-7e9d-a61a-227bef55bd95"
    },
    {
      "id": "chg_01a0acbb-165e-726f-b7ea-f2625fb0d2a7",
      "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-17",
      "occurred_at": "2026-09-17 00:18:57.180285+00",
      "observed_since": "2026-09-16",
      "source": "scan",
      "summary": "Stability (unverified → pass)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0acbb-165e-726f-b7ea-f2625fb0d2a7"
    },
    {
      "id": "chg_01a0acbb-165e-7945-90a8-0141f19847e6",
      "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": "4"
      },
      "occurred_on": "2026-09-17",
      "occurred_at": "2026-09-17 00:18:57.180285+00",
      "observed_since": "2026-09-16",
      "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/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0acbb-165e-7945-90a8-0141f19847e6"
    },
    {
      "id": "chg_01a0a798-14fb-7be0-af31-f288d30d3382",
      "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.93",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-16",
      "occurred_at": "2026-09-16 00:22:36.994902+00",
      "observed_since": "2026-09-15",
      "source": "scan",
      "summary": "Stability (0.93 → unverified)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0a798-14fb-7be0-af31-f288d30d3382"
    },
    {
      "id": "chg_01a0a798-14fc-7d72-b86e-a47d6bc17562",
      "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-16",
      "occurred_at": "2026-09-16 00:22:36.994902+00",
      "observed_since": "2026-09-15",
      "source": "scan",
      "summary": "Tool safety (pass → unverified)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0a798-14fc-7d72-b86e-a47d6bc17562"
    },
    {
      "id": "chg_01a0a798-14fd-72f1-8915-3a57fdf68e4f",
      "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-16",
      "occurred_at": "2026-09-16 00:22:36.994902+00",
      "observed_since": "2026-09-15",
      "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/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0a798-14fd-72f1-8915-3a57fdf68e4f"
    },
    {
      "id": "chg_01a0a798-14fe-7657-a01e-c8d544663591",
      "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-16",
      "occurred_at": "2026-09-16 00:22:36.994902+00",
      "observed_since": "2026-09-15",
      "source": "scan",
      "summary": "Endpoint reachability (reachable → not serving MCP)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0a798-14fe-7657-a01e-c8d544663591"
    },
    {
      "id": "chg_01a0981f-696f-735b-9168-2045208cec9c",
      "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-13",
      "occurred_at": "2026-09-13 00:16:30.525541+00",
      "observed_since": "2026-09-12",
      "source": "scan",
      "summary": "Injection markers (unverified → pass)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0981f-696f-735b-9168-2045208cec9c"
    },
    {
      "id": "chg_01a0981f-6970-73b6-8ee9-0f51b3f1e98a",
      "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-13",
      "occurred_at": "2026-09-13 00:16:30.525541+00",
      "observed_since": "2026-09-12",
      "source": "scan",
      "summary": "Stability (unverified → pass)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0981f-6970-73b6-8ee9-0f51b3f1e98a"
    },
    {
      "id": "chg_01a0981f-6970-78e2-8a28-fa8578adfdd7",
      "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": "4"
      },
      "occurred_on": "2026-09-13",
      "occurred_at": "2026-09-13 00:16:30.525541+00",
      "observed_since": "2026-09-12",
      "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/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0981f-6970-78e2-8a28-fa8578adfdd7"
    },
    {
      "id": "chg_01a088a2-e458-780e-bd8c-ae0f8fcce3d3",
      "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 00:06:11.719118+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "Stability (pass → unverified)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a088a2-e458-780e-bd8c-ae0f8fcce3d3"
    },
    {
      "id": "chg_01a088a2-e45a-7a7e-bc61-399cf8219f74",
      "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 00:06:11.719118+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "Tool safety (pass → unverified)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a088a2-e45a-7a7e-bc61-399cf8219f74"
    },
    {
      "id": "chg_01a088a2-e45b-75c7-b801-be87934acb30",
      "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-10",
      "occurred_at": "2026-09-10 00:06:11.719118+00",
      "observed_since": "2026-09-09",
      "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/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a088a2-e45b-75c7-b801-be87934acb30"
    },
    {
      "id": "chg_01a088a2-e465-7588-8765-47c572df18ed",
      "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-10",
      "occurred_at": "2026-09-10 00:06:11.719118+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "Endpoint reachability (reachable → not serving MCP)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a088a2-e465-7588-8765-47c572df18ed"
    },
    {
      "id": "chg_01a0837e-31ce-7168-9c9b-86aae76762b1",
      "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-09",
      "occurred_at": "2026-09-09 00:08:00.612516+00",
      "observed_since": "2026-09-08",
      "source": "scan",
      "summary": "Injection markers (unverified → pass)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0837e-31ce-7168-9c9b-86aae76762b1"
    },
    {
      "id": "chg_01a0837e-31d8-71e1-822f-fd7614e0f592",
      "kind": "check.verdict",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.churn",
      "to_code": "stability.stable",
      "from_value": "fail",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-09",
      "occurred_at": "2026-09-09 00:08:00.612516+00",
      "observed_since": "2026-09-08",
      "source": "scan",
      "summary": "Stability (fail → pass)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0837e-31d8-71e1-822f-fd7614e0f592"
    },
    {
      "id": "chg_01a0837e-31da-74dd-9729-f3a1183d38c1",
      "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": "4"
      },
      "occurred_on": "2026-09-09",
      "occurred_at": "2026-09-09 00:08:00.612516+00",
      "observed_since": "2026-09-08",
      "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/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0837e-31da-74dd-9729-f3a1183d38c1"
    },
    {
      "id": "chg_01a07407-9b6e-7303-994a-77b4a3daa28e",
      "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": "0",
        "removed": "4",
        "auth_transport": "0"
      },
      "occurred_on": "2026-09-06",
      "occurred_at": "2026-09-06 00:04:10.51802+00",
      "observed_since": "2026-09-05",
      "source": "scan",
      "summary": "Stability (pass → fail)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a07407-9b6e-7303-994a-77b4a3daa28e"
    },
    {
      "id": "chg_01a07407-9b7e-7527-bda3-dcf0e56ab829",
      "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-06",
      "occurred_at": "2026-09-06 00:04:10.51802+00",
      "observed_since": "2026-09-05",
      "source": "scan",
      "summary": "Tool safety (pass → unverified)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a07407-9b7e-7527-bda3-dcf0e56ab829"
    },
    {
      "id": "chg_01a07407-9b7e-7c0e-81c6-0dd16e3a9690",
      "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-06",
      "occurred_at": "2026-09-06 00:04:10.51802+00",
      "observed_since": "2026-09-05",
      "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/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a07407-9b7e-7c0e-81c6-0dd16e3a9690"
    },
    {
      "id": "chg_01a06ee0-f0ee-74be-9d4e-a046f1f36807",
      "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 00:03:50.550004+00",
      "observed_since": "2026-09-04",
      "source": "scan",
      "summary": "Injection markers (unverified → pass)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a06ee0-f0ee-74be-9d4e-a046f1f36807"
    },
    {
      "id": "chg_01a06ee0-f0f2-78c1-b14e-8bbf3585fced",
      "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-05",
      "occurred_at": "2026-09-05 00:03:50.550004+00",
      "observed_since": "2026-09-04",
      "source": "scan",
      "summary": "Stability (unverified → pass)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a06ee0-f0f2-78c1-b14e-8bbf3585fced"
    },
    {
      "id": "chg_01a06ee0-f0f2-7ef6-8841-463e958c8a51",
      "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": "4"
      },
      "occurred_on": "2026-09-05",
      "occurred_at": "2026-09-05 00:03:50.550004+00",
      "observed_since": "2026-09-04",
      "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/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a06ee0-f0f2-7ef6-8841-463e958c8a51"
    },
    {
      "id": "chg_01a069ba-93fa-7030-822f-423efef63da2",
      "kind": "check.unverifiable",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.churn",
      "to_code": "stability.insufficient_history",
      "from_value": "fail",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-04",
      "occurred_at": "2026-09-04 00:03:50.322361+00",
      "observed_since": "2026-09-03",
      "source": "scan",
      "summary": "Stability (fail → unverified)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a069ba-93fa-7030-822f-423efef63da2"
    },
    {
      "id": "chg_01a069ba-93fc-797b-bcd9-f43ce2adbffb",
      "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-04",
      "occurred_at": "2026-09-04 00:03:50.322361+00",
      "observed_since": "2026-09-03",
      "source": "scan",
      "summary": "Endpoint reachability (reachable → not serving MCP)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a069ba-93fc-797b-bcd9-f43ce2adbffb"
    },
    {
      "id": "chg_01a05f6e-9380-7819-80e9-469f3cf7a31b",
      "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": "0",
        "removed": "4",
        "auth_transport": "0"
      },
      "occurred_on": "2026-09-02",
      "occurred_at": "2026-09-02 00:04:37.313305+00",
      "observed_since": "2026-09-01",
      "source": "scan",
      "summary": "Stability (pass → fail)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a05f6e-9380-7819-80e9-469f3cf7a31b"
    },
    {
      "id": "chg_01a05f6e-9384-775f-a323-eaa35b666e4a",
      "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-02",
      "occurred_at": "2026-09-02 00:04:37.313305+00",
      "observed_since": "2026-09-01",
      "source": "scan",
      "summary": "Tool safety (pass → unverified)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a05f6e-9384-775f-a323-eaa35b666e4a"
    },
    {
      "id": "chg_01a05f6e-9384-7e97-9b0d-ea750d61a262",
      "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-02",
      "occurred_at": "2026-09-02 00:04:37.313305+00",
      "observed_since": "2026-09-01",
      "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/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a05f6e-9384-7e97-9b0d-ea750d61a262"
    },
    {
      "id": "chg_01a0363a-70ad-7771-b658-586c22e504dd",
      "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 00:03:14.651398+00",
      "observed_since": "2026-08-24",
      "source": "scan",
      "summary": "Stability (0.97 → pass)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0363a-70ad-7771-b658-586c22e504dd"
    },
    {
      "id": "chg_01a0122b-d411-7aba-8e19-a2f4b796a290",
      "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": "4"
      },
      "occurred_on": "2026-08-18",
      "occurred_at": "2026-08-18 00:00:57.122111+00",
      "observed_since": "2026-08-17",
      "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/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a0122b-d411-7aba-8e19-a2f4b796a290"
    },
    {
      "id": "chg_01a007e2-97bd-78df-92d1-ed059deeda97",
      "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.67",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-16",
      "occurred_at": "2026-08-16 00:04:45.567926+00",
      "observed_since": "2026-08-15",
      "source": "scan",
      "summary": "Stability (0.67 → unverified)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a007e2-97bd-78df-92d1-ed059deeda97"
    },
    {
      "id": "chg_01a007e2-97bf-77a3-8738-19b1bbaa6891",
      "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-16",
      "occurred_at": "2026-08-16 00:04:45.567926+00",
      "observed_since": "2026-08-15",
      "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/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a007e2-97bf-77a3-8738-19b1bbaa6891"
    },
    {
      "id": "chg_01a007e2-97c2-7e1b-a8f0-871cd1b811e5",
      "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-16",
      "occurred_at": "2026-08-16 00:04:45.567926+00",
      "observed_since": "2026-08-15",
      "source": "scan",
      "summary": "Endpoint reachability (reachable → not serving MCP)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_01a007e2-97c2-7e1b-a8f0-871cd1b811e5"
    },
    {
      "id": "chg_019ff86e-633e-7926-8ec1-058fa60431ef",
      "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": "4"
      },
      "occurred_on": "2026-08-13",
      "occurred_at": "2026-08-13 00:03:31.679033+00",
      "observed_since": "2026-08-12",
      "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/forkastpredict-forkast-mcp-docs/mcp#chg-chg_019ff86e-633e-7926-8ec1-058fa60431ef"
    },
    {
      "id": "chg_019ff347-3fda-7810-8f26-fb489393e54d",
      "kind": "check.verdict",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.building_history",
      "to_code": "stability.churn",
      "from_value": "0.53",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "days": "17",
        "added": "0",
        "breaks": "0",
        "removed": "4",
        "auth_transport": "0"
      },
      "occurred_on": "2026-08-12",
      "occurred_at": "2026-08-12 00:02:40.651397+00",
      "observed_since": "2026-08-11",
      "source": "scan",
      "summary": "Stability (0.53 → fail)",
      "link": "https://verifymcp.io/servers/forkastpredict-forkast-mcp-docs/mcp#chg-chg_019ff347-3fda-7810-8f26-fb489393e54d"
    },
    {
      "id": "chg_019ff347-3fdc-707c-9b59-f71021d62032",
      "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-12",
      "occurred_at": "2026-08-12 00:02:40.651397+00",
      "observed_since": "2026-08-11",
      "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/forkastpredict-forkast-mcp-docs/mcp#chg-chg_019ff347-3fdc-707c-9b59-f71021d62032"
    }
  ],
  "days": [
    {
      "date": "2026-09-17",
      "total": 80,
      "delta": 45,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 6
    },
    {
      "date": "2026-09-16",
      "total": 35,
      "delta": -44,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 6
    },
    {
      "date": "2026-09-15",
      "total": 79,
      "delta": -1,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-13",
      "total": 80,
      "delta": 45,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 6
    },
    {
      "date": "2026-09-10",
      "total": 35,
      "delta": -45,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 6
    },
    {
      "date": "2026-09-09",
      "total": 80,
      "delta": 41,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 8
    },
    {
      "date": "2026-09-08",
      "total": 39,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-07",
      "total": 39,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    }
  ]
}