No Bullshit AINo Bullshit AIno-bullshit-aiCannabis Courseby Distru00 XP
Plain English

Menus and Product Data: Descriptions, Photos, and Cleanup

Two hundred products, half with no description, four spellings of 'grams', photos in a shared folder and three menus that never quite match. An afternoon fixes most of it, and the one rule that matters is: describe the product, never what it does to a person.Descriptions run as one batch behind a house-rules block and a pattern check; a script cleans SKUs, units, sizes and prices and maps photo files to hosted URLs for bulk import; menu sync is an automation with no model in it. The health-claim guardrail sits in front of everything that goes live.Batch description generation gated by a rules block and regex check, deterministic CSV normalisation with duplicate detection and image URL mapping, menu-setting diff with no LLM. Compliance lead reviews what the regex passes.

8 min read2 giveaways

Questions this answersQuestions this answersfaq

can AI write my cannabis product descriptions?can AI write my cannabis product descriptions?how do you run batch description generation safely?
Yes, in one batch, given the facts: strain, lineage, grower, process, flavour words, and the terpene and cannabinoid numbers copied off the COA. Two things sit in front of it. House rules that say describe the product and never what it does to a person, and a word check that runs in code after it answers, because it will still slip one through. Then a person reads what the check passed.Yes, in one batch, given the facts: strain, lineage, grower, process, flavour words, and the terpene and cannabinoid numbers copied off the COA. Two things sit in front of it. House rules that say describe the product and never what it does to a person, and a word check that runs in code after it answers, because it will still slip one through. Then a person reads what the check passed.Batch generation behind a rules block in the system prompt plus a lexical post-filter in code, with structured output as sku and description. Regex is a floor, not a gate: it matches spellings, not meaning, so your compliance lead reads everything that passes until the strike rate stops falling. On a twelve-row sample, five failed the word check and a sixth that passed would still have been struck on review.
what can you not say in a cannabis menu description?what can you not say in a cannabis menu description?what does the copy rule set forbid?
Do not name a condition or promise an effect. Melts stress away and helps you sleep does both, and depending on your state that is a violation or an unsubstantiated claim. Describe the jar instead: strain, lineage, process, flavour, and the numbers off the COA. An indica passes. An indica for sleep does not.Do not name a condition or promise an effect. Melts stress away and helps you sleep does both, and depending on your state that is a violation or an unsubstantiated claim. Describe the jar instead: strain, lineage, process, flavour, and the numbers off the COA. An indica passes. An indica for sleep does not.No health or disease claims, no conditions, no promised effects, no superlatives about safety or strength, nothing with appeal to minors, and no invented numbers. Rules differ by state, so a shipped word list is a floor and your own state's terms go into the rule set. Mood words such as relaxing or uplifting pass a lexical check and may still be struck, so settle them once with your compliance lead and write the decision down.
why does one menu show an item in stock and another does not?why does one menu show an item in stock and another does not?how do I diagnose a menu sync discrepancy?
That is a sync problem, and no AI fixes a sync. Export what each menu shows, compare it against your inventory, and list the rows that disagree. If the disagreement clears itself within twenty minutes or so, it was the platform catching up. If the same SKU disagrees every day, it is a mapping problem, and messy or duplicated SKUs are the usual cause.That is a sync problem, and no AI fixes a sync. Export what each menu shows, compare it against your inventory, and list the rows that disagree. If the disagreement clears itself within twenty minutes or so, it was the platform catching up. If the same SKU disagrees every day, it is a mapping problem, and messy or duplicated SKUs are the usual cause.Diff each platform's exported state against inventory and inspect the disagreeing rows; there is no model anywhere in this path. Transient deltas that resolve within a sync cycle are latency, persistent per-SKU deltas are mapping. A SKU with a trailing space, or a duplicate SKU, is a second product to a computer, which is why normalisation runs before anything else.

Read the rest for freeSign in to read the restauth required past this point

A name and an email, once. The whole course is free, nothing is sold to you, and your place is kept so you can pick it up on your phone later.A name and an email, once. The course is free; the account exists so your progress and your level on the dial follow you between devices, and so you can be issued a certificate at the end.name + email. free. account carries completion state, data-level and certificate issuance.

Sign in or sign upSign in or sign upsign in

We store your name, your email, which lessons you open and which you finish, and the reading level you use. Distru can see that. Nothing is charged and nothing is sold on.Stored: name, email, which lessons you open and complete, and your level on the dial. Distru staff can see it. No payment, no third-party advertising trackers.stored: name, email, per-lesson view + completion, data-level. visible to Distru. no payment, no ad-tech, no third-party pixels.