{
  "$schema": "https://verifymcp.io/schemas/changelog.json",
  "server": "jeanfrancoisgagne-crapkit",
  "component": "crapkit",
  "generated_at": "2026-09-22T18:05:42.876Z",
  "tracking_since": "2026-09-02",
  "counts": {
    "critical": 0,
    "security": 16,
    "functional": 0,
    "cosmetic": 0
  },
  "events": [
    {
      "id": "chg_01a0c756-1a80-7321-9610-dc42f19cdb91",
      "kind": "check.reverified",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_inconclusive",
      "to_code": "supplychain.malware_clean",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-22",
      "occurred_at": "2026-09-22 04:18:23.771863+00",
      "observed_since": "2026-09-21",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a0c756-1a80-7321-9610-dc42f19cdb91"
    },
    {
      "id": "chg_01a0c450-aff7-7e74-9c5c-87199cb760a1",
      "kind": "check.unverifiable",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_clean",
      "to_code": "supplychain.malware_inconclusive",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "vendor_not_cached"
      },
      "occurred_on": "2026-09-21",
      "occurred_at": "2026-09-21 14:13:36.992205+00",
      "observed_since": "2026-09-20",
      "source": "scan",
      "summary": "Malware scan (pass → unverified)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a0c450-aff7-7e74-9c5c-87199cb760a1"
    },
    {
      "id": "chg_01a0ad96-7095-7654-878f-daddac289171",
      "kind": "check.reverified",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_inconclusive",
      "to_code": "supplychain.malware_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 04:18:32.589408+00",
      "observed_since": "2026-09-16",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a0ad96-7095-7654-878f-daddac289171"
    },
    {
      "id": "chg_01a0a61f-f3c5-76af-bb22-c85f963853c1",
      "kind": "check.unverifiable",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_clean",
      "to_code": "supplychain.malware_inconclusive",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "vendor_not_cached"
      },
      "occurred_on": "2026-09-15",
      "occurred_at": "2026-09-15 17:31:46.923869+00",
      "observed_since": "2026-09-14",
      "source": "scan",
      "summary": "Malware scan (pass → unverified)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a0a61f-f3c5-76af-bb22-c85f963853c1"
    },
    {
      "id": "chg_01a0939e-c9a8-7e31-886c-75f1e1e1ed96",
      "kind": "check.unverifiable",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.version_churn",
      "to_code": "stability.sandbox_pending",
      "from_value": "fail",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "version_superseded"
      },
      "occurred_on": "2026-09-12",
      "occurred_at": "2026-09-12 03:17:32.102953+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Stability (fail → unverified)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a0939e-c9a8-7e31-886c-75f1e1e1ed96"
    },
    {
      "id": "chg_01a0939e-c9a9-7dc6-826a-0747cca63c51",
      "kind": "check.unverifiable",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.injection_clean",
      "to_code": "toolsafety.sandbox_pending",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "version_superseded"
      },
      "occurred_on": "2026-09-12",
      "occurred_at": "2026-09-12 03:17:32.102953+00",
      "observed_since": "2026-09-11",
      "source": "scan",
      "summary": "Tool safety (pass → unverified)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a0939e-c9a9-7dc6-826a-0747cca63c51"
    },
    {
      "id": "chg_01a08678-84cf-7c68-a9c2-348adcce3bbe",
      "kind": "check.unverifiable",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.version_churn",
      "to_code": "stability.sandbox_pending",
      "from_value": "fail",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "version_superseded"
      },
      "occurred_on": "2026-09-09",
      "occurred_at": "2026-09-09 14:00:40.369939+00",
      "observed_since": "2026-09-08",
      "source": "scan",
      "summary": "Stability (fail → unverified)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a08678-84cf-7c68-a9c2-348adcce3bbe"
    },
    {
      "id": "chg_01a08678-84d0-78a1-b50a-820d5dea0090",
      "kind": "check.unverifiable",
      "family": "tool-safety-injection",
      "subject_kind": "check",
      "subject": "tool-safety-injection",
      "subject_child": "",
      "from_code": "toolsafety.injection_clean",
      "to_code": "toolsafety.sandbox_pending",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "version_superseded"
      },
      "occurred_on": "2026-09-09",
      "occurred_at": "2026-09-09 14:00:40.369939+00",
      "observed_since": "2026-09-08",
      "source": "scan",
      "summary": "Tool safety (pass → unverified)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a08678-84d0-78a1-b50a-820d5dea0090"
    },
    {
      "id": "chg_01a0845d-c288-79b9-bb8a-358b7c2fba55",
      "kind": "check.reverified",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_inconclusive",
      "to_code": "supplychain.malware_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 04:12:12.194034+00",
      "observed_since": "2026-09-08",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a0845d-c288-79b9-bb8a-358b7c2fba55"
    },
    {
      "id": "chg_01a07eed-70eb-7468-85c4-f63a4d5b11a8",
      "kind": "check.unverifiable",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_clean",
      "to_code": "supplychain.malware_inconclusive",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "vendor_not_cached"
      },
      "occurred_on": "2026-09-08",
      "occurred_at": "2026-09-08 02:51:25.212474+00",
      "observed_since": "2026-09-07",
      "source": "scan",
      "summary": "Malware scan (pass → unverified)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a07eed-70eb-7468-85c4-f63a4d5b11a8"
    },
    {
      "id": "chg_01a07a12-0426-7ce3-8450-8d89a2517d9b",
      "kind": "check.reverified",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_inconclusive",
      "to_code": "supplychain.malware_clean",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-07",
      "occurred_at": "2026-09-07 04:13:16.105775+00",
      "observed_since": "2026-09-06",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a07a12-0426-7ce3-8450-8d89a2517d9b"
    },
    {
      "id": "chg_01a07167-4e82-7ee5-9b2e-1c13044d0661",
      "kind": "check.verdict",
      "family": "provenance-repo",
      "subject_kind": "check",
      "subject": "provenance-repo",
      "subject_child": "",
      "from_code": "provenance.repo_none",
      "to_code": "provenance.repo_verified",
      "from_value": "fail",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-05",
      "occurred_at": "2026-09-05 11:49:50.502105+00",
      "observed_since": "2026-09-04",
      "source": "scan",
      "summary": "Source repository (fail → pass)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a07167-4e82-7ee5-9b2e-1c13044d0661"
    },
    {
      "id": "chg_01a06fc3-1f31-7f29-9169-c5f859aeb6c6",
      "kind": "check.reverified",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_inconclusive",
      "to_code": "supplychain.malware_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:10:53.525938+00",
      "observed_since": "2026-09-04",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a06fc3-1f31-7f29-9169-c5f859aeb6c6"
    },
    {
      "id": "chg_01a06a4e-80f5-7556-a182-47e2da8f07f3",
      "kind": "check.reverified",
      "family": "stability",
      "subject_kind": "check",
      "subject": "stability",
      "subject_child": "",
      "from_code": "stability.insufficient_history",
      "to_code": "stability.version_churn",
      "from_value": "unverified",
      "to_value": "fail",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "to": "0.5.0",
        "days": "2",
        "from": "0.4.15",
        "added": "1",
        "breaks": "2",
        "removed": "0"
      },
      "occurred_on": "2026-09-04",
      "occurred_at": "2026-09-04 02:45:24.793613+00",
      "observed_since": "2026-09-03",
      "source": "scan",
      "summary": "Stability (unverified → fail)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a06a4e-80f5-7556-a182-47e2da8f07f3"
    },
    {
      "id": "chg_01a06a4e-80f7-76ec-8354-70e6b7a32a7e",
      "kind": "check.unverifiable",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_clean",
      "to_code": "supplychain.malware_inconclusive",
      "from_value": "pass",
      "to_value": "unverified",
      "materiality": "security",
      "direction": "regression",
      "score_delta": null,
      "detail": {
        "reason": "vendor_not_cached"
      },
      "occurred_on": "2026-09-04",
      "occurred_at": "2026-09-04 02:45:24.793613+00",
      "observed_since": "2026-09-03",
      "source": "scan",
      "summary": "Malware scan (pass → unverified)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a06a4e-80f7-76ec-8354-70e6b7a32a7e"
    },
    {
      "id": "chg_01a06576-71e1-7daa-846c-96fb9a9d7a86",
      "kind": "check.reverified",
      "family": "supplychain-malware",
      "subject_kind": "check",
      "subject": "supplychain-malware",
      "subject_child": "",
      "from_code": "supplychain.malware_inconclusive",
      "to_code": "supplychain.malware_clean",
      "from_value": "unverified",
      "to_value": "pass",
      "materiality": "security",
      "direction": "improvement",
      "score_delta": null,
      "detail": {},
      "occurred_on": "2026-09-03",
      "occurred_at": "2026-09-03 04:10:56.271868+00",
      "observed_since": "2026-09-02",
      "source": "scan",
      "summary": "Malware scan (unverified → pass)",
      "link": "https://verifymcp.io/servers/jeanfrancoisgagne-crapkit/crapkit#chg-chg_01a06576-71e1-7daa-846c-96fb9a9d7a86"
    }
  ],
  "days": [
    {
      "date": "2026-09-22",
      "total": 68,
      "delta": 15,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-21",
      "total": 53,
      "delta": -15,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 2
    },
    {
      "date": "2026-09-17",
      "total": 68,
      "delta": 15,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-16",
      "total": 53,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 1
    },
    {
      "date": "2026-09-15",
      "total": 53,
      "delta": -15,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 2
    },
    {
      "date": "2026-09-12",
      "total": 68,
      "delta": 0,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 6
    },
    {
      "date": "2026-09-09",
      "total": 68,
      "delta": 15,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 7
    },
    {
      "date": "2026-09-08",
      "total": 53,
      "delta": -16,
      "tracked": true,
      "explained": true,
      "beyond_event_horizon": false,
      "attribution": null,
      "event_count": 2
    }
  ]
}