Skip to content
View ashishsinha1602's full-sized avatar

Block or report ashishsinha1602

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ashishsinha1602/README.md

Ashish Sinha

Principal AI and Data Engineer. I measure public machine-learning infrastructure — the registries, model hubs and demo platforms everyone builds on — and publish the numbers with the code that produced them.

schemagate

schemagate picks only the tables a text-to-SQL question needs, and only from the tables the caller may read: a median of 91% fewer schema tokens on databases with 50+ tables. #1 on the BIRD Mini-Dev leaderboard (SQLite 81.0 / PostgreSQL 72.6 / MySQL 72.4). Apache-2.0, on PyPI, with packages for LangChain and LlamaIndex, an MCP server, and a Claude Code plugin.

Most of what gets quoted about these platforms has never been counted. "Three million models on Hugging Face" is a real number that describes very little once you look at it. So I look at it.

What I have measured

Every public Hugging Face Space. A complete census of 1,458,692 Spaces, not a sample. 38.57% of the non-static ones are in a permanent error state, against 2.85% running. Breakage rises monotonically with age, and it holds inside every SDK, so it is not a composition effect.

Unmodified copies among them. 104,791 Spaces are byte-identical copies of another Space, grouped into 25,183 source histories. They are found from an ordering that cannot occur naturally — a copy carries commit dates predating its own creation — and confirmed against HEAD commit hashes. The largest single family is 9,490 identical copies of one free-course assignment.

Three million models. 64.04% declare no licence. That figure needs its weighting stated: only 8.68% of downloads go to unlicensed models, because the gap sits in the unused tail. Among the 100 most-downloaded models, 8 are unlicensed. The honest version is 253 million downloads in 30 days to models whose listing grants no rights, and 29.9% of the top 100,000.

The Model Context Protocol registry. 25,125 distinct servers from 15,468 publishers. Read as a catalogue it looks 74.5% duplicated; read correctly, as the version log it actually is, 3.6%. The unit of analysis moved that headline by 20.7×.

How I work

Every headline number gets an independent check before it is published, and the check is designed to kill it. The clone detector was validated against commit hashes, 60 of 60 in-family versus 12 of 12 distinct for controls. The licence finding was weighted by downloads specifically because that could have refuted it, and it largely did.

When a number turns out to be wrong, the correction goes out publicly with the reasoning. An unreachable-servers count of 387 became 189 after the registry's own documentation turned out to endorse the pattern I was counting as broken. A remote-endpoint probe overcounted roughly twofold because it used GET where the protocol expects POST. Both corrections are in the repository history and in the threads where the original claims were made.

Nulls get published too. Deduplicating 104,791 copies moved the broken-Spaces figure from 38.57% to 38.90% — the objection was reasonable, the test came back boring, and that is the useful part.

Data

hf-spaces-census all 1,458,692 public Spaces
hf-spaces-clones 104,791 copies, resolved to source histories
mcp-registry-census the MCP registry in full

Code: dataset-integrity-audit — retrieval, near-duplicate detection, clone detection, and the analysis behind each figure above. Pure standard library apart from the fetchers.

Hugging Face: @Ashsinha1

Pinned Loading

  1. schemagate schemagate Public

    Text-to-SQL access control: schema selection that gives the LLM only the tables the caller is allowed to read. Row-level-security-aware table pruning for LangChain, MCP and any SQL agent. Postgres,…

    Python 143 4

  2. dataset-integrity-audit dataset-integrity-audit Public

    Measurements of public ML infrastructure: a census of all 1.46M Hugging Face Spaces, clone detection, model licence analysis, and the MCP registry. Every headline number has an independent check.

    Python 1

  3. langchain-schemagate langchain-schemagate Public

    Text-to-SQL retriever: only the tables a question needs, from the ones the caller may read (schemagate)

    Python

  4. llama-index-retrievers-schemagate llama-index-retrievers-schemagate Public

    Text-to-SQL retriever: only the tables a question needs, from the ones the caller may read (schemagate)

    Python