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.
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
