CANNALIB · CHANGELOG

CannaLib, publish by publish.

Every freeze with its served count and why the count moved, the identity and lineage passes, the decisions, and the follow-ups still open. Nothing here is a marketing number.

  bug states shown as they are, never rounded up

  freezes, features and fixes on one timeline

How fixes are checked

By using the software. A fix is checked in daily use on the real hardware; if it doesn’t hold, the bug gets a new report rather than a quiet edit, so a relapse stays on the record. Every row is shown in the state it is in.

Changelog · every release and feature, dated · fixes one filter away

Releases, features and milestones show first. Switch on bugs, incidents and lessons with the filters to see the whole record: bugs are shown in the state they are in, and nothing here is rounded up.

loading entries
Entries come from this site's own records. States are copied from the tracker, never improved.

Below the timeline: the newest 60 entries as a plain list. Every entry and write-up also has a page of its own.

CHANGELOG · THE NEWEST 60, AS A PLAIN LIST

Newest first, for when the timeline above is not running. Use the timeline’s search and filters for everything else.

18 Sep 2026  ·  Milestone · CannaLib, DSC, Site · Released

Journey and log become one timeline

Write-ups are now journey entries. One vertical timeline, newest first, with a column per product; /log/ opens it filtered to write-ups.

18 Sep 2026  ·  Bug filed · CannaLib, Site · New · Low

/libs/cannalib/ links to a missing page

The CannaLib library page links to /cannalib/query/, which does not exist; it should point at the explorer.

18 Sep 2026  ·  Decision · CannaLib, DSC, Site · Released

75 held entries published, details withheld

Entries never cleared for private details are now on the timeline with title, date and state only. Their details are not served anywhere.

17 Sep 2026  ·  Feature · CannaLib, Site · Released

CannaLib API access levels

The CannaLib API now serves callers by level: website visitors get an invisible pass and their own quota, scripts without a key get a smaller one.

17 Sep 2026  ·  Feature · CannaLib, Site · Released

Lineage explorer: harvest window and DSC panel

The family tree gained a harvest-window lens and an 'on a DSC hub' panel that uses the same flowering rules the hub does.

17 Sep 2026  ·  Publish · CannaLib, DSC, Site · Released

55 bench logs from the last ten days

55 write-ups dated to the nights they happened (7 to 17 Sep), illustrated only with demo screenshots, charts of recorded numbers and our own photos.

14 Sep 2026  ·  Feature · CannaLib · New

CL-SAMPLE-FORM

Concentrates, edibles and infused products set cultivar THC | chemistry_sample_form (322,663); potency from flower / pre-roll / unstated only

14 Sep 2026  ·  Feature · CannaLib · New

CL-TOTAL-THC

Maryland (105k) and MaxValue (31k) rows state delta-9 THC and THCA but no total | 135,722 derived rows, formula and inputs in payload

14 Sep 2026  ·  Feature · CannaLib · New

CL-TAGS-JUNK

134,497 flavour tags were terpene numbers; 36,904 effect tags were "No data available" | tag_quarantine

14 Sep 2026  ·  Feature · CannaLib · New

CL-LINEAGE-PASS2

Partial crosses and role words ("707 Chemdawg male") | 744 split, 490 resolved; queue 25,227 → 20,624

14 Sep 2026  ·  Feature · CannaLib · New

CL-ACCENT-ENTITY

name_norm drops accents ("cr me brulee") and scrapes kept HTML entities ("arjan 039 s haze 3") | 466 same_as links, 850 aliases

14 Sep 2026  ·  Feature · CannaLib · New

CL-BREEDER-ENTITY

No breeder table existed; ~7k raw breeder strings | breeder (5,569 groups, exact folding only, page text and placeholders marked) + breeder_alias

14 Sep 2026  ·  Feature · CannaLib · New

CL-PRODUCT-OF

Ledgered product names had no link to the cultivar they sell | 5,471 product_of links; breeder names and bundles refused

14 Sep 2026  ·  Feature · CannaLib · New

