{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "io-usefulapi-ably",
  "component": "ably",
  "generated_at": "2026-09-21T00:22:41.144Z",
  "tracking_since": "2026-07-26",
  "counts": {
    "critical": 0,
    "security": 10,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a0943e-ba9d-72b1-956d-5678c31f8b54",
      "kind": "check.reverified",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.none_unlisted",
      "to_code": "auth.rfc9728_invoke",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-12",
      "occurred_at": "2026-09-12 06:12:13.855534+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Authorization (unverified → pass)",
      "link": "https://verifymcp.io/servers/io-usefulapi-ably/ably#chg-chg_01a0943e-ba9d-72b1-956d-5678c31f8b54"
    },
    {
      "id": "chg_01a0943e-ba9e-7810-a397-1f8325cd1c23",
      "kind": "check.reverified",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.auth_gated",
      "to_code": "toolsafety.injection_clean",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-12",
      "occurred_at": "2026-09-12 06:12:13.855534+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Injection markers (unverified → pass)",
      "link": "https://verifymcp.io/servers/io-usefulapi-ably/ably#chg-chg_01a0943e-ba9e-7810-a397-1f8325cd1c23"
    },
    {
      "id": "chg_01a0943e-ba9e-7dac-9951-ce41ad9b0d7f",
      "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-12",
      "occurred_at": "2026-09-12 06:12:13.855534+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Stability (unverified → pass)",
      "link": "https://verifymcp.io/servers/io-usefulapi-ably/ably#chg-chg_01a0943e-ba9e-7dac-9951-ce41ad9b0d7f"
    },
    {
      "id": "chg_01a089ef-64a2-7d30-876e-f4c139b43d8b",
      "kind": "check.unverifiable",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.rfc9728_invoke",
      "to_code": "auth.none_unlisted",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-10",
      "occurred_at": "2026-09-10 06:09:22.436843+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "Authorization (pass → unverified)",
      "link": "https://verifymcp.io/servers/io-usefulapi-ably/ably#chg-chg_01a089ef-64a2-7d30-876e-f4c139b43d8b"
    },
    {
      "id": "chg_01a089ef-64a3-7d0b-bccd-b7d1305f2c01",
      "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 06:09:22.436843+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "Stability (pass → unverified)",
      "link": "https://verifymcp.io/servers/io-usefulapi-ably/ably#chg-chg_01a089ef-64a3-7d0b-bccd-b7d1305f2c01"
    },
    {
      "id": "chg_01a089ef-64a4-72ec-a000-02dfc7137b3f",
      "kind": "check.unverifiable",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.injection_clean",
      "to_code": "toolsafety.auth_gated",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-10",
      "occurred_at": "2026-09-10 06:09:22.436843+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "Tool safety (pass → unverified)",
      "link": "https://verifymcp.io/servers/io-usefulapi-ably/ably#chg-chg_01a089ef-64a4-72ec-a000-02dfc7137b3f"
    },
    {
      "id": "chg_01a089ef-64a5-7651-b4a6-8d148dd3a353",
      "kind": "capture.status_changed",
      "family": "",
      "subject_kind": "server",
      "subject": "capture",
      "subject_child": "",
      "from_code": null,
      "to_code": null,
      "from_value": "verified",
      "to_value": "auth_gated",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "to": "auth_gated",
        "from": "verified"
      },
      "occurred_on": "2026-09-10",
      "occurred_at": "2026-09-10 06:09:22.436843+00",
      "observed_since": "2026-09-09",
      "source": "scan",
      "summary": "Endpoint reachability (reachable → behind authorisation)",
      "link": "https://verifymcp.io/servers/io-usefulapi-ably/ably#chg-chg_01a089ef-64a5-7651-b4a6-8d148dd3a353"
    },
    {
      "id": "chg_01a084c9-8e2c-7543-bbe5-203a66f555cc",
      "kind": "check.verdict",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.challenge_only_invoke",
      "to_code": "auth.rfc9728_invoke",
      "from_value": "fail",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-09",
      "occurred_at": "2026-09-09 06:09:56.72311+00",
      "observed_since": "2026-09-08",
      "source": "scan",
      "summary": "Authorization (fail → pass)",
      "link": "https://verifymcp.io/servers/io-usefulapi-ably/ably#chg-chg_01a084c9-8e2c-7543-bbe5-203a66f555cc"
    },
    {
      "id": "chg_01a07fa3-ca9f-7f40-a76b-927231bd26c8",
      "kind": "check.verdict",
      "family": "auth-oauth",
      "subject_kind": "check",
      "subject": "auth-oauth",
      "subject_child": "",
      "from_code": "auth.rfc9728_invoke",
      "to_code": "auth.challenge_only_invoke",
      "from_value": "pass",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-08",
      "occurred_at": "2026-09-08 06:10:35.580139+00",
      "observed_since": "2026-09-07",
      "source": "scan",
      "summary": "Authorization (pass → fail)",
      "link": "https://verifymcp.io/servers/io-usefulapi-ably/ably#chg-chg_01a07fa3-ca9f-7f40-a76b-927231bd26c8"
    },
    {
      "id": "chg_01a03781-f79e-792f-b545-5fd93f3ac438",
      "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 06:00:59.403033+00",
      "observed_since": "2026-08-24",
      "source": "scan",
      "summary": "Stability (0.97 → pass)",
      "link": "https://verifymcp.io/servers/io-usefulapi-ably/ably#chg-chg_01a03781-f79e-792f-b545-5fd93f3ac438"
    }
  ],
  "days": [
    {
      "date": "2026-09-12",
      "total": 86,
      "delta": 58,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 6
    },
    {
      "date": "2026-09-10",
      "total": 28,
      "delta": -59,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 7
    },
    {
      "date": "2026-09-09",
      "total": 87,
      "delta": 3,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-08",
      "total": 84,
      "delta": -2,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-26",
      "total": 86,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-25",
      "total": 86,
      "delta": 1,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-23",
      "total": 85,
      "delta": 1,
      "tracked": true,
      "explained": false,
      "beyond_event_horizon": false,
      "attribution": {
        "category": "Stability & Change Management",
        "from": 90,
        "to": 93,
        "delta": 3,
        "others": [],
        "accrual": {
          "code": "stability.building_history",
          "from_days": 27,
          "to_days": 28
        },
        "partial": false,
        "compared_to": "2026-08-22",
        "summary": "No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes."
      },
      "event_count": 0
    },
    {
      "date": "2026-08-11",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    }
  ]
}