Menu Field Notesshoppure.com · an independent study
02 / Record · 5,388 live records, captured 22 Oct 2026

The brand field holds the price tier. The name holds the strain type.

Pure’s menu cards are the POS item record, rendered. Whoever named the items named them for the counter and the invoice: “Gold Tier - Deli” is a brand, “High Supply Oz Jar” is a brand, “Pure 28g $25 Sungrown” is a brand, and “Deli - 7699 - 33” is a product. The shopper gets the same text, with a filter called “Brands” that lists 256 of them in Warren.

Tool · diagnostic · real records

Record Lens

Pick a live record, or type your own name and brand. The lens labels every fragment by the field it should live in, lists what the shopper loses, and proposes the record under the standard — proposed only, never applied.

Or type a record
makerproduct linestrain / flavourstrain typesizeform / countertierpricecodepromo label
SpecimenFIG. 06
Loading the sample…
——
Evidence · public observation · ten checks run on every captured record

Audit: five stores, ten checks.

A check fires when a shopper-facing field carries something that belongs in another field. “A” checks are unambiguous. “B” checks are patterns that need one naming decision before they count as wrong — the planner below makes that decision explicit.

StoreRecordsCleanIssues / 100Brand entriesNot makersInhalables w/o strain
Loading…
Checks across all storesFIG. 07
Loading…
Rules: checks.js = analyze.pyTested: tools/tests.mjs
The Brands filter, WarrenFIG. 08

256 entries. Among them, three price tiers (Diamond, Gold and Silver Tier - Deli), one price, and families like these — the same maker split into one entry per pack size:

From the menu’s own filter list (MenuFiltersV2)
Where the names come fromvendor docs

Each captured record carries its POS metadata: canonicalBrandName, canonicalCategory, canonicalSKU and an image URL on leaflogixmedia.blob.core.windows.net — the storage used by LeafLogix, now Dutchie POS. For “Pink Certz (H)” the POS brand is literally “High Supply Oz Jar” and the POS category “Buds (prepackaged)”. The menu is faithful to the record. POS identity inferred from URLs, not confirmed

Dutchie’s release notes describe a separate “Online title” per product and categories set in the POS as the source of truth. A rename is therefore a POS task, done once per product per store unless the chain shares an item master — something only the inventory team can say.

Evidence · public observation · matched on Dutchie’s enterprise product id

Same product, different names.

1,342 products are sold in two or more Pure stores. 93 carry different names, 241 different brands, 296 a different price for the same weight. Price differences can be deliberate. Name and brand differences rarely help a shopper.

StoreName on the menuBrand fieldPrice · option
Loading…
40 of the mismatched groups ship in the workbook; all 1,342 groups are derivable from records-all.csv.
The standard · proposed

One rule per field.

The standard is short because the POS fields already exist. The work is moving fragments home, not inventing structure.

A shopper should be able to read the brand filter as a list of makers, the name as a product, and the type as a filter.

FieldRuleToday (examples)
BrandThe maker only. One entry per maker across all five stores.“Mitten 1g Cart”, “Mitten 2g Dispo”, “Gold Tier - Deli”
NameProduct line (if any) + strain or flavour. No format prefix, no counter, no code, no strain type, no weight.“Deli - 7699 - 33”, “Pink Certz (H)”, “Grip Prepack - Cereal Milk”
Strain typeAlways set for flower, pre-rolls, vapes and concentrates.97 inhalables with none; 1,004 names carrying “(H)” or “- Hybrid”
Weight / optionCarried by the option only (“1/8oz”, “1g”). Never in the brand.“High Supply Oz Jar”, “Society C 8th”
TierA product tag or a sub-category (“Deli · Gold”), so the deli counter can still be browsed by tier.Three tiers stored as brands; price already carries the tier
Discount labelWritten for the shopper: product, quantity, price, end date. See page 04.“Save $10 MKX 2g Dispo/Grip Oz(ALL)”
Tool · planning · counts from the capture

Rename planner

Three decisions change the size of the job. Pick them, see how many records and which POS fields move, then export the list the inventory team would work from.

Decision 1 · where does the tier go?
Decision 2 · strain type
Decision 3 · brand field
Scope
ImpactFIG. 09
Loading…
Counts over all captured records; sample shown in the lens
Rename list0 entries
    Nothing yet. Add records from the lens, or generate a ranked batch.
    The consequential decision, in full: tier as tag vs suffix vs drop

    Alternatives. (1) Tag/sub-category, (2) name suffix, (3) drop. Constraint that matters most: the Deli items are sold by tier (Diamond, Gold, Silver), and the menu must let a shopper browse one tier. Chosen: tag/sub-category, because it keeps browsing and takes the tier out of both the brand and the name. Downside: it depends on the POS exposing a tag or sub-category to Dutchie; if it cannot, the suffix is the fallback and the planner shows its cost. What would change the recommendation: an inventory lead confirming the POS has no tag field reaching the menu, or Pure deciding tiers should not be shopper-facing at all.

    Tool · measurement

    Re-check

    After the inventory team renames a batch and the sync runs, paste the new names and brands (one per line: name, brand, category, strain type — tab or comma separated, or the records-all.csv columns). The same ten checks run and the result is compared with the baseline from 22 Oct 2026.

    Result vs baselineFIG. 10
    Paste a batch and run the checks. Nothing leaves your browser.
    Baseline: 5,388 records, 22 Oct 2026Pass: clean share up, A-checks at zero
    Where the method stops

    What the checks catch

    • Fields carrying another field’s content (tiers, sizes, prices, strain types, codes, prefixes).
    • Inhalables with no strain type, names with stray spaces or all capitals.
    • The same enterprise product named or branded differently across stores.

    What they cannot establish

    • Whether a brand like “Chill Topical” or “Mary Jones Soda” is a maker’s own sub-line or a counter label. The B-checks flag it; a person decides. Expect some false positives — the planner counts them as “review”, not “wrong”.
    • Whether a rename changes sales. No sales data is public and none is claimed.
    • Which POS fields the chain can edit centrally versus store by store.
    Failure caseBoundary

    “Cresco Max Out Prepack 70g - Street Guru” (Monroe, brand “Cresco Max Out Bag”). Type it into the lens: it moves “70g” and “Prepack” out of the name and proposes name “Street Guru” and brand “Cresco Max Out” — because nothing in the record says “Max Out” is a product line rather than part of the maker. The right record is brand “Cresco”, line “Max Out”, strain “Street Guru”, option “70g”. The parser cannot know that; the decision that “Max Out” is a line is Pure’s, and the planner records such rows as review items, not automatic renames.

    Nothing is renamed by this site. Every proposal is a row in a list a person approves.