CL-HARVEST-DURATION

1,909 harvest "months" were durations ("9-10 weeks", "65-75 days from germination") | 1,080 moved to grow payload harvest_time_stated_days with basis (222 from germination, 858 uns

14 Sep 2026  ·  Feature · CannaLib · New

CL-TERPENE-RATIO-KEY

Cannlytics terpene lists started with cannabinoids_terpenes_ratio / total_terpenes, which cards could show as terpenes | Read side drops ratio / total keys per item (commit 776b945

14 Sep 2026  ·  Feature · CannaLib · New

CL-META-PATHS-CLASS

4.29M of 12.76M strain_fact rows (33.7 %) are page scaffolding (1.38M) or identity/provenance (2.91M); no projector reads them but the public "facts" figure counts them. kind canno

14 Sep 2026  ·  Feature · CannaLib · New

CL-SEEDSMAN-FACETS

Seedsman url_path shop facets (research §2.2) | Measured: would add grow environment 2,405, mould resistance 151, beginner-friendly 128; ~6,100 restate existing claims. "grows-indo

14 Sep 2026  ·  Feature · CannaLib · New

CL-NEW-SOURCES-20260914

The other agent staged 124 sources in docs/sources/staging/; the user approved downloading all of them (2026-09-14 ~00:55). Downloads land in work/raw_sources/2026-09-14// with

14 Sep 2026  ·  Feature · CannaLib · New

CL-CT-PRODUCT-IDENTITIES

16,153 served "strain" names were Connecticut registered product names ("avior t25 fl 15734", "1:1 Oral Spray 12590") that landed from Cannlytics CT lab rows with no other evidence

14 Sep 2026  ·  Feature · CannaLib · New

CL-SAMPLE-FORM-FROM-NAME

42,146 Washington lab rows had THC but no sample form | 48,527 lab rows now carry a form read from a product name that names exactly one form (basis name:); 15,755 am

14 Sep 2026  ·  Feature · CannaLib · New

CL-RATINGS-TABLE

Ratings sat unused in facts and the review table | strain_rating (26,892 rows, 19,824 strains): Leafly 1-5 published aggregates with review counts, SeedFinder 0-10 with stated best

14 Sep 2026  ·  Feature · CannaLib · New

CL-LAB-VS-DIRECTORY

Yes: when a strain has 3+ flower lab samples, the card shows the range those samples span instead of a directory value

14 Sep 2026  ·  Feature · CannaLib · New

CL-DOWNLOADS-NOT-STRAIN-DATA

Massachusetts CCC 2024/2025 testing files: 440k rows, Strain column empty on every row (anonymised METRC ids, buds only). Leafly HF dump: the same flattened_strains.jsonl already i

14 Sep 2026  ·  Feature · CannaLib · New

CL-NV-LAB-UNITS

Yes: accept percent where total_thc = delta-9 + 0.877 x THCA holds (within 5 %) and all values <= 100, marked unit_basis inferred_consistent

14 Sep 2026  ·  Feature · CannaLib · New

CL-TRUST-LADDER-LAB-IDS

The read-side trust ladder matched source ids exactly and never listed cannlytics_expand (673,554 lab rows), so it ranked as directory data; tonight's cannlytics_lab, smith_phytoch

14 Sep 2026  ·  Feature · CannaLib · New

CL-WA-LAB-LINK

Yes: link WA samples by external_identifier = the middle segment of lab_id, then enrich or add without duplicating

14 Sep 2026  ·  Feature · CannaLib · New

CL-DOWNLOADS-NEED-TOOLS

Kannapedia genotypes (nickpalladino/kannapedia-data, GPL-2.0) ship only as an R .Rda file plus R download scripts for the VCFs; CRS-01 is a small lineage knowledge base (121 strain

14 Sep 2026  ·  Feature · CannaLib · New

CL-LAB-SAFETY-ANALYTES

Yes, as a per-SAMPLE pass/fail summary; never roll a failed sample up into a failed strain

14 Sep 2026  ·  Feature · CannaLib · New

CL-MASTER-ECHO

master restates other sources, but the read side counted it as its own source family, inflating "independent sources" | master rows stay listed on claims but no longer count (catal

14 Sep 2026  ·  Feature · CannaLib · New

CL-HERITAGE-PER-STATEMENT

Yes: re-derive heritage pairs per statement; ledger the contradicted / crossed rows

14 Sep 2026  ·  Feature · CannaLib · New

CL-SMALL-LAB-SETS-HERBARIUM

Batch 30 (2026-09-14 02:07): cross-checked small lab sets and specimen references | Henry et al. verified Kannapedia chemistry as percent (thc_thca = THCA + THC on 60 of 66 shared

14 Sep 2026  ·  Feature · CannaLib · New

CL-KUSHY-NUMBERS

Exclude only if completely unusable: measure first whether a clean x100 band is usable

14 Sep 2026  ·  Feature · CannaLib · New

CL-SUBTYPE-IDENTITIES

Yes: keep as lineage nodes (current)

14 Sep 2026  ·  Feature · CannaLib · New

CL-BRAND-PREFIXES

Research the uncertain brands online and act on what the research confirms

14 Sep 2026  ·  Feature · CannaLib · New

CL-EFFECT-SYNONYMS

Terms that keep coming up go on the vocabulary list (frequency threshold approved)

14 Sep 2026  ·  Feature · CannaLib · New

CL-LINEAGE-ABBREV

Research the abbreviations ourselves and add the confirmed ones

14 Sep 2026  ·  Feature · CannaLib · New

CL-LAB-VS-DIRECTORY

Card THC for Brownie Scout reads 38 % (AllBud + a restatement agree exactly) while 106 Maryland flower lab samples read 31.4–33.0 %. Exact-value corroboration cannot see agreement

14 Sep 2026  ·  Feature · CannaLib · New

CL-REPLICATION-REINGEST

replication_data locally has 202,130 rows vs 304,123 in the published Harvard Dataverse copy, and its CBD column is corrupt. Re-ingesting means downloading that dataset file: OK to

14 Sep 2026  ·  Feature · CannaLib · New

CL-KUSHY-NUMBERS

Kushy THC values 1300–1900 look like percent x100 (13–19 %), but 0 and 127 are placeholders. Keep all Kushy numbers excluded (current), or convert the 1000–4000 band /100?

14 Sep 2026  ·  Feature · CannaLib · New

CL-NV-LAB-UNITS

Nevada, Maryland, Oregon, Rhode Island and Hawaii lab files state no unit on their flat columns (the upstream card gives none). Values like THCA 25.19 / moisture 9.9 look like perc

14 Sep 2026  ·  Feature · CannaLib · New

CL-WA-LAB-LINK

Washington: the master already holds 203,058 cannlytics_expand WA rows (63,523 distinct lab_id like LR.PF.4166701011.002, 42,146 with THC), and the full staging file holds 202,812

14 Sep 2026  ·  Feature · CannaLib · New

CL-LAB-SAFETY-ANALYTES

~21M pesticide / microbial / metal / solvent results sit in work/staging_night/lab_results_cannlytics.sqlite3 (12 GB). Serve them (a per-sample pass/fail summary table, ~1M rows) o

14 Sep 2026  ·  Feature · CannaLib · New

CL-SEEDFINDER-VARIANT-PARENTS

49,445 breeder-qualified parent edges from SeedFinder's own parent links (37,594 already exist by name and only gain a breeder, 7,902 point at the linked page instead of a display

14 Sep 2026  ·  Feature · CannaLib · New

CL-EFFECT-SYNONYMS

Controlled effect / flavour vocabulary proposed in work/logs/research_evidence_meta_vocab_20260914.md §3: ≥10 rows, ≥2 source families, ≤4 words; covers 71 % of effect rows and 55

14 Sep 2026  ·  Feature · CannaLib · New

CL-SUBTYPE-IDENTITIES

Hide the 1,394 structure-only names from search, or keep as lineage nodes (current)?

14 Sep 2026  ·  Feature · CannaLib · New

CL-GROWTHPROFILE-V6

Is DLI / VPD / EC density high enough for a GrowthProfile type yet? (measure first)

14 Sep 2026  ·  Bug filed · CannaLib · New

CL-ROLE-TAG-EDGES

Yes: withdraw the clearly wrong edges (listing-name children, descriptor parents), keep the rest

14 Sep 2026  ·  Feature · CannaLib · New

CL-IDENTITY-SCREEN-2

Added-name sample after landing still shows products the screen misses ("bag 1", "bayside sunset key largo" canvas print, "cbd" hash, quoted lab labels). Measure a second signal pa

14 Sep 2026  ·  Feature · CannaLib · New

CL-LAB-RESULTS-FULL

Every existing cannlytics_expand terpene list is a placeholder; staging adds NV ~115k, MI ~68k, FL ~14k, HI ~12k samples the master never got, and real terpene percentages for CA/C

14 Sep 2026  ·  Bug filed · CannaLib · New

CL-HERITAGE-PER-STATEMENT

Research 2026-09-14 (work/logs/research_next_items_20260914.md §2): heritage_pct still pairs values from separate statements (105 mirror groups such as cherry kush allbud 30/70 and

14 Sep 2026  ·  Feature · CannaLib · New

CL-NIGHT2-20260913

Split compound parents (1,454 literals → 1,406 canonical edges), compact-key literal resolve (526), bank listing names → listing_of (5,708), spelling duplicates → same_as (3,596),

14 Sep 2026  ·  Feature · CannaLib · New

CL-LINEAGE-ABBREV

Approve the alias list for 146 abbreviations (NL, HP, DC, PCK, SSSDH …).

14 Sep 2026  ·  Bug filed · CannaLib · New

CL-ROLE-TAG-EDGES

490 parent_of edges carry a garbled role tag in their source (|role:male, |role:aze, |role:rry …). Many are real ("707 chemdawg" male parent of "snow cone"; "9lb hammer" parent of

14 Sep 2026  ·  Feature · CannaLib · New

CL-LISTING-BASE-MISSING

3,125 listing names ("X feminized seeds") whose base X is not canonical: land X as an identity only when the listing name itself has a typed record (it does, by definition of a ser

14 Sep 2026  ·  Feature · CannaLib · New

CL-OPENALEX-DATASETS

DataCite 14k cannabis sativa Dataset DOIs are mostly genome/HMM/clinical. Do not ingest that blob. Host-filter Zenodo/Figshare/Dryad + horticulture/chemotype subject only.

14 Sep 2026  ·  Bug filed · CannaLib · New

CL-BRAND-PREFIXES

Lab-only names like "klear acdc", "nature s apple fritter", "tcvg honeycomb afghan haze" look like brand + strain, but frequency alone cannot separate brands from flavour words tha

14 Sep 2026  ·  Feature · CannaLib · New

CL-LITERAL-PARTIAL-COMPOUND

1,600 compound literals with at least one unresolved part: split the resolvable parts, keep the unresolved part as its own literal edge. | Next batch

14 Sep 2026  ·  Feature · CannaLib · New

CL-GROWTHPROFILE-V6

No schema v6 this pass. Projectors now have sparse DLI/VPD/EC in payload_json / grow extras where a paper table named them. A GrowthProfile type waits until those numbers are dense

14 Sep 2026  ·  Bug filed · CannaLib · New

CL-API-TESTS

Strain-tree fixture tests: python -m unittest from services/cannalib. Optional extra deploy-path coverage later.

14 Sep 2026  ·  Bug fixed · CannaLib · Verified

CL-API-STDLIB-BLOCK

/health waited on the same _lock as {id} hydrate (record() + sqlite). Probes timed out (~15s) while hydrate held the lock (~70s); Compose looked like restarting. Split _metrics_loc