{
  "schema": "csoai.footprint/0.1",
  "as_of": "2026-09-28T18:22:44.782Z",
  "as_of_meaning": "when this payload was assembled; each row carries its own source measurement time, and a cached copy may be served for up to ttl_seconds after",
  "ttl_seconds": 3600,
  "honesty": "Gross counts are published separately from mirror-adjusted and economically verified adoption, because downloads are not users and users are not customers.",
  "funnel": {
    "order": [
      "registry_listings",
      "gross_distribution",
      "qualified_distribution",
      "observed_execution",
      "economic_use",
      "repeat_payers",
      "institutional_use"
    ],
    "rule": "Each stage is a separate measurement of a separate thing. Never add stages together and never derive a later stage from an earlier one."
  },
  "registry_listings": {
    "state": "STALE",
    "value": 354,
    "unit": "distinct server names",
    "versions": 1342,
    "versions_state": "READ",
    "versions_unit": "distinct name@version listings",
    "population": "servers named io.github.CSOAI-ORG/* in the MCP Registry census",
    "as_of": "2026-09-23T05:25:04Z",
    "measured_from": "2026-09-23T05:23:59Z",
    "artifact_schema": "csoai.mcp-registry-latest/0.1",
    "kind": "self-published listing",
    "source_url": "/interop/mcp-registry-2026-09-23/census.json",
    "latest_url": "/interop/mcp-registry-latest.json",
    "upstream_url": "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.CSOAI-ORG&limit=100&version=latest",
    "artifact": "/interop/mcp-registry-latest.json",
    "max_age_hours": 48,
    "freshness_policy": "endpoint policy; the census artifact itself declares no max age",
    "source_sha256": "a92446533f9108bca52b5d60df1fa1350cfc3795a67d731b19bd2bc6995902da",
    "age_hours": 133,
    "reason": "registry census measured 133.0 h ago, past this endpoint's 48 h freshness policy",
    "note": "A listing we published ourselves. It says a server is registered, not that anyone runs it."
  },
  "gross_distribution": {
    "state": "STALE",
    "value": 386320,
    "as_of": "2026-09-24T07:14:02Z",
    "kind": "third-party counter (includes mirror/automated traffic)",
    "measured_by": "scripts/distribution-measure.py (runs as /workspace/lanes/loops/distribution-measure.py)",
    "artifact": "/interop/distribution-latest.json",
    "artifact_schema": "csoai.distribution/0.1",
    "artifact_as_of": "2026-09-24T07:14:02Z",
    "max_age_hours": 48,
    "unit": "downloads",
    "window": "last 30 days, each registry over its own 30-day window",
    "covered": 836,
    "attempted": 837,
    "source_url": [
      "https://pepy.tech/api/v2/projects/<name>",
      "https://api.npmjs.org/downloads/point/last-month/<names>",
      "https://huggingface.co/api/{models,datasets}?author=csoai&expand[]=downloads&expand[]=downloadsAllTime&limit=1000"
    ],
    "registries_covered": [
      "huggingface",
      "npm",
      "pypi"
    ],
    "registries_partial": [
      "pypi"
    ],
    "age_hours": 107.1,
    "reason": "measured 107.1 h ago, past the 48 h the artifact declares; the number is what was measured then, not now — and when it was taken: not every counter answered in full; the value is a lower bound over 836 of 837 packages",
    "measured_state": "PARTIAL",
    "downloads_30d": {
      "state": "STALE",
      "value": 386320,
      "as_of": "2026-09-24T07:14:02Z",
      "kind": "third-party counter (includes mirror/automated traffic)",
      "measured_by": "scripts/distribution-measure.py (runs as /workspace/lanes/loops/distribution-measure.py)",
      "artifact": "/interop/distribution-latest.json",
      "artifact_schema": "csoai.distribution/0.1",
      "artifact_as_of": "2026-09-24T07:14:02Z",
      "max_age_hours": 48,
      "unit": "downloads",
      "window": "last 30 days, each registry over its own 30-day window",
      "covered": 836,
      "attempted": 837,
      "source_url": [
        "https://pepy.tech/api/v2/projects/<name>",
        "https://api.npmjs.org/downloads/point/last-month/<names>",
        "https://huggingface.co/api/{models,datasets}?author=csoai&expand[]=downloads&expand[]=downloadsAllTime&limit=1000"
      ],
      "registries_covered": [
        "huggingface",
        "npm",
        "pypi"
      ],
      "registries_partial": [
        "pypi"
      ],
      "age_hours": 107.1,
      "reason": "measured 107.1 h ago, past the 48 h the artifact declares; the number is what was measured then, not now — and when it was taken: not every counter answered in full; the value is a lower bound over 836 of 837 packages",
      "measured_state": "PARTIAL"
    },
    "downloads_all_time": {
      "state": "STALE",
      "value": 2655891,
      "as_of": "2026-09-24T07:14:02Z",
      "kind": "third-party counter (includes mirror/automated traffic)",
      "measured_by": "scripts/distribution-measure.py (runs as /workspace/lanes/loops/distribution-measure.py)",
      "artifact": "/interop/distribution-latest.json",
      "artifact_schema": "csoai.distribution/0.1",
      "artifact_as_of": "2026-09-24T07:14:02Z",
      "max_age_hours": 48,
      "unit": "downloads",
      "window": "cumulative, all time",
      "covered": 836,
      "attempted": 837,
      "source_url": [
        "https://pepy.tech/api/v2/projects/<name>",
        "https://api.npmjs.org/downloads/range/<start>:<end>/<name>",
        "https://huggingface.co/api/{models,datasets}?author=csoai&expand[]=downloads&expand[]=downloadsAllTime&limit=1000"
      ],
      "registries_covered": [
        "huggingface",
        "npm",
        "pypi"
      ],
      "registries_partial": [
        "pypi"
      ],
      "age_hours": 107.1,
      "reason": "measured 107.1 h ago, past the 48 h the artifact declares; the number is what was measured then, not now — and when it was taken: not every counter answered in full; the value is a lower bound over 836 of 837 packages",
      "measured_state": "PARTIAL"
    },
    "windows_rule": "30-day and cumulative are different windows over the same packages. They are carried as separate fields and are never added to each other. Neither is a count of people: mirrors, CI and crawlers are inside both.",
    "by_registry": {
      "pypi": {
        "downloads_30d": {
          "state": "STALE",
          "value": 299523,
          "as_of": "2026-09-24T07:04:17Z",
          "kind": "third-party counter (includes mirror/automated traffic)",
          "measured_by": "scripts/distribution-measure.py (runs as /workspace/lanes/loops/distribution-measure.py)",
          "artifact": "/interop/distribution-latest.json",
          "artifact_schema": "csoai.distribution/0.1",
          "artifact_as_of": "2026-09-24T07:14:02Z",
          "max_age_hours": 48,
          "unit": "downloads",
          "window": "2026-08-25..2026-09-23 (30 complete UTC days)",
          "covered": 396,
          "attempted": 397,
          "source_url": "https://pepy.tech/api/v2/projects/<name>",
          "method": "sum of pepy.tech's daily-by-version series over the 30 complete UTC days",
          "age_hours": 107.1,
          "reason": "measured 107.1 h ago, past the 48 h the artifact declares; the number is what was measured then, not now — and when it was taken: pypi 30-day: 396 of 397 counters answered; the value is a lower bound over those 396, not a total over 397",
          "measured_state": "PARTIAL"
        },
        "downloads_all_time": {
          "state": "STALE",
          "value": 2495523,
          "as_of": "2026-09-24T07:04:17Z",
          "kind": "third-party counter (includes mirror/automated traffic)",
          "measured_by": "scripts/distribution-measure.py (runs as /workspace/lanes/loops/distribution-measure.py)",
          "artifact": "/interop/distribution-latest.json",
          "artifact_schema": "csoai.distribution/0.1",
          "artifact_as_of": "2026-09-24T07:14:02Z",
          "max_age_hours": 48,
          "unit": "downloads",
          "window": "cumulative, all time",
          "covered": 396,
          "attempted": 397,
          "source_url": "https://pepy.tech/api/v2/projects/<name>",
          "method": "sum of pepy.tech total_downloads",
          "age_hours": 107.1,
          "reason": "measured 107.1 h ago, past the 48 h the artifact declares; the number is what was measured then, not now — and when it was taken: pypi cumulative: 396 of 397 counters answered; the value is a lower bound over those 396, not a total over 397",
          "measured_state": "PARTIAL"
        }
      },
      "npm": {
        "downloads_30d": {
          "state": "STALE",
          "value": 10910,
          "as_of": "2026-09-24T07:14:01Z",
          "kind": "third-party counter (includes mirror/automated traffic)",
          "measured_by": "scripts/distribution-measure.py (runs as /workspace/lanes/loops/distribution-measure.py)",
          "artifact": "/interop/distribution-latest.json",
          "artifact_schema": "csoai.distribution/0.1",
          "artifact_as_of": "2026-09-24T07:14:02Z",
          "max_age_hours": 48,
          "unit": "downloads",
          "window": "2026-08-23..2026-09-21",
          "covered": 324,
          "attempted": 324,
          "source_url": "https://api.npmjs.org/downloads/point/last-month/<names>",
          "method": "api.npmjs.org point/last-month, bulk where the registry allows it",
          "age_hours": 107.1,
          "reason": "measured 107.1 h ago, past the 48 h the artifact declares; the number is what was measured then, not now",
          "measured_state": "READ"
        },
        "downloads_all_time": {
          "state": "STALE",
          "value": 79890,
          "as_of": "2026-09-24T07:14:01Z",
          "kind": "third-party counter (includes mirror/automated traffic)",
          "measured_by": "scripts/distribution-measure.py (runs as /workspace/lanes/loops/distribution-measure.py)",
          "artifact": "/interop/distribution-latest.json",
          "artifact_schema": "csoai.distribution/0.1",
          "artifact_as_of": "2026-09-24T07:14:02Z",
          "max_age_hours": 48,
          "unit": "downloads",
          "window": "cumulative, all time (every package answered inside npm's 18-month range window, so the window provably covers its whole life)",
          "covered": 324,
          "attempted": 324,
          "source_url": "https://api.npmjs.org/downloads/range/<start>:<end>/<name>",
          "method": "sum of the daily range series",
          "packages_proven_to_cover_all_time": 324,
          "proven_note": "npm's range endpoint serves at most the last 18 months. For the 324 packages whose first counted download falls strictly inside that window the sum IS the all-time total; for the rest it is a lower bound.",
          "age_hours": 107.1,
          "reason": "measured 107.1 h ago, past the 48 h the artifact declares; the number is what was measured then, not now",
          "measured_state": "READ"
        }
      },
      "huggingface": {
        "downloads_30d": {
          "state": "STALE",
          "value": 75887,
          "as_of": "2026-09-24T07:14:02Z",
          "kind": "third-party counter (includes mirror/automated traffic)",
          "measured_by": "scripts/distribution-measure.py (runs as /workspace/lanes/loops/distribution-measure.py)",
          "artifact": "/interop/distribution-latest.json",
          "artifact_schema": "csoai.distribution/0.1",
          "artifact_as_of": "2026-09-24T07:14:02Z",
          "max_age_hours": 48,
          "unit": "downloads",
          "window": "last 30 days (Hub `downloads`)",
          "covered": 116,
          "attempted": 116,
          "source_url": "https://huggingface.co/api/{models,datasets}?author=csoai&expand[]=downloads&expand[]=downloadsAllTime&limit=1000",
          "age_hours": 107.1,
          "reason": "measured 107.1 h ago, past the 48 h the artifact declares; the number is what was measured then, not now",
          "measured_state": "READ"
        },
        "downloads_all_time": {
          "state": "STALE",
          "value": 80478,
          "as_of": "2026-09-24T07:14:02Z",
          "kind": "third-party counter (includes mirror/automated traffic)",
          "measured_by": "scripts/distribution-measure.py (runs as /workspace/lanes/loops/distribution-measure.py)",
          "artifact": "/interop/distribution-latest.json",
          "artifact_schema": "csoai.distribution/0.1",
          "artifact_as_of": "2026-09-24T07:14:02Z",
          "max_age_hours": 48,
          "unit": "downloads",
          "window": "cumulative, all time (Hub `downloadsAllTime`)",
          "covered": 116,
          "attempted": 116,
          "source_url": "https://huggingface.co/api/{models,datasets}?author=csoai&expand[]=downloads&expand[]=downloadsAllTime&limit=1000",
          "age_hours": 107.1,
          "reason": "measured 107.1 h ago, past the 48 h the artifact declares; the number is what was measured then, not now",
          "measured_state": "READ"
        }
      }
    },
    "by_entity": {
      "rule": "CSOAI Ltd and MEOK AI Labs publish from one account and are labelled, never filtered. The estate total is every row; each entity's share is printed beside it.",
      "downloads_30d": {
        "meok": {
          "value": 252299,
          "covered": 317,
          "attempted": 318,
          "state": "PARTIAL",
          "as_of": "2026-09-24T07:14:02Z"
        },
        "csoai": {
          "value": 95752,
          "covered": 140,
          "attempted": 140,
          "state": "READ",
          "as_of": "2026-09-24T07:14:02Z"
        },
        "joint": {
          "value": 18487,
          "covered": 32,
          "attempted": 32,
          "state": "READ",
          "as_of": "2026-09-24T07:14:02Z"
        },
        "unattributed": {
          "value": 19782,
          "covered": 347,
          "attempted": 347,
          "state": "READ",
          "as_of": "2026-09-24T07:14:02Z"
        }
      },
      "downloads_all_time": {
        "meok": {
          "value": 2327885,
          "covered": 317,
          "attempted": 318,
          "state": "PARTIAL",
          "as_of": "2026-09-24T07:14:02Z"
        },
        "csoai": {
          "value": 174512,
          "covered": 140,
          "attempted": 140,
          "state": "READ",
          "as_of": "2026-09-24T07:14:02Z"
        },
        "joint": {
          "value": 46231,
          "covered": 32,
          "attempted": 32,
          "state": "READ",
          "as_of": "2026-09-24T07:14:02Z"
        },
        "unattributed": {
          "value": 107263,
          "covered": 347,
          "attempted": 347,
          "state": "READ",
          "as_of": "2026-09-24T07:14:02Z"
        }
      }
    },
    "package_list": "/interop/footprint-packages.json",
    "package_list_totals": {
      "pypi": 397,
      "npm": 324,
      "huggingface": 111,
      "note": "Row counts of this list, not downloads. Three registries, three populations, never added."
    },
    "evidence_url": "/interop/distribution-latest.json",
    "measurement_requests": {
      "made": 880,
      "retried_after_429_or_5xx": 94,
      "pace_seconds": 0.35
    },
    "note": "Gross. Mirrors, CI installs and crawlers are in this number. It is not a count of people. Measured package by package on the pod and read out here; every package's own figure is in /interop/distribution-latest.json."
  },
  "qualified_distribution": {
    "state": "UNMEASURED",
    "value": null,
    "as_of": null,
    "reason": "No mirror-adjusted counter exists for the fleet. A sample is not a rate to multiply by.",
    "unit": "downloads not attributable to mirrors or automation",
    "sampled_note": "a sample of the four largest PyPI packages on 22 Sep 2026 showed 30–38% non-mirror downloads; a sample, not the fleet"
  },
  "observed_execution": {
    "state": "UNMEASURED",
    "value": null,
    "as_of": null,
    "reason": "No counter exists behind a verify-page execution, a tool call or an install being run: /api/counters publishes verify_page_executions as UNPUBLISHED because nothing instruments it. A number here would be invented.",
    "unit": "executions",
    "source_url": "https://councilof-ai.pages.dev/api/counters"
  },
  "economic_use": {
    "state": "READ",
    "value": 1,
    "as_of": "2026-09-28T18:22:44.782Z",
    "last_30d": 1,
    "unit": "distinct non-self x402 payer wallets, all time",
    "kind": "measured (settlement records)",
    "source_url": "https://councilof-ai.pages.dev/api/revenue",
    "definition": "one_number.all_time on /api/revenue — distinct payer wallets that are not ours and moved a non-zero amount"
  },
  "repeat_payers": {
    "state": "UNMEASURED",
    "value": null,
    "as_of": null,
    "reason": "/api/revenue publishes distinct payers and settlement totals, not per-wallet settlement counts; a repeat payer cannot be derived from what it exposes, and nothing else records one.",
    "unit": "wallets that paid more than once",
    "source_url": "https://councilof-ai.pages.dev/api/revenue"
  },
  "institutional_use": {
    "state": "UNMEASURED",
    "value": null,
    "as_of": null,
    "reason": "No register of institutions using the estate exists, and a download or a payer wallet does not identify one.",
    "unit": "institutions"
  },
  "board": {
    "state": "READ",
    "value": "23 axis · 23 measured",
    "axes": 23,
    "measured_axes": 23,
    "unmeasured_axes": 0,
    "as_of": "2026-09-28T18:22:41.433Z",
    "as_of_field": "read time (payload carries no as_of)",
    "kind": "measured (board totals)",
    "source_url": "https://councilof-ai.pages.dev/api/gspc"
  },
  "signed_cards": {
    "state": "READ",
    "value": 335,
    "as_of": "2026-08-19T09:24:39.174287+00:00",
    "as_of_field": "card_index.json → created",
    "unit": "signed card bodies that verify",
    "kind": "measured",
    "source_url": "https://councilof-ai.pages.dev/api/state"
  },
  "github_stars": {
    "state": "UNCHECKABLE",
    "value": null,
    "as_of": null,
    "reason": "api.github.com: http 404",
    "population": "councilof-ai repository stars at T",
    "unit": "stargazers",
    "kind": "third-party counter (includes mirror/automated traffic)",
    "source_url": "https://api.github.com/repos/CSOAI-ORG/councilof-ai",
    "http_status": 404
  },
  "package_list": "/interop/footprint-packages.json",
  "state_rule": "READ: the source answered and the value is its number. PARTIAL: part of a fan-out answered and the value is a lower bound. STALE: a measured artifact was read and is older than its declared or endpoint-specified freshness limit. UNCHECKABLE: a source exists and did not answer; value null, never 0. UNMEASURED: no source exists.",
  "note": "Aggregate-only. No telemetry, no per-user data. We measure; we issue no marks."
}