Skip to content

Methodology

How a listing gets here

Five steps stand between a public trace of software and a listing in this index. Each one below carries its written rule, a computed heartbeat, and — where we already publish one — a computed result. The text never claims a step is alive; the heartbeat does.

System state as of 2 Oct · 02:00 UTC · every figure computed, none written by hand

1 · Candidates arrive

Candidates enter from six families of public surfaces — package registries, app stores, code hosts, vendor sites, curated directories and public web mentions. A trace only becomes a candidate if it points at something publicly reachable. Candidates wait in a queue; position in that queue cannot be bought, and payment never speeds anything up.

Last new candidate seen: 2 Oct · 01:58 UTC

What this heartbeat can and cannot say: today a re-queued old candidate moves its existing row rather than creating a new one, so this date means “a new candidate arrived”. If that maintenance behaviour ever changes, this stamp could tick without real discovery — we state the assumption here rather than hide it.

2 · Most traces never become a record

Before anything is written down, a trace must look like a running project: a page that opens, software behind it, and a subject that is software rather than writing about software. Most candidates stop here.

Stopped before a record existed: 179,933

Counted over the decision-retention window, and bounded by it in the query rather than assumed of the prune job. The number of days is enforced by that job and printed here from its own heartbeat — 30 days.

  • Writing about software, not software47,752
  • Read, and not a product45,736
  • The page could not be opened30,776
  • Reason not recorded30,230
  • Excluded by standing policy15,593
  • Nothing running behind it yet9,846

These counts do not add to the assessment figures in step 3 — this is the population that never reached assessment, kept separate on purpose.

3 · What passes gets assessed

A record is assessed on the kind of evidence behind it — a public project page, a store listing, a repository, independent mentions — never on who submitted it or where we found it. The exact evidence thresholds are deliberately not published — a number here would be a recipe for manufacturing exactly that number.

Assessed: 366,832 · listed: 341,451 · assessed, not listed: 25,381

  • Removed from the catalog10,744
  • A store page with no project behind it5,744
  • Reason not recorded4,408
  • Identity could not be resolved3,232
  • Outside the covered window (retired)1,136
  • Withheld under content policy117

The rows are counted in their own pass and can trail the line above by a few dozen records; they are the reasons, not a second count of the same number.

The same families, with the standing rules they enforce, live on Coverage rules — including how to contest a decision.

4 · What stands gets listed

“Listed” means: this project existed on public surfaces, the evidence held together under the rules above, and the record is now visible and countable. It does not mean we endorse the software, that it is safe, maintained, or good — those are claims we do not make.

Visible in the index right now: 341,451

One quantity, one value: steps 3, 4 and 5 print the same figure — and it is the same figure the operations band at the foot of this page prints, adopted from there rather than counted again. Not several counts that agree; one value, rendered several times.

5 · Listed things keep being checked

A listing is not a one-time stamp. Listed records are re-checked in sweeps — a full pass over the catalog, with listings that have stopped answering re-checked in between; a project that stops answering loses its live status, and a host that repeatedly fails to answer is set aside for a period before we try again. When the next full pass is due is on Status.

Re-check coverage: 267,059 of 341,451 listings ever re-checked · last stamp: 1 Oct · 04:03 UTC

§ · The limits of our own records

First: since 13 Aug 2026, a listing admitted through a fetched page has that page written down when its record was made — its address, status, title and an excerpt of its text; listings admitted from registry and store feeds carry their dates instead, as do listings admitted before that date. A snapshot is kept for as long as its listing stays in the index and for 90 days otherwise. Last snapshot written: 2 Oct · 01:58 UTC.

Second: our own error rate. Every listing is held to a written 40-dimension listing standard (name, publisher, description, price, category, links, liveness); how well we meet it is measured on random samples — 24 dimensions by rule, on a fresh sample of 1,000 listings every week (last run 28 Sep 2026), and 11 dimensions by two independent models from different families, quarterly, checked against human-labelled listings; 7 dimensions are in both sets, so 28 of the 40 are checked today.

Measured against that standard: 19.0 % of a random sample of 200 listings met every one of the 28 checked dimensions (95 % interval 14.2 %–25.0 %) — an error rate of 81.0 % on the checked dimensions · audit of 3 Sep 2026 · next by 2 Dec 2026

Verify this page yourself

Every figure above is computed, never written by hand, and it comes from the same sources as Coverage rules, Status and Press numbers — open them side by side and compare. The catalog size is the live one: once the page has loaded it is the same value the band at the foot of this page holds, and a reload can move it because the index moves. Decisions can be contested through the path on Coverage rules. If a listing about your own project is wrong or you want it removed, use Report an Issue with the listing's address; what a request can change, and how a project's owner has it taken down, is set out on Coverage rules.

The words above are used precisely and are not interchangeable. A candidate and a record are the two stages steps 1 and 2 describe; listed is narrower than either, and it is the same population the Glossary calls projects tracked — what a visitor can actually reach — so the two words name one number, not two. Where each source family comes from is on Data sources.