{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "holiday-forever-holiday-photo-plus",
  "component": "holiday-photo-plus",
  "generated_at": "2026-09-20T14:12:37.091Z",
  "tracking_since": "2026-07-26",
  "counts": {
    "critical": 0,
    "security": 16,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a0a29e-8083-7254-ad13-43221af56d79",
      "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-15",
      "occurred_at": "2026-09-15 01:11:31.641017+00",
      "observed_since": "2026-09-14",
      "source": "scan",
      "summary": "Transport (fail → pass)",
      "link": "https://verifymcp.io/servers/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_01a0a29e-8083-7254-ad13-43221af56d79"
    },
    {
      "id": "chg_01a0a29e-8084-7635-b14b-bb7bfbb10528",
      "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-15",
      "occurred_at": "2026-09-15 01:11:31.641017+00",
      "observed_since": "2026-09-14",
      "source": "scan",
      "summary": "Injection markers (unverified → pass)",
      "link": "https://verifymcp.io/servers/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_01a0a29e-8084-7635-b14b-bb7bfbb10528"
    },
    {
      "id": "chg_01a0a29e-8084-7b58-8714-a8c23dc526eb",
      "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-15",
      "occurred_at": "2026-09-15 01:11:31.641017+00",
      "observed_since": "2026-09-14",
      "source": "scan",
      "summary": "Stability (unverified → pass)",
      "link": "https://verifymcp.io/servers/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_01a0a29e-8084-7b58-8714-a8c23dc526eb"
    },
    {
      "id": "chg_01a0a29e-8085-7028-aaf6-8b228548f13f",
      "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": "1"
      },
      "occurred_on": "2026-09-15",
      "occurred_at": "2026-09-15 01:11:31.641017+00",
      "observed_since": "2026-09-14",
      "source": "scan",
      "summary": "Authorization (Authorisation not fully verified: no authorisation is required to call this server, and 1 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/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_01a0a29e-8085-7028-aaf6-8b228548f13f"
    },
    {
      "id": "chg_01a07445-9e98-792c-bfa0-8b7e67e92455",
      "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": "402",
        "transport": "streamable-http"
      },
      "occurred_on": "2026-09-06",
      "occurred_at": "2026-09-06 01:11:54.708861+00",
      "observed_since": "2026-09-05",
      "source": "scan",
      "summary": "Transport (pass → fail)",
      "link": "https://verifymcp.io/servers/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_01a07445-9e98-792c-bfa0-8b7e67e92455"
    },
    {
      "id": "chg_01a07445-9e9b-74f1-bcc6-1386c730bdb6",
      "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 01:11:54.708861+00",
      "observed_since": "2026-09-05",
      "source": "scan",
      "summary": "Tool safety (pass → unverified)",
      "link": "https://verifymcp.io/servers/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_01a07445-9e9b-74f1-bcc6-1386c730bdb6"
    },
    {
      "id": "chg_01a07445-9e9b-7c8c-b643-73782346ddde",
      "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.97",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-06",
      "occurred_at": "2026-09-06 01:11:54.708861+00",
      "observed_since": "2026-09-05",
      "source": "scan",
      "summary": "Stability (0.97 → unverified)",
      "link": "https://verifymcp.io/servers/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_01a07445-9e9b-7c8c-b643-73782346ddde"
    },
    {
      "id": "chg_01a07445-9e9c-72bd-84c9-9d575aba00c4",
      "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 01:11:54.708861+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/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_01a07445-9e9c-72bd-84c9-9d575aba00c4"
    },
    {
      "id": "chg_01a07445-9e9d-7138-b111-286fcc576c26",
      "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-06",
      "occurred_at": "2026-09-06 01:11:54.708861+00",
      "observed_since": "2026-09-05",
      "source": "scan",
      "summary": "Endpoint reachability (reachable → not serving MCP)",
      "link": "https://verifymcp.io/servers/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_01a07445-9e9d-7138-b111-286fcc576c26"
    },
    {
      "id": "chg_01a03675-65ae-7df7-9ea8-9ba151022698",
      "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 01:07:38.493867+00",
      "observed_since": "2026-08-24",
      "source": "scan",
      "summary": "Stability (0.97 → pass)",
      "link": "https://verifymcp.io/servers/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_01a03675-65ae-7df7-9ea8-9ba151022698"
    },
    {
      "id": "chg_019fd9bf-f011-7eb1-8286-5ed1190a4764",
      "kind": "check.verdict",
      "family": "transport",
      "subject_kind": "check",
      "subject": "transport",
      "subject_child": "",
      "from_code": "transport.http_error",
      "to_code": "transport.verified",
      "from_value": "fail",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {
        "transport": "streamable-http"
      },
      "occurred_on": "2026-08-07",
      "occurred_at": "2026-08-07 01:04:22.510855+00",
      "observed_since": "2026-08-06",
      "source": "scan",
      "summary": "Transport (fail → pass)",
      "link": "https://verifymcp.io/servers/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_019fd9bf-f011-7eb1-8286-5ed1190a4764"
    },
    {
      "id": "chg_019fd9bf-f013-777f-9f97-4d03cb7295fc",
      "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": "1"
      },
      "occurred_on": "2026-08-07",
      "occurred_at": "2026-08-07 01:04:22.510855+00",
      "observed_since": "2026-08-06",
      "source": "scan",
      "summary": "Authorization (Authorisation not fully verified: no authorisation is required to call this server, and 1 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/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_019fd9bf-f013-777f-9f97-4d03cb7295fc"
    },
    {
      "id": "chg_019fcf72-ff01-75a7-875a-4e50484af62d",
      "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.30",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-08-05",
      "occurred_at": "2026-08-05 01:04:07.900159+00",
      "observed_since": "2026-08-04",
      "source": "scan",
      "summary": "Stability (0.30 → unverified)",
      "link": "https://verifymcp.io/servers/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_019fcf72-ff01-75a7-875a-4e50484af62d"
    },
    {
      "id": "chg_019fcf72-ff02-7503-957e-f27f5f440b9b",
      "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": "402",
        "transport": "streamable-http"
      },
      "occurred_on": "2026-08-05",
      "occurred_at": "2026-08-05 01:04:07.900159+00",
      "observed_since": "2026-08-04",
      "source": "scan",
      "summary": "Transport (pass → fail)",
      "link": "https://verifymcp.io/servers/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_019fcf72-ff02-7503-957e-f27f5f440b9b"
    },
    {
      "id": "chg_019fcf72-ff02-78b1-9b88-2a5a6da93346",
      "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-05",
      "occurred_at": "2026-08-05 01:04:07.900159+00",
      "observed_since": "2026-08-04",
      "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/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_019fcf72-ff02-78b1-9b88-2a5a6da93346"
    },
    {
      "id": "chg_019fcf72-ff04-722d-a03e-0e6664ed5c7a",
      "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-05",
      "occurred_at": "2026-08-05 01:04:07.900159+00",
      "observed_since": "2026-08-04",
      "source": "scan",
      "summary": "Endpoint reachability (reachable → not serving MCP)",
      "link": "https://verifymcp.io/servers/holiday-forever-holiday-photo-plus/holiday-photo-plus#chg-chg_019fcf72-ff04-722d-a03e-0e6664ed5c7a"
    }
  ],
  "days": [
    {
      "date": "2026-09-15",
      "total": 83,
      "delta": 58,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 7
    },
    {
      "date": "2026-09-06",
      "total": 25,
      "delta": -57,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 7
    },
    {
      "date": "2026-09-04",
      "total": 82,
      "delta": -1,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-26",
      "total": 83,
      "delta": 1,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-25",
      "total": 82,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-08-24",
      "total": 82,
      "delta": 1,
      "tracked": true,
      "explained": false,
      "beyond_event_horizon": false,
      "attribution": {
        "category": "Stability & Change Management",
        "from": 93,
        "to": 97,
        "delta": 4,
        "others": [],
        "accrual": {
          "code": "stability.building_history",
          "from_days": 28,
          "to_days": 29
        },
        "partial": false,
        "compared_to": "2026-08-23",
        "summary": "No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 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
    },
    {
      "date": "2026-08-07",
      "total": 0,
      "delta": null,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 6
    }
  ]
}