CANNALIB · HONESTY RULES · FROZEN 2026-09-29

Do not invent. Do not blend. Do not merge. Do not shred.

Grow catalogues either sell, scrape, or ship a small dump and call it the catalogue. CannaLib is built on four refusals, and each one has a count behind it. The catalogue would rather show a hole than invent a number you will grow against.

●  API 0.7.1-stdlib · 143,611 strains served

●  counts from the 29 Sep 2026 freeze

DO NOT INVENT

No number that no source stated

No height in centimetres from Short, Medium or Tall. No THC percentage from Very High. No PPFD grid from vibes. No terpene unit when the source gives none.

131,857 terpene values shown without a unit

14,622 parent names kept unmatched, not guessed

DO NOT BLEND

No averages across sources

Conflicting chemistry keeps every row. The card shows the value most independent sources agree on, and every other claim beside it with its source. Notes stay documents.

37,014 strains where sources disagree on THC, all shown

10,163 strains with THC stated by 3+ independent sources

DO NOT MERGE

Two facts stay two facts

Indoor and outdoor height are separate. Flavour is not aroma. Medical effects are not negative effects. Subtypes never inherit a parent's chemistry.

14,398 sub-varieties linked to their base, not merged into it

120,822 product and label names kept off the strain count

DO NOT SHRED

Ranges stay ranges, empty stays empty

Evidence arrives as spans. Printing only the top end is shredding with better typography. A JSON leaf is never dropped for not being on a preferred list.

342,460 unusable records withdrawn to a ledger, never deleted

271,392 parent claims quarantined, not published

A NUMBER WE REFUSED TO FIX

8385 raw stays raw.

A chemistry observation landed at 8385. That is not a percent. Clamping it to 100 would have made a prettier card and a worse grow. We flag it, keep the row, and let you see the dirt. Same rule as height: no centimetres invented from Short, Medium or Tall.

A PICK WE REFUSED TO MAKE

Corroboration first, trust ladder second.

The card picks the value stated by the most distinct sources; lab replicates of one source count once. The trust ladder (lab, then bank, then directory, then forum) only breaks ties. Blue Dream's card says 17 percent from eight sources instead of one lab's 20.4.

What the ledger holds

250,314 chemistry rows flagged and never used as potency: moisture tests, placeholder values, pooled summaries.  ·  120,822 names on the product and label ledger: SKUs, lab sample codes, listing titles, forum thread titles, error pages.  ·  342,460 withdrawn records, each with the reason it was withdrawn. Nothing on the ledger is deleted, nothing on it is served as a strain.

HOW IT WORKS

Dumps, staging, merge, ledger, API.

Online is the catalogue. Search and the explorer hit the live API. Digital Stealth Care can keep a smaller offline card set as a fallback. That set is not the research catalogue and is never added to it.
Collation keeps the long tail. Append-only observations. Identity keeps F1, OG, backcross, cut and auto apart. Unmatched parents go to a list, not a guess.
Lineage is structured only. Parent links come from named sources with their confidence; never fuzzy, never copied up from a parent.
Redistribution is curated. Scraped bank dumps are not a public zip. Query the live API.

Community

Every claim has a receipt. Argue about them here.

Spotted a wrong parent, a missing lab result, or want something from the API? The CannaLib Discord has a corrections forum where every fix comes with a source, and a dev channel for API users.

  • Data corrections with sources, tracked from report to shipped
  • API help, integrations and Home Assistant cards
  • Dataset releases and roadmap votes first
Join the CannaLib Discord (opens Discord in a new tab)

18+ · free · no selling or sourcing, ever