{
  "grammar_version": "1.0",
  "standard_id": "ALS-COFFEE",
  "version": "1.0",
  "title": "AisleLens Coffee Standard v1.0 — buyer questions, assertions and evidence rules for roasted coffee product pages",
  "status": "draft",
  "posture": {
    "independently_applied": false,
    "statement": "This document has never been applied to a real store by anyone, and no second party has applied it without us. Until that happens it is a rubric with a versioned changelog, not a standard. It is written to a publishable bar and is not published. Every failure rate in it is a prediction, not a measurement. The independently_applied flag may only become true once a second party has run this document without the authoring party's involvement."
  },
  "applicability_envelope": {
    "covers": "Retail product pages selling roasted coffee to consumers as whole bean, ground, pods or capsules, including decaffeinated coffee, single-origin lots and blends.",
    "excludes": [
      "green (unroasted) coffee, whose grading and admissibility rules differ materially",
      "instant, extract and chicory-blend products governed by separate compositional rules",
      "ready-to-drink and canned coffee beverages",
      "brewing equipment, grinders and accessories",
      "coffee-flavoured goods that are not coffee (syrups, confectionery, scented products)",
      "flavoured coffee, for the ingredient and allergen entries only, which are blocked rather than applied"
    ],
    "category_signals": {
      "authoritative": ["product_type", "JSON-LD Product.category", "BreadcrumbList second-to-last crumb"],
      "fallback": ["product_title"],
      "never": [
        "tags — a coffee-scented soap must never read as a coffee product, which is the engine's own rule at src/server/productTest.ts:877-884",
        "collection handles and URL slugs, which are merchant-controlled naming rather than evidence"
      ]
    }
  },
  "out_of_scope": [
    {
      "subject": "whether any claim on the page is true",
      "why_not": "The engine adjudicates evidence availability, never product truth. Every assertion here answers whether a statement of a defined form is published and readable, and none of them answers whether the coffee is what the page says it is."
    },
    {
      "subject": "health, wellbeing and physiological effects of coffee",
      "why_not": "Health and structure/function claims are separately regulated in every major market and substantiation attaches to whoever makes the claim. A standard that adjudicated 'boosts focus' or 'low acid, gentler on your stomach' would be taking a position on a regulated claim, which is exposure this document must not walk into."
    },
    {
      "subject": "environmental and ethical-sourcing claims that name no scheme",
      "why_not": "Unqualified general environmental benefit claims are the target of active regulation rather than a category to score. Recording the presence of 'sustainably sourced' or 'carbon neutral' as conformance would invert the law, because presence is the risk factor and not the evidence."
    },
    {
      "subject": "sensory quality, tasting notes and cup preference",
      "why_not": "There is no external definition a third party could check a flavour descriptor against, so an assertion over tasting notes would degrade the test into confirming that adjectives are present."
    },
    {
      "subject": "the physical label on the bag that will arrive",
      "why_not": "Several of the strongest coffee facts — the roast date, the net quantity declaration, the certifier name — are lot-level and printed at pack time. A page-level test can only ever confirm that a claim about the label was made, never that the delivered bag carries it."
    },
    {
      "subject": "price fairness, value for money and producer payment levels",
      "why_not": "Farmgate price, premium paid and direct-trade terms have no register, no definition and no public record; the main price-transparency reference in coffee is anonymised aggregate data by construction and cannot confirm any individual contract."
    }
  ],
  "engine_contract": {
    "engine_version": "v2.0.0",
    "contract_document": "standards/ENGINE_CONTRACT.md",
    "requirement_kinds_used": ["claim", "attribute", "variant_option", "delivery", "identifiers"],
    "verified_against_commit": "96ceacd"
  },
  "changelog": [
    {
      "version": "1.0",
      "date": "2026-07-26",
      "summary": "First authored version. Ten executable assertions, five deliberately not executed on discrimination grounds, sixteen blocked on engine capability, thirteen advisory. Nothing has been measured against a real store.",
      "changes": [
        {
          "entry_id": "ALS-COFFEE-1.0-FORMAT-001",
          "change_type": "added",
          "rationale": "Whole-bean versus ground is the delivered physical state, is a mandatory part of the name of the food in the EU, and is the format decision a buyer most often gets wrong."
        },
        {
          "entry_id": "ALS-COFFEE-1.0-CERT-001",
          "change_type": "added",
          "rationale": "Organic is the only coffee claim that is simultaneously mandated on-label, resolvable to the seller in a free public register, and status-typed, so it anchors the certification class."
        },
        {
          "entry_id": "ALS-COFFEE-1.0-TERMS-001",
          "change_type": "added",
          "rationale": "Published as not_discriminating rather than executable: the engine's own note records that this row returns a passing state unless a hard subscription blocker is found, so it would fire for almost nobody."
        },
        {
          "entry_id": "ALS-COFFEE-1.0-PROV-001",
          "change_type": "added",
          "rationale": "Growing country is the most commercially central coffee claim and has no engine mechanism at all, so it is published as blocked with the reasoning rather than omitted."
        }
      ]
    }
  ],
  "standard_hash": {
    "algorithm": "sha256",
    "canonicalisation": "json-sorted-keys-no-hash-field",
    "value": "334389c4eb6145112deec621e667f11142fb204c66bedd314fc12662d09acec5"
  },
  "entries": [
    {
      "id": "ALS-COFFEE-1.0-FORMAT-001",
      "question": "Can I buy this as whole beans?",
      "assertion": { "subject": "whole_bean_option", "operator": "option_available", "expected": true },
      "tier": "executable",
      "applicability": {
        "applies_when": "the product is roasted coffee sold by mass rather than in pods or capsules",
        "does_not_apply_when": ["the product is a pod, capsule or pre-dosed sachet, where the state is inherent to the format"],
        "signal": "product_type or title indicates coffee; pod and capsule products are excluded by the envelope"
      },
      "accepted_evidence": [
        { "surface": "product_options", "form": "a purchasable option value naming the whole-bean state", "example": "Whole Bean" },
        { "surface": "variant_availability", "form": "the matching variant is listed and marked available" }
      ],
      "insufficient_evidence": [
        { "form": "\"beans\" as a generic synonym for coffee", "why_not": "\"our house beans\" and \"single origin beans\" are marketing register, not a statement about the delivered state; a product literally named Bean Blend can ship ground." },
        { "form": "an option LIST containing whole bean among others", "why_not": "A page offering Whole Bean / Espresso / Filter asserts none of them about what ships. This entry asks only whether the option is purchasable, which is the narrower and answerable question." },
        { "form": "\"freshly ground\" or \"we grind to order\"", "why_not": "These state a process the seller performs, not the state of this purchasable item, and in some sellers' usage they describe what the buyer is expected to do." },
        { "form": "a photograph of beans, a grinder or a portafilter", "why_not": "Image content is not page text, is not read by the engine, and bean photography is routinely used as brand imagery on ground products." },
        { "form": "a brew-method mention such as \"excellent in a French press\"", "why_not": "This implies a target grind and says nothing about whether the bag contains beans." }
      ],
      "conflict_rules": [
        { "when": "the title says whole bean and no whole-bean option is purchasable", "resolution": "the purchasable option list decides; a title is not an offer", "precedence": ["product_options", "product_title"] },
        { "when": "a whole-bean option exists but is out of stock", "resolution": "report it as listed and not purchasable, which is what the engine returns, rather than as absent" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_options", "variant_availability"],
      "registry": { "resolvable": false, "engine_can_perform": false, "notes": "No register exists for physical format; it is a property of the offer." },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "30-60%",
        "in_target_band": true,
        "reasoning": "Grind is routinely modelled as a Shopify variant by specialty roasters, so many pages will expose it, while single-format sellers and supermarket-style listings will not name the state as an option at all. The wide band reflects that this is an untested split between two very different seller populations.",
        "measured": false
      },
      "consumer_note": "If you own a grinder, whole bean is the format that keeps longest, because less surface area is exposed to oxygen. You can check this yourself by looking at whether the page lets you actually select whole bean, rather than at whether the word appears in the description.",
      "merchant_remediation": "Expose the delivered physical state as a product option value with the words \"Whole Bean\", and make sure the corresponding variant is purchasable rather than permanently out of stock.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "consumer_buying_guide", "documented_complaint_pattern"],
        "citations": [
          { "source": "EU Regulation 1169/2011, Annex VI Part A", "url": "https://www.legislation.gov.uk/eur/2011/1169/annex/VI", "kind": "legal_instrument", "establishes": "that the physical state or treatment of a food must form part of the name of the food where its omission could mislead, which is the legal basis for treating ground versus whole bean as a required disclosure rather than a preference" },
          { "source": "National Coffee Association, storage and shelf life guidance", "url": "https://www.aboutcoffee.org/beans/storage-and-shelf-life/", "kind": "trade_body", "establishes": "that whole beans keep materially longer than ground coffee at room temperature because less surface area is exposed to oxygen, which is why the delivered state is a purchase-relevant fact and not a detail" }
        ]
      },
      "binding": {
        "req_kind": "variant_option",
        "option_value": "Whole Bean",
        "label": "Whole bean option is listed and purchasable",
        "passing_states": ["pass_evidenced"]
      },
      "adversarial": {
        "attack": "A roaster lists a grind option literally named \"Whole Bean or Ground — tell us in the order notes\", which satisfies an option-value match while leaving the delivered state entirely undetermined at the point of purchase.",
        "outcome": "enriched_insufficient_evidence",
        "resolution": "The entry now states explicitly that an option naming several states, or deferring the choice to a free-text note, is not a purchasable whole-bean option. The engine cannot enforce that distinction, so it is recorded as residual risk rather than as a closed hole.",
        "residual_risk": "The engine's variant match accepts an exact option-value match or a substring of the variant title, so any merchant-authored option value containing the phrase satisfies it. Option values are free text and this cannot be closed without a per-offer evidence model (ENGINE_GAPS G-12)."
      },
      "pass_means": {
        "establishes": "That a purchasable option naming the whole-bean state exists on this product at the time of the test.",
        "does_not_establish": "That whole beans are what a buyer receives by default, that the option is the one preselected, or that the coffee is unground at any point before dispatch."
      },
      "known_gaps": [
        { "corpus_case": "no adversarial-corpus coverage exists for variant_option at all", "effect": "false_pass", "note": "The corpus covers materials, dimensions, care, claim and delivery. variant_option has no hostile cases, so its behaviour under merchant-authored option strings is unmeasured." }
      ]
    },
    {
      "id": "ALS-COFFEE-1.0-FORMAT-002",
      "question": "Can I buy this already ground, so I do not need a grinder?",
      "assertion": { "subject": "ground_option", "operator": "option_available", "expected": true },
      "tier": "executable",
      "applicability": {
        "applies_when": "the product is roasted coffee sold by mass rather than in pods or capsules",
        "does_not_apply_when": ["pods, capsules and pre-dosed sachets, where the coffee is ground by definition"],
        "signal": "product_type or title indicates coffee"
      },
      "accepted_evidence": [
        { "surface": "product_options", "form": "a purchasable option value naming the ground state", "example": "Ground" },
        { "surface": "variant_availability", "form": "the matching variant is listed and marked available" }
      ],
      "insufficient_evidence": [
        { "form": "\"freshly ground\" or \"ground to order\"", "why_not": "A statement about when grinding happens is not a statement that a ground item is purchasable here, and some sellers use the phrase to describe what the buyer should do at home." },
        { "form": "\"grind options available\" in prose", "why_not": "This announces that grinding exists as a service without making any ground item selectable, so a buyer cannot act on it at the point of purchase." },
        { "form": "a brew-method option name such as Espresso or Filter, treated as the generic ground state", "why_not": "A named brew grind is a different, narrower assertion covered by its own entry, and a store may offer brew-specific grinds while offering no general ground option." },
        { "form": "the presence of a grind option list without any option being purchasable", "why_not": "An option offered but permanently out of stock is not a format the buyer can receive, which the engine reports separately as listed and unavailable." }
      ],
      "conflict_rules": [
        { "when": "the description says ground and only whole bean is purchasable", "resolution": "the purchasable option list decides, because it is the offer", "precedence": ["product_options", "product_description"] },
        { "when": "both whole bean and ground are purchasable", "resolution": "both this entry and the whole-bean entry pass independently; they are not mutually exclusive" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_options", "variant_availability"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "35-70%",
        "in_target_band": true,
        "reasoning": "Specialty roasters who sell primarily whole bean often expose no general ground option, listing only brew-specific grinds or none at all, while mainstream sellers list ground as a first-class option. The split is genuinely unknown and the band is wide to say so.",
        "measured": false
      },
      "consumer_note": "If you have no grinder, this is the question that decides whether the bag is usable to you. Check whether a ground option is actually selectable rather than whether the page mentions grinding, because many roasters describe a grinding service they do not offer as a purchasable option.",
      "merchant_remediation": "Add a purchasable option value using the word \"Ground\" for the general pre-ground item, separately from any brew-specific grind names, and keep the variant in stock rather than describing the service in prose only.",
      "grounding": {
        "demand_basis": ["consumer_buying_guide", "buyer_community_evidence", "regulatory_requirement"],
        "citations": [
          { "source": "Independent refuting pass, live Google autocomplete retrieval (suggestqueries.google.com)", "url": "https://suggestqueries.google.com/complete/search", "kind": "internal_measurement", "establishes": "that whole-bean versus ground is among the verified shopper-driven core coffee questions, ranked sixth of ten by the refuting pass on live search-intent evidence rather than on trade material" },
          { "source": "National Coffee Association, storage and shelf life guidance", "url": "https://www.aboutcoffee.org/beans/storage-and-shelf-life/", "kind": "trade_body", "establishes": "that ground coffee holds one to two weeks at room temperature against one to three weeks for whole beans, so the delivered state changes the useful life of the purchase" },
          { "source": "EU Regulation 1169/2011, Annex VI Part A", "url": "https://www.legislation.gov.uk/eur/2011/1169/annex/VI", "kind": "legal_instrument", "establishes": "that the physical state or treatment of a food forms part of the name of the food where omitting it could mislead, and the name of the food is a pre-purchase particular in distance selling under Article 14(1)(a)" }
        ],
        "refutation": {
          "challenged": "Whether whole-bean-versus-ground is a shopper question or a trade preoccupation, and whether the EU name-of-food rule reaches a web page at all rather than only the physical pack.",
          "verdict": "survived",
          "resolution": "The refuting pass placed it in the verified shopper-driven core on live autocomplete evidence. The legal reading was narrowed: Article 14(1)(a) makes mandatory particulars available pre-purchase EXCEPT the durability date, so the name of the food does reach the page in the EU, while US net-quantity and organic labelling law reaches only the package. That distinction is applied throughout this standard."
        }
      },
      "binding": {
        "req_kind": "variant_option",
        "option_value": "Ground",
        "label": "Ground option is listed and purchasable",
        "passing_states": ["pass_evidenced"]
      },
      "adversarial": {
        "attack": "A store offers a single option value named \"Whole Bean — Ground on request at no charge\", which contains the term, satisfies the engine's substring match against the variant title, and delivers whole beans unless the buyer separately emails.",
        "outcome": "enriched_insufficient_evidence",
        "resolution": "The entry states that an option combining several states, or making the ground state conditional on a request, is not a purchasable ground option. The engine's match cannot enforce this, so the limit is published rather than hidden.",
        "residual_risk": "The engine accepts a substring of the variant title, so any merchant-authored option string containing \"ground\" passes — including unrelated words that contain the term. Closing this needs per-offer evidence resolution (ENGINE_GAPS G-12)."
      },
      "pass_means": {
        "establishes": "That an option naming the ground state exists and is purchasable on this product at the time of the test.",
        "does_not_establish": "That the coffee is ground fresh, ground at dispatch, ground to any particular size, or that ground is the state a buyer receives by default."
      },
      "known_gaps": [
        { "corpus_case": "no adversarial-corpus coverage exists for variant_option at all", "effect": "false_pass", "note": "Behaviour under hostile merchant-authored option values is unmeasured for this requirement kind." }
      ]
    },
    {
      "id": "ALS-COFFEE-1.0-GRIND-001",
      "question": "Can I get this ground for espresso?",
      "assertion": { "subject": "espresso_grind_option", "operator": "option_available", "expected": true },
      "tier": "executable",
      "applicability": {
        "applies_when": "the product is roasted coffee sold by mass and the seller offers any grind choice",
        "does_not_apply_when": ["pods and capsules, where dose and grind are fixed by the format"],
        "signal": "product_type or title indicates coffee"
      },
      "accepted_evidence": [
        { "surface": "product_options", "form": "a purchasable option value naming espresso as a grind", "example": "Espresso" },
        { "surface": "variant_availability", "form": "the matching variant is listed and marked available" }
      ],
      "insufficient_evidence": [
        { "form": "\"Espresso Blend\" or \"Espresso Roast\" as a product or blend name", "why_not": "This is a naming and roast-style convention, not a grind claim; a whole-bean-only product can carry it, and treating the words as a grind assertion inverts what the seller said." },
        { "form": "\"suitable for espresso\" or \"built for espresso\" in prose", "why_not": "A recommendation about which brewer the coffee suits is not an assertion that a matching grind is selectable, and it states nothing about particle size." },
        { "form": "a grind option named only by a number or grinder setting", "why_not": "Grinder dial numbers are proprietary and are not comparable across grinders or even across units of the same model, so they name no point on any scale." },
        { "form": "\"fine grind\" offered as equivalent to espresso", "why_not": "Fine, medium and coarse are seller-relative labels that published scales disagree about, and the espresso band alone spans roughly a factor of two, so a coarseness word does not resolve to the espresso case." }
      ],
      "conflict_rules": [
        { "when": "the page recommends espresso brewing but offers no espresso grind option", "resolution": "this entry fails; the brew-fit recommendation is a separate advisory question", "precedence": ["product_options", "product_description"] },
        { "when": "an espresso option exists but the page states a coarse micron figure", "resolution": "record the internal contradiction rather than resolving it; the standard reports evidence, not which side is right" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_options", "variant_availability"],
      "registry": { "resolvable": false, "engine_can_perform": false, "notes": "No body defines grind sizes, and no register of grind specifications exists." },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "55-85%",
        "in_target_band": true,
        "reasoning": "Espresso is the most commonly named brew-specific grind, but most sellers expose either no grind choice or only a general ground option, so the row should fail for a clear majority. The band sits high in the target range deliberately and the upper bound is set at the limit because a rate above it would carry little information.",
        "measured": false
      },
      "consumer_note": "Grind size is the single thing most likely to make a good coffee taste bad in your brewer, and there is no agreed scale behind words like fine or medium. The check a buyer can do is whether the seller lets you pick a grind named for your machine, rather than trusting an adjective.",
      "merchant_remediation": "Offer espresso as a named, purchasable grind option value rather than describing brewer suitability in prose, and state the particle-size target alongside it where you know it.",
      "grounding": {
        "demand_basis": ["consumer_buying_guide", "buyer_community_evidence", "trade_body_definition"],
        "citations": [
          { "source": "Independent refuting pass, live Google autocomplete retrieval (suggestqueries.google.com)", "url": "https://suggestqueries.google.com/complete/search", "kind": "internal_measurement", "establishes": "that five of the top ten autocomplete completions for \"coffee grind\" are brewer-specific and \"coffee grind size chart\" ranks first, making grind-to-brewer match the strongest verified shopper signal in the whole research corpus" },
          { "source": "Specialty Coffee Association, coffee standards index", "url": "https://sca.coffee/research/coffee-standards", "kind": "trade_body", "establishes": "that the trade's published standards cover sensory assessment, grinders and brewers but define no retail grind vocabulary, so a grind term on a bag resolves against no external definition" }
        ],
        "refutation": {
          "challenged": "Whether brew-method grind fit is a real shopper question or a barista concern, given that the source material is largely roaster education.",
          "verdict": "survived",
          "resolution": "The refuting pass ranked it first of ten on live search-intent evidence and noted that no researcher had ranked it first. The scope was narrowed in response: this entry asserts only that a named grind option is purchasable, never that the grind is correct for the brewer, because no body defines the sizes."
        }
      },
      "binding": {
        "req_kind": "variant_option",
        "option_value": "Espresso",
        "label": "Espresso grind option is listed and purchasable",
        "passing_states": ["pass_evidenced"]
      },
      "adversarial": {
        "attack": "A roaster offers a single option value \"Espresso\" that denotes the blend style rather than a grind, on a product sold only as whole bean, so the row passes while no buyer can obtain an espresso grind.",
        "outcome": "enriched_insufficient_evidence",
        "resolution": "The entry names blend-style and roast-style uses of the word as insufficient, and its pass_means states that a pass does not establish a grind was applied. The engine cannot distinguish an option value's meaning, so the risk is disclosed.",
        "residual_risk": "Where a seller uses \"Espresso\" as an option value for a roast style, the engine will pass and the standard has no mechanism to tell that apart from a grind option. This is the most likely false pass in this entry and it is not closed."
      },
      "pass_means": {
        "establishes": "That an option value naming espresso is purchasable on this product at the time of the test.",
        "does_not_establish": "That the coffee is ground at all, that any particular particle size is delivered, or that the grind is suitable for the buyer's machine."
      },
      "known_gaps": [
        { "corpus_case": "no adversarial-corpus coverage exists for variant_option at all", "effect": "false_pass" }
      ]
    },
    {
      "id": "ALS-COFFEE-1.0-GRIND-002",
      "question": "Can I get this ground for a filter or pour-over brewer?",
      "assertion": { "subject": "filter_grind_option", "operator": "option_available", "expected": true },
      "tier": "executable",
      "applicability": {
        "applies_when": "the product is roasted coffee sold by mass and the seller offers any grind choice",
        "does_not_apply_when": ["pods and capsules"],
        "signal": "product_type or title indicates coffee"
      },
      "accepted_evidence": [
        { "surface": "product_options", "form": "a purchasable option value naming filter as a grind", "example": "Filter" },
        { "surface": "variant_availability", "form": "the matching variant is listed and marked available" }
      ],
      "insufficient_evidence": [
        { "form": "\"filter coffee\" used as a category or serving style", "why_not": "In much of the world the phrase names a beverage style rather than a grind, so its presence in prose asserts nothing about what is selectable." },
        { "form": "\"suitable for all brew methods\" or \"one grind, every method\"", "why_not": "The published grind bands for immersion and espresso do not overlap, so a single grind cannot suit every method; this is the most confidently wrong claim in the class and a naive check accepts it because it is maximally inclusive." },
        { "form": "a brewing-guides navigation block listing pour-over, drip and AeroPress", "why_not": "Site navigation and topic lists are chrome rather than an assertion about this item, and the engine deliberately excludes raw page text from evidence for exactly this reason." },
        { "form": "\"medium grind\" offered as equivalent to filter", "why_not": "Coarseness words are seller-relative and two published scales disagree about where medium sits, so the word does not resolve to the filter case." }
      ],
      "conflict_rules": [
        { "when": "the page names pour-over in prose but offers only whole bean", "resolution": "this entry fails; a recommendation is not a purchasable option", "precedence": ["product_options", "product_description"] },
        { "when": "both Filter and Espresso options exist", "resolution": "both entries pass independently; they describe different offers on the same product" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_options", "variant_availability"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "60-85%",
        "in_target_band": true,
        "reasoning": "Filter is named less consistently than espresso and competes with pour-over, drip and V60 as option wording, so the fixed string will miss stores that offer the same thing under a different name. The high band reflects vocabulary fragmentation as much as seller behaviour, and that is a weakness of the assertion rather than a finding about merchants.",
        "measured": false
      },
      "consumer_note": "If you brew with a cone, a Chemex or a drip machine, this is the grind you need, and the words sellers use for it vary. Look for a selectable option rather than a sentence, and treat any claim that one grind suits every brewer as unreliable.",
      "merchant_remediation": "Name the filter or pour-over grind as a purchasable option value, and avoid offering a single grind described as suitable for all methods, which cannot be true across immersion and espresso.",
      "grounding": {
        "demand_basis": ["consumer_buying_guide", "buyer_community_evidence", "trade_body_definition"],
        "citations": [
          { "source": "Independent refuting pass, live Google autocomplete retrieval (suggestqueries.google.com)", "url": "https://suggestqueries.google.com/complete/search", "kind": "internal_measurement", "establishes": "that brewer-specific grind queries dominate the coffee-grind autocomplete set, including pour over, french press, moka pot, cold brew and percolator, which is direct current search-intent evidence rather than trade material" },
          { "source": "Specialty Coffee Association, coffee standards index", "url": "https://sca.coffee/research/coffee-standards", "kind": "trade_body", "establishes": "that no published trade standard defines retail grind designations, so a filter grind claim is checkable only as a stated designation and never as a measured particle size" }
        ],
        "refutation": {
          "challenged": "Whether a single fixed option string can represent a question whose vocabulary is fragmented across filter, pour-over, drip and V60.",
          "verdict": "narrowed",
          "resolution": "It cannot, and the entry now says so in its own discrimination reasoning: a failure may mean the seller uses different wording rather than that no filter grind exists. The general form of this question needs an enumerated-value matcher and is published separately as blocked under ENGINE_GAPS G-03."
        }
      },
      "binding": {
        "req_kind": "variant_option",
        "option_value": "Filter",
        "label": "Filter grind option is listed and purchasable",
        "passing_states": ["pass_evidenced"]
      },
      "adversarial": {
        "attack": "A store names its bag-size options \"Filter Pack 250g\" and \"Filter Pack 1kg\", where Filter is part of a pack name rather than a grind, so every size satisfies the assertion while the coffee ships whole bean.",
        "outcome": "enriched_insufficient_evidence",
        "resolution": "The entry records pack-name and category uses of the word as insufficient, and pass_means limits what a pass establishes to the existence of the option value. The engine cannot read the option's intent, so the risk is stated.",
        "residual_risk": "Any merchant-authored option value containing \"filter\" passes, including pack names and category words. The inverse error is larger in practice: sellers who offer this grind under another name fail, which makes the predicted band partly a measurement of vocabulary rather than of merchants."
      },
      "pass_means": {
        "establishes": "That an option value naming filter is purchasable on this product at the time of the test.",
        "does_not_establish": "That a particular particle size is delivered, that it suits the buyer's brewer, or that the option means a grind rather than a pack or a category."
      },
      "known_gaps": [
        { "corpus_case": "no adversarial-corpus coverage exists for variant_option at all", "effect": "false_pass" }
      ]
    },
    {
      "id": "ALS-COFFEE-1.0-WEIGHT-001",
      "question": "How much coffee do I get — is there a weight anywhere on this page?",
      "assertion": { "subject": "mass_measurement_stated", "operator": "is_stated", "expected": true },
      "tier": "executable",
      "applicability": {
        "applies_when": "the product is coffee sold by mass, including pod packs that also declare a net weight",
        "signal": "product_type or title indicates coffee"
      },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a number bound to a unit of mass in a readable sentence", "example": "12 oz bag of whole bean coffee." },
        { "surface": "product_title", "form": "a number bound to a unit of mass in the product title" },
        { "surface": "structured_data", "form": "a mass measurement inside the JSON-LD product description prose" }
      ],
      "insufficient_evidence": [
        { "form": "a size option named Small, Medium, Large, Bag or Standard", "why_not": "A size label with no unit states no quantity, and a buyer cannot compare two sellers or compute a unit price from it." },
        { "form": "a brew ratio or dose in grams, such as \"use 18 g per 300 ml\"", "why_not": "This is a usage quantity measured inside the product rather than a measurement of the product, and the engine currently credits it — a pinned corpus defect this entry inherits in the false-pass direction." },
        { "form": "a shipping or dispatch weight", "why_not": "It includes packaging and is systematically higher than the net quantity, and it is often the only number a machine can find on a fulfilment-heavy page." },
        { "form": "a pod or capsule count with no mass", "why_not": "Dose per capsule ranges from roughly five to thirteen grams across systems, so a count is not convertible to a coffee mass." },
        { "form": "a brewed-yield volume such as \"makes 2 litres of concentrate\"", "why_not": "Yield is a use statement at an undisclosed dilution, not a declaration of how much coffee is in the package." },
        { "form": "a weight visible only in a product photograph", "why_not": "Image content is not page text, is not read by the engine, and product photography frequently shows a different size or an older bag design." }
      ],
      "conflict_rules": [
        { "when": "the title states one mass and the page sells several sizes", "resolution": "record that a mass is stated and that it cannot be attributed to a specific offer; do not report it as the net quantity of the purchase", "precedence": ["product_options", "product_title"] },
        { "when": "a mass appears only in a specification block the engine cannot quote", "resolution": "the row passes and names the surface without a quote, which the engine already reports honestly" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "product_title", "structured_data"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "15-40%",
        "in_target_band": true,
        "reasoning": "Coffee titles very commonly carry a mass, and the product title is a quotable evidence surface, so this row should pass on a clear majority of pages. The band sits at the bottom of the target range and the entry is worth running mainly because a coffee page with no mass anywhere is a genuine, actionable defect for a machine buyer.",
        "measured": false
      },
      "consumer_note": "A price is uninterpretable without a weight: an eighteen-dollar bag could be ten ounces or twelve, a twenty per cent difference invisible to any comparison. If the page shows no mass, you cannot work out what you are paying per cup.",
      "merchant_remediation": "State the net quantity in a readable sentence on the product page and per purchasable size, in both metric and the customary unit for your market, rather than relying on the title alone when several sizes share one page.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "consumer_buying_guide", "comparison_guide_convention"],
        "citations": [
          { "source": "EU Regulation 1169/2011, Article 9(1)(e) and Article 14(1)(a)", "url": "https://www.legislation.gov.uk/eur/2011/1169/article/14", "kind": "legal_instrument", "establishes": "that net quantity is a mandatory particular and that in distance selling every mandatory particular except the durability date must be available before the purchase is concluded, which makes net quantity a pre-purchase page duty in the EU specifically" },
          { "source": "US FDA, 21 CFR 101.7 net quantity of contents", "url": "https://www.ecfr.gov/current/title-21/chapter-I/subchapter-B/part-101/subpart-A/section-101.7", "kind": "regulator", "establishes": "that the US declaration duty attaches to the principal display panel of a food in package form and says nothing about internet listings, so US net-quantity law is a package rule and not a page rule" },
          { "source": "Independent refuting pass, live Google autocomplete retrieval (suggestqueries.google.com)", "url": "https://suggestqueries.google.com/complete/search", "kind": "internal_measurement", "establishes": "that cost transparency including net weight and unit price sits in the verified shopper-driven core, ranked seventh of ten on live search-intent evidence" }
        ],
        "refutation": {
          "challenged": "The research labelled net quantity flatly mandated while citing US package-labelling law as authority for a web page.",
          "verdict": "narrowed",
          "resolution": "The refuting pass identified this as the dominant defect across the whole corpus: 21 CFR 101.7 contains no reference to internet or online listings, so US law does not mandate a weight on a page. Only the EU distance-selling route makes it a pre-purchase duty. The citation set and the demand basis were rewritten accordingly, and the assertion is deliberately worded as \"a mass measurement is stated\" rather than as a compliance claim."
        }
      },
      "binding": {
        "req_kind": "attribute",
        "attribute": "dimensions",
        "label": "A weight or measurement is stated in readable text",
        "passing_states": ["pass_evidenced"]
      },
      "adversarial": {
        "attack": "A page whose only mass anywhere is a brewing instruction — \"We recommend 60 g of coffee per litre of water\" — passes as having stated a measurement, and the merchant is told their measurements are published when the net quantity of the bag appears nowhere.",
        "outcome": "enriched_insufficient_evidence",
        "resolution": "The brew-ratio and usage-quantity forms are named as insufficient, the entry declares the pinned corpus defect that makes them pass today, and pass_means restricts the conclusion to \"a mass appears on a product surface\" rather than \"the net quantity is published\".",
        "residual_risk": "Until the pinned usage-quantity defect is closed, a page stating only a brew ratio or a nutrition quantity satisfies this assertion. The label was chosen to be true even in that case, which limits the damage without removing it."
      },
      "pass_means": {
        "establishes": "That a number bound to a unit of mass appears in readable product text on a surface the engine may quote.",
        "does_not_establish": "That the value is the net quantity of the package, that it applies to the option the buyer selected, or that it is anything other than a dose, a yield or a dispatch weight."
      },
      "known_gaps": [
        { "corpus_case": "\"Each serving contains 12 grams of protein.\"", "effect": "false_pass", "note": "A quantity measured inside the product reads as a measurement of the product. Found on a real store during the v2.8 fitness run and being fixed concurrently; the coffee analogue is a brew ratio in grams." },
        { "corpus_case": "\"Steep in 8 oz of hot water for 3 minutes.\"", "effect": "false_pass", "note": "A usage instruction quantity. Directly analogous to brewing guidance on a coffee page." },
        { "corpus_case": "\"Minimum order 5 kg.\" and \"Discount applies to purchases over 10 lbs.\"", "effect": "false_pass", "note": "Order thresholds read as product measurements. Wholesale coffee pages carry these routinely." },
        { "corpus_case": "\"Weighs 3 lbs and ships free.\"", "effect": "false_fail", "note": "A genuine weight vetoed because the sentence also mentions shipping. Coffee pages often combine weight and free-shipping wording in one sentence." },
        { "corpus_case": "\"This mug holds 12 fl. oz.\"", "effect": "false_fail", "note": "Abbreviated units are split across sentence fragments by the tokenizer. Coffee weights are frequently written \"12 fl. oz.\" and \"1 lb.\"" }
      ]
    },
    {
      "id": "ALS-COFFEE-1.0-CERT-001",
      "question": "Does this page say the coffee is organic?",
      "assertion": { "subject": "organic_claim_stated", "operator": "is_stated", "expected": true },
      "tier": "executable",
      "applicability": {
        "applies_when": "the product is roasted coffee offered to consumers in any format",
        "signal": "product_type or title indicates coffee"
      },
      "accepted_evidence": [
        { "surface": "product_description", "form": "an explicit organic statement naming the certifying agent", "example": "Certified organic by Oregon Tilth." },
        { "surface": "structured_data", "form": "the same statement inside the JSON-LD product description" },
        { "surface": "product_faq", "form": "the same statement in FAQ structured data" }
      ],
      "insufficient_evidence": [
        { "form": "the bare word \"organic\"", "why_not": "An operation selling under the US small-operation threshold may lawfully call its product organic without certification, so the word alone is evidence of nothing checkable." },
        { "form": "\"organically grown\", \"organic practices\", \"beyond organic\", \"transitional\"", "why_not": "None of these sits inside the four regulated label tiers, and \"beyond organic\" specifically is marketing that positions itself as superior to the only checkable category." },
        { "form": "\"made with organic ingredients\"", "why_not": "That is a distinct and lower labelling tier with a seventy per cent threshold which may not use the seal, and a naive check scores it as equivalent to organic." },
        { "form": "a rendered organic seal image with no agent named", "why_not": "Image content is not page text and the seal resolves to nothing on its own; the certifier's name is the field the rule requires precisely because the seal is unverifiable without it." },
        { "form": "a farm's or exporter's certificate offered while the roaster is uncertified", "why_not": "Only a certified handler may use the seal, so the register must resolve to the roaster; this is the most legitimate-looking substitution in coffee because the farm genuinely is certified." },
        { "form": "an EU control-body code such as XX-BIO-NNN treated as identifying the seller", "why_not": "The code identifies the control body that audits, never the operator audited, so a check that resolves the code has verified nothing about this seller." },
        { "form": "\"certified organic since 2011\"", "why_not": "A certification history is not a current status, and the register publishes surrendered, suspended and revoked precisely because real certificates stop being real." }
      ],
      "conflict_rules": [
        { "when": "the description claims organic and the shipping policy page also contains the word", "resolution": "read only product surfaces; a document about orders is not evidence about this product", "precedence": ["product_description", "structured_data"] },
        { "when": "an organic claim and a contradicting statement both appear", "resolution": "the engine reports the contradiction and does not pass the row, which is the correct fail-closed behaviour" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "structured_data", "product_faq"],
      "registry": {
        "resolvable": true,
        "register_name": "USDA National Organic Program — Organic INTEGRITY Database",
        "operator": "USDA Agricultural Marketing Service",
        "lookup_key": "the certified operation's legal name, client ID or certificate number",
        "lookup_method": "Search the database by operation name, certifying agent, certified product, client ID or certificate number; the record carries a status of Certified, Surrendered, Suspended or Revoked, the certifier, and the certified-product scope, and the certificate itself can be downloaded. Bulk spreadsheet exports and monthly full-dataset snapshots were confirmed live by an independent verification pass; the documented REST API was not — its developer help page returns an application error.",
        "resolves_to_level": "operation",
        "public_free": true,
        "machine_queryable": true,
        "engine_can_perform": false,
        "notes": "The engine has no register client, so this entry adjudicates only the on-page statement. The resolution step is published separately as a blocked entry."
      },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "30-70%",
        "in_target_band": true,
        "reasoning": "Organic is common in specialty coffee but far from universal, and the engine's dictionary matches the bare word as well as the certified phrasings, so the row will pass wherever the word appears at all. The band is wide because the pass condition is looser than the question a buyer is asking.",
        "measured": false
      },
      "consumer_note": "The word organic on its own can be lawful without any certification for a small seller, so what matters is whether a certifying agent is named. You can check a named agent and the roaster's legal name against the USDA Organic INTEGRITY Database yourself, free, and see whether the certificate is current.",
      "merchant_remediation": "If a certifying agent certified the operation that packs this coffee, name that agent in product-page text alongside the legal operation name, so a reader can resolve the pair in the public register rather than taking a seal image on trust.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "certification_body_material", "consumer_buying_guide"],
        "citations": [
          { "source": "US National Organic Program, 7 CFR 205.303", "url": "https://www.ecfr.gov/current/title-7/subtitle-B/chapter-I/subchapter-M/part-205/subpart-D/section-205.303", "kind": "legal_instrument", "establishes": "that where a packaged product is labelled organic the certifying agent's name must appear on the information panel, which is why a named agent rather than a seal is the evidence a reader needs" },
          { "source": "USDA Agricultural Marketing Service, published organic enforcement settlements", "url": "https://www.ams.usda.gov/services/enforcement/organic/settlements-2018", "kind": "regulator", "establishes": "that organic misrepresentation is a real and enforced failure mode in coffee specifically, including a roaster that settled for a fifteen-thousand-dollar civil penalty for representing products as organic without certification" },
          { "source": "CCOF, guidance on using the Organic INTEGRITY Database", "url": "https://www.ccof.org/resource/how-to-use-the-usda-organic-integrity-database-oid/", "kind": "certification_body", "establishes": "that the register is described by a certifying agent authorised under the national organic programme as the official place to check whether an operation is certified, which is the intended verification route rather than the agent's own word" }
        ],
        "refutation": {
          "challenged": "Whether the claim is mandated on a product page, and whether shoppers actually verify certificates rather than simply preferring certified products.",
          "verdict": "narrowed",
          "resolution": "Both challenges landed. The labelling rule is titled for packaged products and places the agent's name on the information panel, so it does not reach a web page — the status here is voluntary disclosure, not a page mandate. And the refuting pass established that certificate auditing is importer and retail-buyer behaviour, not shopper behaviour, which is why this entry adjudicates only whether a claim is stated and the register-resolution question is published as blocked with trade rather than shopper grounding."
        }
      },
      "binding": {
        "req_kind": "claim",
        "claim": "organic",
        "label": "An organic claim is stated in readable text",
        "passing_states": ["pass_evidenced"]
      },
      "adversarial": {
        "attack": "A page reading \"We follow organic farming principles on every lot we buy\" passes the assertion, because the engine's dictionary matches the bare word, while the seller holds no certification and has carefully avoided claiming any.",
        "outcome": "enriched_insufficient_evidence",
        "resolution": "The practice-language forms are named as insufficient and pass_means states plainly that a pass does not establish certification. The engine's claim dictionary is closed and cannot be narrowed from a standard, so the limit is published rather than fixed.",
        "residual_risk": "Any sentence containing the word organic passes, including hedged practice language and a statement about the packaging being organic cotton. This is the widest gap between what the assertion tests and what the question asks, and closing it needs a certifier-name matcher (ENGINE_GAPS G-06)."
      },
      "pass_means": {
        "establishes": "That readable product text on this page states an organic claim of some form, quoted verbatim where a clean sentence exists.",
        "does_not_establish": "That any operation is certified, that a certifying agent was named, that the claim resolves in any register, or that the claim is about the coffee rather than the packaging."
      },
      "known_gaps": [
        { "corpus_case": "\"A gift bundle of our house blends.\" with an organic phrase in the shipping policy's page title", "effect": "false_pass", "note": "Claim rows do not exclude the shipping-policy surface and the policy fold-in carries SEO chrome, so a claim about the product can be proven from a document about orders. Found on a real tea store and being fixed concurrently." },
        { "corpus_case": "\"Love that it's fragrance-free!\" — a customer in Portland.", "effect": "false_pass", "note": "A review quote credited as the store's own statement. Applies to every claim row, and coffee pages carry heavy review content." },
        { "corpus_case": "\"The tube is BPA-free.\"", "effect": "false_pass", "note": "A container property credited to the contents. The coffee analogue is an organic-cotton or compostable-bag claim crediting the coffee." },
        { "corpus_case": "\"Most cheap versions are made from thin stamped steel.\"", "effect": "false_pass", "note": "The comparative veto tolerates only one word between \"most\" and its verb, so \"Most supermarket blends are organic\" would credit a competitor's property to this product." }
      ]
    },
    {
      "id": "ALS-COFFEE-1.0-CERT-002",
      "question": "Does this page say the coffee is fair trade?",
      "assertion": { "subject": "fair_trade_claim_stated", "operator": "is_stated", "expected": true },
      "tier": "executable",
      "applicability": {
        "applies_when": "the product is roasted coffee offered to consumers in any format",
        "signal": "product_type or title indicates coffee"
      },
      "accepted_evidence": [
        { "surface": "product_description", "form": "an explicit scheme claim naming the certified counterparty", "example": "Fairtrade certified beans from a co-operative in Huila." },
        { "surface": "structured_data", "form": "the same statement inside the JSON-LD product description" },
        { "surface": "product_faq", "form": "the same statement in FAQ structured data" }
      ],
      "insufficient_evidence": [
        { "form": "lowercase generic \"fair trade\", \"fairly traded\", \"fair trade principles\"", "why_not": "These sit outside every scheme, and their lexical closeness to the certified mark is the whole problem: a reader cannot tell a scheme claim from a sentiment." },
        { "form": "\"we believe fair trade should be the industry standard\"", "why_not": "An aspiration about the industry is not a claim about this product, and the engine currently credits it — a pinned corpus defect that makes this the least reliable executable entry in the standard." },
        { "form": "a Fair Trade USA seal treated as the same thing as the FAIRTRADE Mark", "why_not": "They are different schemes with different standards, different marks and different registers, and one of the two registers is behind a login, so conflating them launders the unverifiable one." },
        { "form": "a co-operative's certification identifier presented as the roaster's", "why_not": "The co-operative's certification is genuine and the inference is wrong; the mark on a consumer pack requires a licence held by the brand, which is a separate arrangement." },
        { "form": "a rendered scheme logo with no identifier", "why_not": "A logo image is not page text, resolves to nothing, and is the easiest element on a page to copy." },
        { "form": "\"we pay above the market price\" or \"direct trade\"", "why_not": "These are real trade practices with no scheme, no definition and no register, so they are self-declared and are routinely substituted for a scheme claim." },
        { "form": "a mass-balance or sourcing-programme variant read as product certification", "why_not": "A certificate-holder record cannot establish what fraction of the coffee in a given bag is certified, so a sourcing-programme claim answers a different question." }
      ],
      "conflict_rules": [
        { "when": "a scheme claim appears only in a review quote or a customer question", "resolution": "a customer's words are not the store's statement and must not satisfy the assertion", "precedence": ["product_description", "product_faq"] },
        { "when": "two different schemes are named on one page", "resolution": "record both as stated; the standard does not rank schemes or resolve which applies to this lot" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "structured_data", "product_faq"],
      "registry": {
        "resolvable": true,
        "register_name": "FLOCERT Fairtrade Customer Search",
        "operator": "FLOCERT, the Fairtrade International certification body",
        "lookup_key": "a FLO ID or the certified organisation's exact legal name",
        "lookup_method": "A free public search browsable by certification status, product, country, function or keyword. Confirmed live and free by an independent verification pass, with the full certified-customer list behind a login. No public API or bulk download. Note that Fair Trade USA, a different scheme, has no free public certificate lookup at all — its authoritative search is behind a partner-portal login, confirmed directly.",
        "resolves_to_level": "operation",
        "public_free": true,
        "machine_queryable": false,
        "engine_can_perform": false,
        "notes": "Consumer packs and product pages essentially never publish a FLO ID, so even with a register the claim is detect-only in practice."
      },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "40-75%",
        "in_target_band": true,
        "reasoning": "Scheme claims are less common than organic in specialty coffee, where direct-trade language often replaces them, but the engine's dictionary also matches the generic lowercase phrase, so the pass condition is much broader than the scheme question. The band reflects both effects pulling in opposite directions.",
        "measured": false
      },
      "consumer_note": "There are several different fair-trade schemes and one generic phrase that belongs to none of them, so the useful question is which scheme is named and who is certified under it. One of the two main schemes publishes a free searchable register; the other keeps its authoritative lookup behind a login, so a claim under it cannot be checked from outside.",
      "merchant_remediation": "Name the scheme exactly, name the certified counterparty, and publish the scheme identifier where you hold one, so that a reader can resolve the claim in the scheme's own register instead of relying on a logo.",
      "grounding": {
        "demand_basis": ["certification_body_material", "consumer_buying_guide", "trade_body_definition"],
        "citations": [
          { "source": "Fairtrade International, traceability in Fairtrade supply chains", "url": "https://www.fairtrade.net/en/why-fairtrade/how-we-do-it/how-does-the-label-work/traceability-in-fairtrade-supply-chains.html", "kind": "certification_body", "establishes": "that all Fairtrade coffee is fully physically traceable while cocoa, tea, sugar and juices may use mass balance, and that certified producers and traders are distinct from licensees who put the mark on a consumer pack" },
          { "source": "FLOCERT Fairtrade Customer Search", "url": "https://www.flocert.net/fairtrade-customer-search/", "kind": "certification_body", "establishes": "that a free public search of certified organisations exists and is browsable by status, product, country and function, confirmed live by an independent verification pass" },
          { "source": "Fair Trade USA Partner Portal search", "url": "https://partner.fairtradecertified.org/partners/search", "kind": "certification_body", "establishes": "that the authoritative status lookup for the other main scheme renders a login screen, confirmed by direct fetch, so a claim under it cannot be resolved by any outside reader or automated check" }
        ],
        "refutation": {
          "challenged": "Whether shoppers ask this at all, and whether treating two different schemes as one interchangeable claim is defensible.",
          "verdict": "narrowed",
          "resolution": "The refuting pass confirmed shoppers do buy certified coffee and search for what fair trade means, while certificate auditing is trade behaviour. It also found that treating the two schemes as one silently downgrades the verifiable scheme and launders the unverifiable one. The entry now separates the schemes explicitly in its evidence rules and registry block, and its pass_means refuses any scheme conclusion."
        }
      },
      "binding": {
        "req_kind": "claim",
        "claim": "fair_trade",
        "label": "A fair-trade scheme claim is stated in readable text",
        "passing_states": ["pass_evidenced"]
      },
      "adversarial": {
        "attack": "A page reading \"We believe fair trade should be the industry standard, and we are working toward it\" passes the assertion today, so a seller who has explicitly told the buyer it is NOT certified is recorded as having stated the claim.",
        "outcome": "enriched_insufficient_evidence",
        "resolution": "This attack succeeds against the engine, not merely against the wording: it is a pinned corpus defect. The entry names the aspiration form as insufficient, declares the corpus case in known_gaps, and states in pass_means that a pass establishes only that matching text exists. This is the entry a reader should trust least.",
        "residual_risk": "Until the pinned aspiration defect is closed, an explicit denial of certification satisfies this assertion. That is the worst residual risk in the standard and it is the reason this entry's pass_means is worded more defensively than any other."
      },
      "pass_means": {
        "establishes": "That readable product text on this page contains a fair-trade phrase of some form, quoted verbatim where a clean sentence exists.",
        "does_not_establish": "That any scheme certified anyone, which scheme is meant, that the seller holds a licence, or that the phrase is a claim rather than an aspiration or a comparison."
      },
      "known_gaps": [
        { "corpus_case": "\"We believe fair trade should be the industry standard.\"", "effect": "false_pass", "note": "The single most damaging collision in this standard: an aspiration, and in context often a denial, is credited as a stated claim. Pinned open in the corpus." },
        { "corpus_case": "\"Love that it's fragrance-free!\" — a customer in Portland.", "effect": "false_pass", "note": "Review quotes credited as the store's statement, which applies to every claim row." },
        { "corpus_case": "\"A gift bundle of our house blends.\" with the claim phrase in shipping-policy chrome", "effect": "false_pass", "note": "Claim rows accept the shipping-policy surface; being fixed concurrently." }
      ]
    },
    {
      "id": "ALS-COFFEE-1.0-SOURCE-001",
      "question": "Is this coffee from one place, or is it a blend?",
      "assertion": { "subject": "single_origin_claim_stated", "operator": "is_stated", "expected": true },
      "tier": "executable",
      "applicability": {
        "applies_when": "the product is roasted coffee offered to consumers in any format",
        "signal": "product_type or title indicates coffee"
      },
      "accepted_evidence": [
        { "surface": "product_description", "form": "an explicit single-origin claim with a named place at region level or finer", "example": "Single origin from one farm in Huila, Colombia." },
        { "surface": "structured_data", "form": "the same statement inside the JSON-LD product description" },
        { "surface": "product_title", "form": "the claim in the product title where the title also names the place" }
      ],
      "insufficient_evidence": [
        { "form": "\"single origin: Ethiopia\" or any country-only claim", "why_not": "A country with dozens of non-comparable growing zones is true and uninformative; the minimum non-misleading content is a place specific enough that a buyer could ask about it." },
        { "form": "\"100% Colombian\"", "why_not": "A national blend of thousands of farms satisfies this exactly; it is a purity claim about a country, not a claim about granularity." },
        { "form": "a single-origin claim on a page that names two or more regions", "why_not": "The label and the content contradict each other, and a keyword check passes it because the phrase is present." },
        { "form": "\"direct trade\", \"relationship coffee\", \"farm direct\"", "why_not": "These are sourcing-relationship claims routinely substituted for granularity claims, and they say nothing about how many places the coffee came from." },
        { "form": "\"single farm\" where the named entity is a washing station", "why_not": "A station buying cherry from hundreds of smallholders is one site rather than one farm, so the words overstate the granularity by an order of magnitude." },
        { "form": "\"our single origin range\" or a collection-level statement", "why_not": "A statement about the seller's catalogue is not a statement about this product, and the engine cannot tell the two apart." }
      ],
      "conflict_rules": [
        { "when": "the title says single origin and the description names a blend of countries", "resolution": "record the contradiction; the standard reports that the page disagrees with itself rather than choosing a side", "precedence": ["product_description", "product_title"] },
        { "when": "the seller publishes its own definition of single origin elsewhere on the site", "resolution": "a site-level definition does not change what this page states; evidence is read from product surfaces only" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "structured_data", "product_title"],
      "registry": { "resolvable": false, "engine_can_perform": false, "notes": "No body defines single origin, and no register records origin granularity for a retail lot." },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "40-75%",
        "in_target_band": true,
        "reasoning": "Blends are at least as common as single-origin lots in retail coffee, and blends will correctly fail, but the engine's dictionary also matches \"single estate\" and \"single farm\" and will pass any sentence containing them regardless of subject. The band is wide because the pass condition is looser than the question.",
        "measured": false
      },
      "consumer_note": "Single origin has no agreed definition, so it can mean one farm or one country, and those are very different purchases. The useful check is whether a place is named at region level or finer, because a country name alone tells you almost nothing about what is in the bag.",
      "merchant_remediation": "State the granularity and the named entity at that level — region and municipality for a regional lot, the farm or estate name for a single-farm lot, or the co-operative and the number of contributing producers for an aggregated lot — rather than the phrase alone.",
      "grounding": {
        "demand_basis": ["consumer_buying_guide", "trade_body_definition", "comparison_guide_convention"],
        "citations": [
          { "source": "Coffee & Conservation, independent coffee certification and sourcing reference", "url": "https://www.coffeehabitat.com/certification-guide/", "kind": "consumer_guide", "establishes": "that long-running independent consumer reference material exists to explain what coffee sourcing and certification labels do and do not mean, which is written because shoppers cannot read the labels unaided" },
          { "source": "ISO 3509 coffee and coffee products vocabulary, as summarised in trade reference material", "url": "https://www.iso.org/standard/23653.html", "kind": "trade_body", "establishes": "that the international coffee vocabulary defines processing classes but contains no definition of single origin, single estate or microlot, so those terms resolve against no external definition" }
        ],
        "refutation": {
          "challenged": "Whether single-origin granularity is a shopper question or a specialty-trade preoccupation, given that the supporting sources mostly define terms.",
          "verdict": "narrowed",
          "resolution": "The refuting pass placed the specialty-provenance tier as largely trade-invented and cited only glossaries and importer guides for it, warning that a source defining a term is not evidence anyone asks. The narrower shopper question — one place or a blend — survives, so this entry was kept while the finer provenance questions (variety, elevation, lot identity, origin grade, cupping score) were demoted to advisory or dropped and recorded in GROUNDING.md."
        }
      },
      "binding": {
        "req_kind": "claim",
        "claim": "single_origin",
        "label": "A single-origin claim is stated in readable text",
        "passing_states": ["pass_evidenced"]
      },
      "adversarial": {
        "attack": "A blend page reading \"Unlike our single origin lots, this blend is built for milk\" passes the assertion, because the phrase is present and the comparative veto tolerates only one word between the contrast marker and its verb — so a sentence whose whole purpose is to say this is NOT single origin is credited as stating that it is.",
        "outcome": "enriched_insufficient_evidence",
        "resolution": "Collection-level and comparative uses are named as insufficient and the shared comparative-veto defect is declared in known_gaps. The engine's claim dictionary cannot be narrowed from a standard, so the limit is published.",
        "residual_risk": "Any sentence containing the phrase passes, including one that contrasts this product against the seller's single-origin range. The inverse also holds: a genuine single-origin lot that names only a farm without using the phrase fails."
      },
      "pass_means": {
        "establishes": "That readable product text on this page contains a single-origin phrase, quoted verbatim where a clean sentence exists.",
        "does_not_establish": "The granularity of the origin, that a place is named at all, that the claim is not contradicted elsewhere on the page, or that the sentence is about this product rather than the seller's range."
      },
      "known_gaps": [
        { "corpus_case": "\"Most cheap versions are made from thin stamped steel.\"", "effect": "false_pass", "note": "The comparative veto in subject.ts tolerates exactly one word between \"most\" and its verb, so two-word noun phrases walk through. The coffee analogue credits a contrast against the seller's own other products." },
        { "corpus_case": "\"Love that it's fragrance-free!\" — a customer in Portland.", "effect": "false_pass", "note": "Review quotes credited as the store's statement." }
      ]
    },
    {
      "id": "ALS-COFFEE-1.0-IDENT-001",
      "question": "Can a shopping assistant match this exact bag to a catalogue entry?",
      "assertion": { "subject": "product_identifier_published", "operator": "is_present", "expected": true },
      "tier": "executable",
      "applicability": {
        "applies_when": "the product page publishes readable Product structured data",
        "does_not_apply_when": ["the page markup could not be read, which the engine reports as requiring store access rather than as an absence"],
        "signal": "presence of a JSON-LD Product node"
      },
      "accepted_evidence": [
        { "surface": "structured_identifier", "form": "a GTIN in JSON-LD whose check digit validates after separators are stripped, or an MPN that is not a placeholder" }
      ],
      "insufficient_evidence": [
        { "form": "a placeholder value such as N/A, TBD, PLACEHOLDER or YOUR-MPN-HERE, in any punctuated or suffixed form", "why_not": "A merchant filling a required field with nothing is how these values arise, and a value that identifies nothing cannot do the job the row promises." },
        { "form": "an all-zero GTIN", "why_not": "All zeros satisfies the check-digit arithmetic and identifies no product, so the arithmetic alone is not a sufficient test." },
        { "form": "a value with the right length and a wrong check digit", "why_not": "A mistyped or invented identifier resolves to nothing in any catalogue, so length is not evidence of validity." },
        { "form": "an internal SKU published in the GTIN field", "why_not": "A seller-private stock code is not a global identifier and cannot match this product to any external catalogue entry." },
        { "form": "an identifier stated in prose rather than in structured data", "why_not": "The engine reads identifiers only from structured data, and prose identifiers are not machine-consumable in the way a shopping assistant needs." }
      ],
      "conflict_rules": [
        { "when": "the GTIN is invalid but a real MPN is present", "resolution": "the row passes on the MPN alone, and the engine names which identifier it read", "precedence": ["structured_identifier"] },
        { "when": "different variants carry different barcodes", "resolution": "the engine reads the product-level node only; per-variant identity is a known limitation published as a blocked entry" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["structured_identifier"],
      "registry": { "resolvable": false, "engine_can_perform": false, "notes": "A GTIN is allocated under a global numbering system, but no free public register resolves an arbitrary GTIN to a product record, so the engine validates form rather than resolving identity." },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "55-85%",
        "in_target_band": true,
        "reasoning": "Small roasters overwhelmingly sell without barcodes and Shopify does not require one, so most coffee pages should fail, while packaged-goods sellers reaching grocery channels will have them. The band is high and the upper bound is set at the target limit because a rate above it would carry little information.",
        "measured": false
      },
      "consumer_note": "This is the field that lets an assistant tell your bag apart from a similarly-named one, and it is why searching by product name sometimes surfaces the wrong seller. You can look for it yourself in the page source, though most small roasters publish none.",
      "merchant_remediation": "Publish a valid GTIN or a real manufacturer part number in the Product structured data, and never fill the field with a placeholder, because an unusable value is worse than an absent one for a machine consumer.",
      "grounding": {
        "demand_basis": ["comparison_guide_convention", "retailer_faq_pattern", "trade_body_definition"],
        "citations": [
          { "source": "Google Merchant Center product data specification", "url": "https://support.google.com/merchants/answer/6324461", "kind": "retailer_help_centre", "establishes": "that the dominant product-feed specification treats a global trade item number as the field that identifies a product to an automated consumer, which is what makes its absence a machine-buying defect rather than a cosmetic one" },
          { "source": "GS1 general specifications overview", "url": "https://www.gs1.org/standards/barcodes-epcrfid-id-keys/gs1-general-specifications", "kind": "trade_body", "establishes": "that a global trade item number is allocated under a defined numbering system with a computed check digit, which is the basis for validating a published value rather than accepting any digit string" }
        ],
        "refutation": {
          "challenged": "Whether shoppers ask this at all, since a buyer does not read structured data.",
          "verdict": "narrowed",
          "resolution": "Shoppers do not ask it in these words, and the entry no longer claims they do — its demand basis is machine-consumer convention rather than buyer community evidence. It is retained because the whole premise of the product is that assistants read these pages, and because the assertion is structural and cheap to check. Its consumer_note is written to explain the consequence a shopper does experience."
        }
      },
      "binding": {
        "req_kind": "identifiers",
        "label": "A product identifier is published in structured data",
        "passing_states": ["pass_evidenced"]
      },
      "adversarial": {
        "attack": "A seller publishes the same valid GTIN across every size and grind of a coffee, so the identifier validates, the row passes, and an assistant matching on it retrieves the wrong bag every time except one.",
        "outcome": "survived_unchanged",
        "resolution": "No change was made, because the assertion is deliberately about publication rather than uniqueness and its pass_means already refuses the identity conclusion.",
        "residual_risk": "A syntactically valid identifier that is duplicated across variants, or that belongs to a different product entirely, passes this assertion. The engine validates form and cannot resolve identity, and no free public register would let it, so this cannot be closed by any change to the standard."
      },
      "pass_means": {
        "establishes": "That the page publishes a structurally plausible product identifier that is not a placeholder and, for a GTIN, has a valid check digit.",
        "does_not_establish": "That the identifier is correct, unique to this product, allocated to this seller, or resolvable to any catalogue record anywhere."
      },
      "known_gaps": [],
      "notes": "This entry passes publicly and regresses the moment a merchant connects their store: the authenticated snapshot sets the page-markup field to null, so the row returns requires_store_access for a store we have access to, while the barcode sits in the synced catalog. Recorded as ENGINE_GAPS G-07."
    },
    {
      "id": "ALS-COFFEE-1.0-DELIV-001",
      "question": "When will this actually be sent to me?",
      "assertion": { "subject": "delivery_window_stated", "operator": "is_stated", "expected": true },
      "tier": "executable",
      "applicability": {
        "applies_when": "the product is physically shipped to the buyer",
        "signal": "any purchasable physical coffee product"
      },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a stated dispatch or delivery window with a number and a unit", "example": "Orders ship within 2 business days." },
        { "surface": "product_faq", "form": "the same statement in FAQ structured data" },
        { "surface": "shipping_policy", "form": "the same statement in the publicly readable shipping policy" }
      ],
      "insufficient_evidence": [
        { "form": "\"free shipping\" or a shipping price", "why_not": "Price is not speed, and crediting it was the live false positive that caused the engine's entire evidence-validation layer to be written." },
        { "form": "\"fast shipping\", \"ships fast\", \"quick dispatch\"", "why_not": "An adjective with no number and no unit states no window a buyer or a machine can act on." },
        { "form": "a returns window such as \"returns accepted within 30 business days\"", "why_not": "A returns period answers a different question, and the engine currently credits it as a delivery window — a pinned corpus defect this entry inherits." },
        { "form": "\"roasted to order\" or \"always freshly roasted\"", "why_not": "These describe the workflow rather than the latency and are compatible with a single weekly roast day that adds days before dispatch." },
        { "form": "a transit estimate such as \"delivered in 3-5 days\" with no handling time", "why_not": "Transit alone omits the handling component, which is the part that varies most between roasters and the part a roast-to-order operation controls." },
        { "form": "a delivery estimate shown only in the cart or after a postcode is entered", "why_not": "It is not on the product page, so a pre-purchase reader and an automated check cannot see it." }
      ],
      "conflict_rules": [
        { "when": "the product page and the shipping policy state different windows", "resolution": "the engine reports the first supporting sentence it finds and names its surface; the standard records that the page disagrees with the policy", "precedence": ["product_description", "product_faq", "shipping_policy"] },
        { "when": "the shipping policy could not be read", "resolution": "report that the surface was not inspectable rather than that no window is published — the difference between a finding and an accusation" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "product_faq", "shipping_policy"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "50-80%",
        "in_target_band": true,
        "reasoning": "The engine has measured this row failing for about seventy-one per cent of stores in a general sample, which sits inside this band; coffee may differ in either direction because roast-to-order sellers discuss timing more than average while also being the least likely to commit to a number. The band is anchored on a real measurement of a different population, which is the strongest basis any prediction in this standard has.",
        "measured": false
      },
      "consumer_note": "For coffee the handling time matters more than the courier, because a bag can sit for days waiting for the next roast. Look for a stated dispatch window with a number in it, and treat a transit estimate or a free-shipping badge as answering a different question.",
      "merchant_remediation": "State a dispatch window with a number and a unit on the product page or in the shipping policy, for example that orders ship within two business days, and state it separately from courier transit time.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "documented_complaint_pattern", "consumer_buying_guide"],
        "citations": [
          { "source": "EU Consumer Rights Directive 2011/83/EU, Article 6(1)", "url": "https://eur-lex.europa.eu/eli/dir/2011/83/oj/eng", "kind": "legal_instrument", "establishes": "that for a distance contract the trader must give the time by which it undertakes to deliver the goods before the consumer is bound, which is a genuine pre-contract web-page duty rather than a package-labelling rule" },
          { "source": "US FTC Mail, Internet, or Telephone Order Merchandise Rule, 16 CFR 435.2", "url": "https://www.ecfr.gov/current/title-16/chapter-I/subchapter-D/part-435", "kind": "regulator", "establishes": "that a seller must have a reasonable basis for a stated shipment time and must ship within thirty days where no time is stated, which makes the stated window a regulated representation in advertising rather than an optional courtesy" },
          { "source": "Internal measurement recorded in src/server/productTest.ts", "url": "https://github.com/", "kind": "internal_measurement", "establishes": "that this requirement failed for about seventy-one per cent of stores in the engine's own production sample, which is the only measured discrimination figure available to anchor a prediction in this standard" }
        ],
        "refutation": {
          "challenged": "Whether the commercial-terms mandates cited here are genuine web-page duties or, like the food-labelling rules, package-only obligations borrowed to lend authority.",
          "verdict": "survived",
          "resolution": "The refuting pass drew this distinction explicitly and found the commercial-terms instruments — the Consumer Rights Directive, the FTC order rule, price-indication and negative-option rules — genuinely are web-page and advertising obligations, in contrast to the food-labelling rules it corrected elsewhere in this standard."
        }
      },
      "binding": {
        "req_kind": "delivery",
        "label": "A dispatch or delivery window is stated",
        "passing_states": ["pass_evidenced"]
      },
      "adversarial": {
        "attack": "A shipping policy reading \"Returns are accepted within 30 business days of receipt\" passes the assertion, so a store that publishes no delivery window at all is recorded as having stated one, quoting its returns policy as the proof.",
        "outcome": "enriched_insufficient_evidence",
        "resolution": "The returns-window form is named as insufficient and the pinned corpus case is declared. The engine's timing vocabulary is closed and cannot be narrowed from a standard, so the defect is published rather than fixed.",
        "residual_risk": "Any sentence containing a business-days phrase and a digit may satisfy this row regardless of subject, and negation coordination across a comma also defeats the denial guard, so an explicit refusal to commit to a window can pass."
      },
      "pass_means": {
        "establishes": "That readable text on a product surface or the public shipping policy states a dispatch or delivery interval with a number.",
        "does_not_establish": "That the interval is honoured, that it covers handling as well as transit, that it applies to this product rather than to orders generally, or that the interval is about delivery rather than returns."
      },
      "known_gaps": [
        { "corpus_case": "\"Returns are accepted within 30 business days of receipt.\"", "effect": "false_pass", "note": "A returns window credited as a delivery window. Pinned open, and coffee shipping policies routinely place both in the same document." },
        { "corpus_case": "\"We do not offer weekend pickup, or overnight shipping.\"", "effect": "false_pass", "note": "Negation does not reach past the comma, so the second conjunct of a denial reads as a stated delivery speed." },
        { "corpus_case": "a denial, then a colon, then a delivery window — the ordinary FAQ and spec-label shape", "effect": "false_pass", "note": "A colon is an unconditional clause boundary, so any colon between the negator and the term resets the clause and the denial reads as a stated delivery speed. The corpus records this case with the assurance verb the claim linter forbids, which is why it is described here rather than quoted." }
      ],
      "notes": "This is one of two requirement kinds that pass evidence to the matcher without first filtering sentences the claim linter would refuse, so a shipping policy containing the linter's forbidden assurance word can return the merchant's ENTIRE report as unreachable. Coffee raises the odds because freshness and delivery assurance language is central to the category. Recorded as ENGINE_GAPS G-08."
    },
    {
      "id": "ALS-COFFEE-1.0-PRICE-001",
      "question": "What does this cost?",
      "assertion": { "subject": "price_readable", "operator": "less_than", "expected": true },
      "tier": "not_discriminating",
      "applicability": { "applies_when": "any purchasable coffee product", "signal": "a readable offer price exists" },
      "accepted_evidence": [
        { "surface": "variant_price", "form": "a readable variant price, which the platform exposes on essentially every product" }
      ],
      "insufficient_evidence": [
        { "form": "a price with no net weight beside it", "why_not": "An eighteen-dollar bag could be ten ounces or twelve, a twenty per cent difference invisible to any comparison, so a bare price does not answer what the coffee costs." },
        { "form": "a strikethrough or reference price", "why_not": "A price the seller never charged is a comparison device rather than the cost of this purchase, and price-indication rules target exactly that." },
        { "form": "a headline price that is the subscription rate", "why_not": "Where a recurring option is preselected and cheaper, the most prominent number on the page is a recurring commitment rather than the one-off cost." }
      ],
      "conflict_rules": [
        { "when": "several variants carry different prices", "resolution": "the engine reads the lowest readable price across variants, which is not the price of any particular offer" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["variant_price"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "0-5%",
        "in_target_band": false,
        "reasoning": "The engine has measured a price requirement failing for zero of thirteen stores, because a price is exposed on essentially every platform product. A row that passes for everyone carries exactly as little information as one that fails for everyone, so this question is published and deliberately not run. It is the canonical zero-information assertion and the reason this tier exists.",
        "measured": false
      },
      "consumer_note": "The price is always the easiest thing to find on a coffee page and almost never the thing that is missing. What is frequently missing is the weight beside it, which is what makes the price mean something, and that is asked separately.",
      "merchant_remediation": "Nothing to remediate: the platform exposes a price on every product. The useful work is stating the net quantity for each purchasable size so the price can be compared.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "consumer_buying_guide"],
        "citations": [
          { "source": "EU Directive 98/6/EC on the indication of prices", "url": "https://eur-lex.europa.eu/eli/dir/1998/6/oj/eng", "kind": "legal_instrument", "establishes": "that the selling price and, for products sold by mass, the unit price must both be indicated to consumers, which is why the interesting assertion in this class is the unit price rather than the price" },
          { "source": "Internal measurement recorded in src/server/productTest.ts", "url": "https://github.com/", "kind": "internal_measurement", "establishes": "that a price requirement failed for zero of thirteen real stores in the engine's own sample and was documented as carrying the same amount of information as one that failed for all thirteen, namely none" }
        ],
        "refutation": {
          "challenged": "Whether omitting price entirely would look like an oversight in a published standard.",
          "verdict": "narrowed",
          "resolution": "It would, which is why the question is published with its measured zero failure rate rather than dropped. This entry is one of the two cases that forced a fourth tier into the grammar, because the three original tiers could only describe it as untestable, which is false, or as executable, which would be noise."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-STOCK-001",
      "question": "Can I actually buy this right now?",
      "assertion": { "subject": "purchasable_now", "operator": "is_purchasable", "expected": true },
      "tier": "not_discriminating",
      "applicability": { "applies_when": "any coffee product page a buyer can reach", "signal": "availability data in structured data or the variant list" },
      "accepted_evidence": [
        { "surface": "variant_availability", "form": "at least one variant listed as available" },
        { "surface": "structured_data", "form": "a JSON-LD offer availability value indicating stock" }
      ],
      "insufficient_evidence": [
        { "form": "\"in stock\" in prose", "why_not": "Marketing copy is not the availability field a machine consumer reads, and it is frequently left behind when stock changes." },
        { "form": "a pre-order or back-order availability value", "why_not": "The coffee is not immediately purchasable, which for a seasonal lot is a meaningful difference the buyer needs rather than a technicality." },
        { "form": "\"restocked\" or \"new arrival\" badges", "why_not": "These are recency signals rather than availability, and inferring stock from them is how a stale page reads as current." }
      ],
      "conflict_rules": [
        { "when": "structured data and the variant list disagree", "resolution": "the engine reads structured data first and then the variant list, which is the precedence it already documents" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["variant_availability", "structured_data"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "5-20%",
        "in_target_band": false,
        "reasoning": "Sellers routinely hide or unpublish sold-out products, so a page a buyer can reach is usually purchasable. Seasonal micro-lots and pre-order harvest releases give this a real non-zero rate in coffee, but not enough to reach the fifteen per cent floor with confidence, so it is published rather than run. If a later measurement puts it inside the band it should be promoted, and that promotion would be a strengthening change needing no attestation.",
        "measured": false
      },
      "consumer_note": "A coffee page you can reach is usually one you can buy from, so this rarely surprises anyone. The exception worth knowing is a pre-order for a new harvest, which is a real wait rather than a stock quirk.",
      "merchant_remediation": "Expose availability in structured data with a purchasable offer, and mark harvest pre-orders as pre-order rather than as in stock so a machine consumer does not promise immediate dispatch.",
      "grounding": {
        "demand_basis": ["retailer_faq_pattern", "comparison_guide_convention"],
        "citations": [
          { "source": "Google Merchant Center product data specification", "url": "https://support.google.com/merchants/answer/6324448", "kind": "retailer_help_centre", "establishes": "that availability is a required feed attribute with a defined enumeration including preorder and backorder, which is why the distinction between in stock and pre-order is treated as material by machine consumers" }
        ],
        "refutation": {
          "challenged": "Whether this belongs in a standard at all given how rarely it fails.",
          "verdict": "narrowed",
          "resolution": "It is published rather than run, in the same tier as price. The refuting pass did not identify availability as a shopper-driven coffee question, and the entry's demand basis is machine-consumer convention rather than buyer evidence, which is stated rather than dressed up."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-TERMS-001",
      "question": "Can I buy a single bag without signing up for a recurring subscription?",
      "assertion": { "subject": "one_time_purchase_available", "operator": "no_blocking_condition", "expected": true },
      "tier": "not_discriminating",
      "applicability": { "applies_when": "any purchasable coffee product", "signal": "product text is readable" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "the absence of any statement that a subscription is required, which the engine reports as an inference rather than as proof" }
      ],
      "insufficient_evidence": [
        { "form": "\"cancel anytime\", \"no commitment\", \"pause, skip or cancel\"", "why_not": "Every one of these is a statement about exiting a subscription and is fully compatible with there being no one-time option at all, so treating them as reassurance inverts their meaning." },
        { "form": "a bare price with no billing period", "why_not": "Subscription-only pages routinely display a price whose recurrence lives in a preselected radio label or a client-side widget, so a price is not evidence a one-time purchase exists." },
        { "form": "a \"subscribe and save\" badge", "why_not": "It implies a comparison price without establishing that the comparison price is purchasable on its own." },
        { "form": "\"add to cart\" button text", "why_not": "It is identical on subscription-only pages, so it carries no information about the purchase mode." },
        { "form": "the absence of the word subscription in the page source", "why_not": "Subscription selectors are commonly injected client-side, so absence from server-rendered text is not evidence of absence from the page." }
      ],
      "conflict_rules": [
        { "when": "a one-time option is present but disabled or out of stock", "resolution": "the absence-based inference cannot see this at all, which is a limit of the assertion rather than a finding about the store" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "0-10%",
        "in_target_band": false,
        "reasoning": "The engine searches only for explicit requirement phrasings such as \"subscription required\", which almost no page contains, and its own source records that this row therefore returns a passing state for very nearly everyone and would read as a guard that never fires. It is also the only requirement kind that can never produce evidenced proof, only an absence-based inference. Both facts point the same way and the row is published rather than run.",
        "measured": false
      },
      "consumer_note": "Subscription-first selling is common in coffee and the phrase to distrust is \"cancel anytime\", which describes leaving a subscription rather than avoiding one. The check that works is whether a one-time option is selectable and priced before you enter payment details.",
      "merchant_remediation": "State plainly that a one-time purchase is available and make it selectable without preselecting the recurring option, so a buyer does not have to infer the purchase mode from a radio button.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "documented_complaint_pattern"],
        "citations": [
          { "source": "US Restore Online Shoppers' Confidence Act, 15 USC 8403", "url": "https://www.law.cornell.edu/uscode/text/15/8403", "kind": "legal_instrument", "establishes": "that a negative-option feature requires clear and conspicuous disclosure of all material terms before obtaining billing information, which makes default enrolment and undisclosed recurrence a regulated web-page failure rather than a design choice" },
          { "source": "Internal measurement recorded in src/server/productTest.ts", "url": "https://github.com/", "kind": "internal_measurement", "establishes": "that the engine's own source records this row as returning a passing state unless a hard blocker is found, so its failure count is very nearly never non-zero and it would read as a guard that never fires" }
        ],
        "refutation": {
          "challenged": "Whether the subscription class is well grounded at all, given that the research's only coffee-specific demand evidence was an uncited review.",
          "verdict": "narrowed",
          "resolution": "The refuting pass confirmed subscription mechanics as a verified shopper-driven core question on regulatory and search-intent grounds while finding that a complaint statistic the research leaned on could not be verified anywhere, and that the coffee-specific demand evidence was thin. The regulatory grounding is retained, the unverifiable statistic is not cited, and the row is published as not run because the engine's mechanism cannot detect the practice the law targets."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-DECAF-004",
      "question": "Can I buy a decaf version of this same coffee?",
      "assertion": { "subject": "decaf_option", "operator": "option_available", "expected": true },
      "tier": "not_discriminating",
      "applicability": { "applies_when": "the seller offers caffeine choice as an option on this product", "signal": "undecidable_from_public_data" },
      "accepted_evidence": [
        { "surface": "product_options", "form": "a purchasable option value naming the decaffeinated state" }
      ],
      "insufficient_evidence": [
        { "form": "a separate decaf product elsewhere in the catalogue", "why_not": "A different product is not an option on this one, and this assertion can only see the offers attached to the page under test." },
        { "form": "\"decaf available\" in prose", "why_not": "An availability statement is not a selectable option, and a buyer cannot complete the purchase from it." },
        { "form": "the word decaf in a collection handle or tag", "why_not": "Merchant-controlled naming is assertion by labelling rather than evidence, and the engine deliberately never reads tags for category signals." }
      ],
      "conflict_rules": [
        { "when": "decaf is sold as a separate product", "resolution": "this entry fails and that failure is not a defect, which is precisely why the row is published rather than run" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_options"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "85-98%",
        "in_target_band": false,
        "reasoning": "Decaf is almost always a separate product rather than an option on a caffeinated one, because it is a different green lot processed at a different facility. A row failing for nearly everyone is the cruelty-free failure exactly: not false, but irrelevant, identical across unrelated merchants, and enough to make a specific diagnosis read like a template. Published so a reader can see it was considered and rejected on that ground.",
        "measured": false
      },
      "consumer_note": "Decaf is normally a separate coffee rather than a switch on the one you are looking at, because the caffeine is removed from green beans at a specialist facility before roasting. If you want decaf, search for it as its own product.",
      "merchant_remediation": "No remediation is implied. If you do offer the same lot in both states, exposing that as an option helps a buyer, but structuring decaf as a separate product is normal and correct.",
      "grounding": {
        "demand_basis": ["consumer_buying_guide", "buyer_community_evidence"],
        "citations": [
          { "source": "Coffee Intelligence, specialty coffee trade publication", "url": "https://intelligence.coffee/2025/08/whats-happening-with-decaf/", "kind": "trade_press", "establishes": "that decaffeination happens at a small number of specialist facilities on green coffee before roasting, and that US decaf consumption rose from nine to twelve per cent of the market in a year, so demand for decaf is real while it is structurally a separate product" }
        ],
        "refutation": {
          "challenged": "Whether a near-certain failure should appear in a published standard at all.",
          "verdict": "narrowed",
          "resolution": "It appears only in the not-run tier and only because the failure would be misread as a merchant defect. The substantive decaf questions a buyer does ask — which method, and whether a solvent was used — are published separately as blocked, because the engine has no mechanism for them."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-DIET-001",
      "question": "Is this coffee vegan and gluten-free?",
      "assertion": { "subject": "dietary_suitability_claim_stated", "operator": "is_stated", "expected": true },
      "tier": "not_discriminating",
      "applicability": {
        "applies_when": "the product is unflavoured roasted coffee with no added ingredients",
        "does_not_apply_when": ["flavoured coffee, coffee mixes and anything containing a creamer or a flavour system, where the question becomes real and the ingredient and allergen entries apply instead"],
        "signal": "undecidable_from_public_data without an ingredient declaration"
      },
      "accepted_evidence": [
        { "surface": "product_description", "form": "an explicit dietary suitability statement in readable text" }
      ],
      "insufficient_evidence": [
        { "form": "the absence of an ingredients list", "why_not": "Unflavoured coffee is a single-ingredient food, so nothing is expected there and absence is not evidence either way." },
        { "form": "\"natural\" or \"clean\" as a dietary signal", "why_not": "Neither term has a dietary meaning, and neither excludes a flavour carrier that may contain a milk derivative." },
        { "form": "a facility statement such as \"processed in a facility that also handles nuts\"", "why_not": "A facility statement is voluntary precautionary wording rather than a declaration about this product." }
      ],
      "conflict_rules": [
        { "when": "the product is flavoured and a dietary claim is made", "resolution": "the ingredient and allergen entries govern; this entry does not apply and must not be read as covering it" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "80-97%",
        "in_target_band": false,
        "reasoning": "Plain roasted coffee is inherently both vegan and gluten-free, so almost no seller states it and the statement would carry no information if they did. This is the same vacuity an independent pass identified for kosher and non-GMO claims on unflavoured coffee, where a certifying body's own guidance says plain beans need no certification at all. Scoring a null as a trust signal is the failure this tier exists to prevent.",
        "measured": false
      },
      "consumer_note": "Unflavoured roasted coffee contains only coffee, so it is vegan and gluten-free without anyone needing to say so. These questions become real for flavoured coffee, instant mixes and anything containing a creamer, where a flavour system can carry a milk derivative.",
      "merchant_remediation": "No statement is needed for plain coffee. For flavoured coffee, publish the full ingredient declaration and emphasise any allergen, which is a legal requirement rather than a marketing choice.",
      "grounding": {
        "demand_basis": ["certification_body_material", "consumer_buying_guide"],
        "citations": [
          { "source": "Star-K Kosher Certification, Knowing Your Beans: The Kashrus of Coffee", "url": "https://www.star-k.org/articles/articles/keeping-kosher/beverages/1142/knowing-your-beans-the-kashrus-of-coffee/", "kind": "certification_body", "establishes": "that plain roasted coffee beans are inherently acceptable and need no certification because water is the only substance they contact, while all flavoured coffees do need it — a certifier stating that its own mark is uninformative on the plain product" },
          { "source": "Non-GMO Project verification FAQ", "url": "https://www.nongmoproject.org/verification-faq/", "kind": "certification_body", "establishes": "that verification targets ingredients derived from high-risk crops, with corn and soy as the named examples, and that coffee does not appear among them, so the mark is close to non-differentiating on single-ingredient coffee" }
        ],
        "refutation": {
          "challenged": "Whether a question nobody asks about a property that is always true belongs in a published standard.",
          "verdict": "survived",
          "resolution": "The refuting pass independently reached the same conclusion for kosher and non-GMO claims on plain coffee, finding that coffee appears on neither the high-risk nor the monitored-risk crop list. Publishing the question with its reasoning is what stops a later author adding it as an executable trust signal, which is the specific mistake the tier prevents."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-ROAST-001",
      "question": "How dark is this roast?",
      "assertion": { "subject": "roast_level", "operator": "equals_one_of", "expected": ["light", "medium-light", "medium", "medium-dark", "dark"] },
      "tier": "blocked",
      "blocked_by": ["G-03"],
      "applicability": { "applies_when": "the product is roasted coffee", "signal": "product_type or title indicates coffee" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a roast designation drawn from a stated scale, ideally with the scale named" },
        { "surface": "product_options", "form": "a roast level exposed as a product option or specification row" }
      ],
      "insufficient_evidence": [
        { "form": "a roast level with no scale named", "why_not": "Roast vocabulary is vendor-defined and the trade's own body concedes that City, Full City, French and Italian may be too arcane or flexible to be meaningful, so a bare word resolves against nothing." },
        { "form": "\"Italian roast\", \"French roast\", \"Vienna roast\"", "why_not": "These are roast-degree style names that an origin extractor reads as geography, and Italian roast is the canonical false positive for a country-of-origin check." },
        { "form": "\"bold\", \"strong\", \"full-bodied\", \"intensity 11\"", "why_not": "Intensity scales grade roast and body rather than darkness or caffeine, and no scale behind them is published." },
        { "form": "a dark-roast description read as higher caffeine", "why_not": "The inference runs opposite to how coffee is dosed by mass versus volume and is not a stated quantity in either direction." },
        { "form": "an instrumented colour number quoted for the roaster's equipment rather than this lot", "why_not": "A capability figure for a machine is not a measurement of the coffee being sold." }
      ],
      "conflict_rules": [
        { "when": "the option value and the description name different roast levels", "resolution": "record both and report the contradiction; no external definition exists to arbitrate between them" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "product_options"],
      "registry": { "resolvable": false, "engine_can_perform": false, "notes": "An instrumented colour measure exists but is almost never published, and no register records a lot's roast level." },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "20-55%",
        "in_target_band": true,
        "reasoning": "Roast level is very commonly stated in some form, but stating it against a named scale is rare, so the band depends entirely on which of the two the assertion demands. A vocabulary matcher would sit at the low end and a scale requirement at the high end; that choice must be made when the mechanism is built.",
        "measured": false
      },
      "consumer_note": "Of everything printed on a coffee label this is the detail specialty buyers say matters most, and it is also the one with no agreed scale: one roaster's medium is another's medium-dark. Reading the roaster's own scale, where they publish one, is the only way to compare across sellers.",
      "merchant_remediation": "State the roast level and name the scale it is read against, and publish an instrumented colour value where you measure one, so the designation resolves against something other than house convention.",
      "grounding": {
        "demand_basis": ["trade_body_definition", "consumer_buying_guide", "buyer_community_evidence"],
        "citations": [
          { "source": "Specialty Coffee Association", "url": "https://sca.coffee/", "kind": "trade_body", "establishes": "that of all the information given on a coffee label, roast level is the most important to specialty coffee consumers — while the same body concedes that traditional roast names may be too arcane or flexible to be meaningful, which is exactly the tension this assertion has to encode" },
          { "source": "Independent refuting pass, live search-intent retrieval", "url": "https://suggestqueries.google.com/complete/search", "kind": "internal_measurement", "establishes": "that roast level ranks second of ten in the verified shopper-driven core, corroborated across the mainstream trade association and independent consumer studies rather than resting on specialty education material" }
        ],
        "refutation": {
          "challenged": "Whether roast level is a shopper question or a roaster's descriptive habit.",
          "verdict": "survived",
          "resolution": "The refuting pass ranked it second of ten and verified the trade body's own statement that it is the most important label information to specialty consumers. It also verified the body conceding that the traditional names may be meaningless, which is why the assertion is specified as an enumerated value against a named scale rather than as keyword presence."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-GRIND-003",
      "question": "How coarse is the grind, and what is that measured against?",
      "assertion": { "subject": "grind_specification", "operator": "equals_one_of", "expected": ["whole_bean", "coarse", "medium_coarse", "medium", "medium_fine", "fine", "extra_fine"] },
      "tier": "blocked",
      "blocked_by": ["G-03"],
      "applicability": { "applies_when": "the product is sold ground or offers a grind choice", "signal": "a grind option or a grind designation in product text" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a numeric particle-size range, or a named designation accompanied by the scale it is read against" },
        { "surface": "product_options", "form": "a grind designation exposed as an option value" }
      ],
      "insufficient_evidence": [
        { "form": "a bare coarseness word such as medium or coarse", "why_not": "It is a seller-relative label, two published scales disagree about it, and a consumer guide concedes on the record that fine, medium and coarse are neither universally acknowledged nor consistent." },
        { "form": "\"standard grind\", \"regular grind\", \"universal grind\", \"all-purpose\"", "why_not": "This vocabulary names no point on any scale, and the immersion and espresso bands do not overlap, so no single grind can be universal." },
        { "form": "a grinder dial number or click count", "why_not": "Grinder settings are proprietary and are not comparable across grinders or even across units of the same model." },
        { "form": "a brew-method name alone", "why_not": "A method name does not pin a particle size, and the published espresso band alone spans roughly a factor of two." },
        { "form": "a micron figure quoted for the roaster's grinder or for a brewing guide elsewhere on the site", "why_not": "A figure about equipment or a general guide is not a specification of what is in this bag." }
      ],
      "conflict_rules": [
        { "when": "a numeric range and a brew-method recommendation disagree", "resolution": "record the internal contradiction, which is the one thing a machine can check here without an external definition" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "product_options"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "80-97%",
        "in_target_band": false,
        "reasoning": "Almost no retail coffee page publishes a particle size or names the scale behind its grind word, so an assertion demanding either would fail for nearly everyone. That is a reason to specify it carefully rather than to run it as written: the useful executable form is the narrower question of whether a named grind option is purchasable, which is published separately, and this entry records the full question the buyer actually has.",
        "measured": false
      },
      "consumer_note": "Grind size is the strongest single lever on how your coffee tastes and the words for it mean different things at different roasters. Until sellers publish a number or name their scale, matching a grind to your brewer from a page is guesswork.",
      "merchant_remediation": "Publish a particle-size range or a sieve specification for each grind you sell, or at minimum name the scale your designations are read against, so a buyer can map your medium onto their brewer.",
      "grounding": {
        "demand_basis": ["consumer_buying_guide", "buyer_community_evidence", "trade_body_definition"],
        "citations": [
          { "source": "Independent refuting pass, live search-intent retrieval", "url": "https://suggestqueries.google.com/complete/search", "kind": "internal_measurement", "establishes": "that grind-to-brewer match is the strongest verified shopper signal in the corpus, with five of the top ten completions for coffee grind being brewer-specific and a grind size chart ranking first" },
          { "source": "Specialty Coffee Association, coffee standards index", "url": "https://sca.coffee/research/coffee-standards", "kind": "trade_body", "establishes": "that published trade standards cover grinders and brewers but define no retail grind designation vocabulary, so a grind word on a bag resolves against no external definition" }
        ],
        "refutation": {
          "challenged": "Whether an assertion that would fail for nearly every seller is worth publishing.",
          "verdict": "survived",
          "resolution": "It is published as blocked rather than run, and its own discrimination reasoning states the failure rate would be uninformative as written. The refuting pass ranked the underlying question first of ten, so omitting it would leave the strongest shopper signal in the corpus unrepresented in the document."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-DECAF-001",
      "question": "How was the caffeine taken out of this coffee?",
      "assertion": { "subject": "decaffeination_method", "operator": "equals_one_of", "expected": ["swiss_water", "mountain_water", "supercritical_co2", "ethyl_acetate", "methylene_chloride"] },
      "tier": "blocked",
      "blocked_by": ["G-06", "G-03"],
      "applicability": {
        "applies_when": "the product is decaffeinated coffee",
        "does_not_apply_when": ["caffeinated coffee, where the question does not arise"],
        "signal": "undecidable_from_public_data — whether a product is decaf is itself one of the questions being asked, so this entry cannot be gated by the engine and must not fire on caffeinated coffee"
      },
      "accepted_evidence": [
        { "surface": "product_description", "form": "an explicit named process attributed to this product, ideally in a labelled field such as a decaffeination row in a specification block" },
        { "surface": "structured_data", "form": "the same named process inside the JSON-LD product description" }
      ],
      "insufficient_evidence": [
        { "form": "a specification row labelled only \"Process\"", "why_not": "On virtually every coffee page Process names the post-harvest treatment at the mill — washed, natural, honey — and says nothing about decaffeination, so a check keyed on that word reads a drying method as a solvent disclosure. This is the most dangerous near-miss in the entire standard." },
        { "form": "the word decaf or decaffeinated anywhere", "why_not": "It establishes the product class and never the method, and it is the string a title, tag or collection handle is most likely to carry." },
        { "form": "\"gently decaffeinated\", \"our proprietary decaf process\", \"premium decaf\"", "why_not": "These name no process and cannot be checked against anything." },
        { "form": "a method named on an About or FAQ page while this product is silent", "why_not": "Roasters commonly stock more than one decaf origin processed at more than one facility, so a site-level statement does not establish a fact about this lot." },
        { "form": "\"washed decaf\"", "why_not": "This means washed at origin AND decaffeinated by some means; it does not mean the caffeine was removed with water." },
        { "form": "the process named only in a customer review or question block", "why_not": "A buyer's words are not the seller's statement, and the engine correctly refuses review context as evidence." }
      ],
      "conflict_rules": [
        { "when": "a post-harvest process and a decaffeination method both appear", "resolution": "the two are orthogonal and both may be stated; a checker must key on a decaf-scoped label rather than on the bare word process", "precedence": ["product_description", "structured_data"] },
        { "when": "the page names a facility rather than a method", "resolution": "a named processor is stronger evidence than a method word, because it makes the claim checkable by asking one company" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "structured_data"],
      "registry": { "resolvable": false, "engine_can_perform": false, "notes": "No register records which method was used on a retail lot. A regulatory docket resolves whether a solvent remains authorised, which is a fact about the substance and not about any coffee." },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "45-80%",
        "in_target_band": true,
        "reasoning": "Specialty roasters increasingly name the method as a competitive signal while mainstream sellers almost never do, so the band spans two seller populations. Method disclosure is voluntary everywhere, which is the reason the question exists.",
        "measured": false
      },
      "consumer_note": "There is no rule anywhere requiring a seller to say how the caffeine was removed, which is why a consumer-testing organisation tells readers to phone the supplier and ask. The methods differ materially — some use a chlorinated solvent, some an ester, some carbon dioxide, some only water and green coffee extract.",
      "merchant_remediation": "Name the decaffeination process in a labelled field on the product page, distinct from the post-harvest process row, and name the facility where you know it, so a buyer can check by asking one company.",
      "grounding": {
        "demand_basis": ["consumer_buying_guide", "regulatory_requirement", "documented_complaint_pattern"],
        "citations": [
          { "source": "Consumer Reports", "url": "https://www.consumerreports.org/coffee/is-decaffeinated-coffee-bad-for-you/", "kind": "consumer_guide", "establishes": "that there are no labelling rules requiring disclosure of how coffee was decaffeinated, and that consumers are advised to ask the supplier directly — advice written only because the demand exists and the label does not meet it" },
          { "source": "National Geographic, reporting the Clean Label Project campaign", "url": "https://www.nationalgeographic.com/science/article/decaf-coffee-methods-methylene-chloride", "kind": "trade_press", "establishes": "that advocates are actively campaigning for coffee companies to list the decaffeination process on labels, which necessarily means it is not required today" },
          { "source": "Canadian Food Inspection Agency, Canadian Food Compositional Standards", "url": "https://inspection.canada.ca/en/about-cfia/acts-and-regulations/list-acts-and-regulations/documents-incorporated-reference/canadian-food-compositional-standards-0", "kind": "regulator", "establishes": "that a national compositional standard prescribes the common name for decaffeinated coffee and a caffeine ceiling while containing no requirement to declare the extraction solvent or process" }
        ],
        "refutation": {
          "challenged": "Whether decaf method disclosure is a genuine shopper demand or a news-cycle artefact.",
          "verdict": "survived",
          "resolution": "The refuting pass ranked decaf third of ten in the verified shopper-driven core, citing verified consumer-organisation advice to phone the supplier, verified campaign coverage seeking on-label disclosure, and live autocomplete evidence for whether decaf is really decaf. The demand is current and independently corroborated."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-DECAF-002",
      "question": "The page says chemical-free or naturally decaffeinated — what does that actually tell me?",
      "assertion": { "subject": "solvent_free_claim_substantiated", "operator": "equals_one_of", "expected": ["named_non_solvent_method_present", "unsubstantiated"] },
      "tier": "blocked",
      "blocked_by": ["G-06"],
      "applicability": {
        "applies_when": "the page carries a chemical-free, solvent-free or naturally-decaffeinated claim on a decaffeinated product",
        "signal": "undecidable_from_public_data"
      },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a scoped, falsifiable negative tied to a named method, such as a statement that decaffeination used water and green coffee extract only with no chlorinated solvents and no esters" }
      ],
      "insufficient_evidence": [
        { "form": "\"chemical-free\" standing alone", "why_not": "It is compatible with water, carbon dioxide and, on a self-serving reading, an ester process, and it is literally false of all of them, since water and carbon dioxide are chemicals. A regulator's guides treat a free-of claim as deceptive where the substance was never associated with the category." },
        { "form": "\"naturally decaffeinated\" or \"natural decaf\"", "why_not": "This is the established trade euphemism for ethyl acetate, chosen because the compound occurs in fruit while the ester actually used is typically manufactured, so the phrase is compatible with the solvent process a buyer is trying to avoid." },
        { "form": "\"solvent-free\" applied to a water process", "why_not": "Water is the solvent in a water process; the honest claim is that no chemical solvent was added, which is a different and narrower statement." },
        { "form": "\"clean decaf\", \"pure decaf\", \"toxin-free\", \"no nasties\"", "why_not": "These are mood rather than method and name no process at all." },
        { "form": "a registered-trademark symbol beside a chemical-free phrase", "why_not": "A trademark examination is not substantiation of a factual claim, yet the symbol reads to a shopper and to a naive check as validation." },
        { "form": "the absence of the phrase", "why_not": "Silence is not evidence a solvent was used, so this assertion must never be inverted into an accusation." }
      ],
      "conflict_rules": [
        { "when": "a chemical-free phrase appears with no named method anywhere on the page", "resolution": "the claim fails rather than passes; a free-of claim with no method is the shape this entry exists to refuse" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "60-90%",
        "in_target_band": false,
        "reasoning": "Where the phrase appears at all it usually appears without a named method, so an assertion demanding substantiation would fail for most pages carrying the claim. The band is high because this entry is a refusal rule rather than a coverage rule, and its value is in denying a pass rather than in producing one.",
        "measured": false
      },
      "consumer_note": "Chemical-free is not a category any regulator recognises, and naturally decaffeinated is the trade's usual wording for an ester solvent process. If you want assurance that no chemical solvent was added, look for a named water or carbon-dioxide process rather than for either phrase.",
      "merchant_remediation": "Replace unscoped free-of wording with the named method and a scoped negative — for example that no chlorinated solvents and no esters were used — which is both checkable and defensible.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "consumer_buying_guide"],
        "citations": [
          { "source": "US FTC Green Guides, 16 CFR 260.9", "url": "https://www.law.cornell.edu/cfr/text/16/260.9", "kind": "regulator", "establishes": "that it is deceptive to misrepresent that a product is free of a substance, and that a literally true free-of claim can still deceive where the named substance was never associated with the product category — which is precisely the shape of a chemical-free food claim" },
          { "source": "Consumer Reports", "url": "https://www.consumerreports.org/coffee/is-decaffeinated-coffee-bad-for-you/", "kind": "consumer_guide", "establishes": "that naturally decaffeinated does not assure the absence of a synthetic solvent, because producers use the term for ethyl acetate on the grounds that it occurs in fruit while the compound used is typically produced synthetically" }
        ],
        "refutation": {
          "challenged": "Whether a standard should adjudicate a marketing phrase at all rather than simply ignoring it.",
          "verdict": "survived",
          "resolution": "Ignoring it is what allows it to pass. Both the research and the refuting pass identified chemical-free as high-frequency, high-salience text that a keyword matcher will credit as a method assertion, so the standard's contribution here is an explicit refusal rule rather than a coverage rule."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-DECAF-003",
      "question": "How much caffeine is actually left in this decaf?",
      "assertion": { "subject": "residual_caffeine", "operator": "matches_format", "expected": "a quantity with a stated basis" },
      "tier": "blocked",
      "blocked_by": ["G-03", "G-06"],
      "applicability": { "applies_when": "the product is decaffeinated coffee", "signal": "undecidable_from_public_data" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a residual-caffeine figure with its basis stated — a percentage of original caffeine, or a mass on a stated dry-weight or per-serving basis with the dose and volume named" }
      ],
      "insufficient_evidence": [
        { "form": "\"caffeine free\" or \"naturally caffeine-free\"", "why_not": "Decaffeinated coffee is never caffeine free under any construction, and a mainstream trade body puts the residue in the low milligrams per cup." },
        { "form": "\"99.9% caffeine free\" with no basis", "why_not": "A percentage of what — the original caffeine, the bean mass, the brewed cup — changes the meaning by orders of magnitude, and the number looks well-formed either way." },
        { "form": "a milligram figure with no dose, water volume or brew method", "why_not": "Without the inputs the number is not reproducible by the buyer and states nothing checkable." },
        { "form": "a percentage threshold quoted as a legal requirement", "why_not": "There is no US standard of identity for decaffeinated roasted coffee and the commonly quoted removal figure originates with a trade association rather than a regulation, so citing it as law is wrong." },
        { "form": "\"meets FDA standards\"", "why_not": "The applicable federal provision caps a solvent residue rather than caffeine content, so the phrase reassures about a different question than the one asked." },
        { "form": "an EU threshold for coffee extract applied to whole beans", "why_not": "That limit governs a different product, and applying it to roasted beans is a jurisdiction and product-scope error." }
      ],
      "conflict_rules": [
        { "when": "a percentage and a milligram figure both appear", "resolution": "record both with their bases; the standard reports the stated figures rather than converting between them" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "85-98%",
        "in_target_band": false,
        "reasoning": "Almost no retail decaf page publishes a residual figure with a basis, so this would fail for nearly everyone. It is published as blocked because the question is real and current, not because the assertion would be worth running as written.",
        "measured": false
      },
      "consumer_note": "Decaf is not caffeine free, and how much remains varies. Any figure without its basis — per what dose, in what volume, measured how — cannot be reproduced or compared, which is why most stated numbers tell you nothing.",
      "merchant_remediation": "If you have a laboratory result, publish the residual caffeine with its basis and the analysis date; otherwise state plainly that decaffeinated coffee retains a small amount rather than implying none.",
      "grounding": {
        "demand_basis": ["consumer_buying_guide", "buyer_community_evidence"],
        "citations": [
          { "source": "National Coffee Association", "url": "https://www.aboutcoffee.org/", "kind": "trade_body", "establishes": "that decaffeinated coffee retains a small measurable quantity of caffeine rather than none, which is the fact that makes caffeine-free wording on a decaf page false" },
          { "source": "Independent refuting pass, live search-intent retrieval", "url": "https://suggestqueries.google.com/complete/search", "kind": "internal_measurement", "establishes": "that whether decaf is really decaf, whether it is caffeine free, and whether it is safe in pregnancy are all live autocomplete completions, placing residual caffeine inside the verified shopper-driven decaf cluster" }
        ],
        "refutation": {
          "challenged": "Whether the residual-caffeine question strays into health territory the standard has excluded.",
          "verdict": "narrowed",
          "resolution": "It does adjoin it — the refuting pass found seven of ten decaf completions are health questions. The entry is therefore scoped strictly to whether a quantity with a basis is published, and it makes no assertion about physiological effect or suitability for anyone, which stays on the safe side of the exclusion recorded in out_of_scope."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-FRESH-001",
      "question": "When was this roasted?",
      "assertion": { "subject": "roast_date", "operator": "matches_format", "expected": "an unambiguous calendar date bound to the act of roasting" },
      "tier": "blocked",
      "blocked_by": ["G-02"],
      "applicability": { "applies_when": "the product is roasted coffee sold by mass", "signal": "product_type or title indicates coffee" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "an explicit calendar date bound on the page to roasting, in an unambiguous form", "example": "Roasted on 2026-07-20." },
        { "surface": "structured_data", "form": "the same date inside the JSON-LD product description prose" }
      ],
      "insufficient_evidence": [
        { "form": "a roast LEVEL such as \"Roast: Medium\"", "why_not": "It contains the token roast next to a value and is the single most likely false positive for any automated check, because roast level is commonly exposed as an option or specification row while the date is not." },
        { "form": "\"freshly roasted\", \"roasted weekly\", \"small-batch roasted\"", "why_not": "Adjectives with no date, and unfalsifiable on the page." },
        { "form": "\"roast date printed on every bag\"", "why_not": "This is an assertion about the bag rather than a date, and it is exactly the shape that defeats a check looking for the token roast date." },
        { "form": "a best-before, best-by or use-by date", "why_not": "A durability estimate is not an age, and a long durability date coexisting with no roast date is the pattern buyers complain about." },
        { "form": "a packed-on or packaged-on date", "why_not": "Packing lags roasting, and lags it by policy in rested-then-packed and gas-flushed operations." },
        { "form": "a harvest or crop year", "why_not": "That is a green-coffee attribute unrelated to when the coffee was roasted." },
        { "form": "a structured production-date or feed expiration field", "why_not": "The nearest structured-data property is vehicle-oriented and has no food semantics, and the dominant feed specification's expiration attribute controls when a listing stops showing and defaults to thirty days after the last refresh, so mapping either to freshness is categorically wrong and wrong in the flattering direction." },
        { "form": "a date visible only in a product photograph or a review image", "why_not": "Image content is not page text, and product photography is frequently a stock image of a different size or an older bag." }
      ],
      "conflict_rules": [
        { "when": "a roast date and a best-before date both appear", "resolution": "treat them as answers to different questions and record both; a durability date can never be back-calculated to a roast day", "precedence": ["product_description", "structured_data"] },
        { "when": "a static metafield holds a roast date", "resolution": "treat it as low-trust: a field set once at product creation asserts something untrue about every subsequent lot, which is worse than no field" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "structured_data"],
      "registry": { "resolvable": false, "engine_can_perform": false, "notes": "No register, no certificate holder, no auditor and no buyer-queryable lot traceability exists anywhere in the freshness class." },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "70-95%",
        "in_target_band": false,
        "reasoning": "The roast date is a lot attribute stamped at pack time while a product page is a product-level document, so its absence is structural rather than negligent and should be near-universal. The band is above target and the entry is published as blocked partly for that reason: the honest contribution here is refusing the near-misses rather than certifying the claim.",
        "measured": false
      },
      "consumer_note": "Specialty buyers look for a roast date because flavour changes over weeks, and consumer testing publications supply physical bag tests precisely because the date is so often absent. Note that the mainstream trade association points shoppers to the best-by date instead, so the trade does not agree with itself here.",
      "merchant_remediation": "Publish the roast date for the lot currently shipping, in an unambiguous format, in a field you update as stock rotates — and keep it distinct from the roast level, which is a different fact that shares the word.",
      "grounding": {
        "demand_basis": ["buyer_community_evidence", "consumer_buying_guide", "trade_convention_only"],
        "citations": [
          { "source": "America's Test Kitchen", "url": "https://www.americastestkitchen.com/articles/8092-how-to-tell-if-your-coffee-is-fresh", "kind": "consumer_guide", "establishes": "that mainstream consumer guidance tells readers roasters only sometimes print a roasted-on date and supplies a physical bag test to infer roast age, which is evidence the datum is frequently absent" },
          { "source": "Perfect Daily Grind", "url": "https://perfectdailygrind.com/2015/09/what-roasting-dates-can-cant-tell-you-about-coffee/", "kind": "trade_press", "establishes": "that roast date is a third-wave trade convention which the specialty trade press itself cautions against using as a sole quality signal — the source both grounds the demand and limits it" },
          { "source": "Specialty Coffee Association, coffee standards index", "url": "https://sca.coffee/research/coffee-standards", "kind": "trade_body", "establishes": "the decisive negative: no published trade standard covers roasted-coffee retail labelling, roast-date declaration, shelf life or freshness, so citing the trade body for roast date is unsupported" }
        ],
        "refutation": {
          "challenged": "Whether roast-date demand is real shopper behaviour or a preference the trade taught its own customers, and whether any trade organisation's published standards back it.",
          "verdict": "narrowed",
          "resolution": "No body backs it — the trade body publishes nothing on retail labelling or freshness, and the trade press itself records that third-wave roasters taught consumers to buy on roast date. Demand is well evidenced among enthusiasts and not established for mainstream buyers, whose own trade association points them at the best-by date instead. The entry therefore carries a trade-convention warning label in its demand basis alongside the community and consumer-guide evidence."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-DATEFORM-001",
      "question": "If there is a date on this, is it worded the way the law where I live requires?",
      "assertion": { "subject": "date_phrase_conformance", "operator": "equals_one_of", "expected": ["eu_best_before", "eu_best_before_end", "ca_best_if_used_by", "ca_use_by", "prohibited_sell_by", "non_conforming"] },
      "tier": "blocked",
      "blocked_by": ["G-03"],
      "applicability": { "applies_when": "the page displays a quality or safety date phrase for the product", "signal": "presence of a date phrase in product text" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a date phrase matching a jurisdiction's enumerated literal, captured verbatim with the matched jurisdiction named" }
      ],
      "insufficient_evidence": [
        { "form": "informal variants such as \"Best by\", \"Expires\", \"Enjoy by\", \"Freshest by\"", "why_not": "None matches the enumerated forms either regime requires, and their familiarity is what makes them look compliant." },
        { "form": "\"Best before\" treated as globally acceptable", "why_not": "It is the EU-required form and is not among the phrases the Californian regime enumerates, so the two regimes demand different literals and a single phrase cannot satisfy both — a check that treats it as universally compliant will pass a violation." },
        { "form": "\"Sell by\" on a consumer-facing page", "why_not": "That phrase is prohibited outright in the Californian regime for consumer-facing use, with a narrow exception for coded inventory dates not readily readable by consumers." },
        { "form": "the absence of any date read as non-compliance", "why_not": "Adding a date is not mandated by either regime for this product, and the Californian statute expressly disclaims that construction — so reporting absence as a defect would be a false positive with a legal citation attached, which is the worst kind." },
        { "form": "a conformance verdict presented as a legal finding about the physical label", "why_not": "The regime governs the labelling of a food item offered for sale; whether a page reproducing a non-conforming phrase is itself a violation could not be established, so the verdict is about the page string only." }
      ],
      "conflict_rules": [
        { "when": "a page serves both markets with one date phrase", "resolution": "record that the phrase cannot satisfy both enumerated sets, which is a factual observation rather than a legal conclusion" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "30-70%",
        "in_target_band": true,
        "reasoning": "Applies only to pages that display a date phrase at all, and within that population informal wording is common, so a genuine split is plausible. This is the most crisply machine-checkable assertion in the whole freshness class, because both regimes specify closed sets of literal phrases rather than concepts.",
        "measured": false
      },
      "consumer_note": "Date wording is regulated because shoppers cannot reliably tell a quality date from a safety date, and the required phrasing differs between regions. A page that says nothing about dates is not breaking any rule; a page that says \"sell by\" to a consumer may be.",
      "merchant_remediation": "Where you display a quality or safety date, use the exact phrase your market's rules enumerate, and avoid consumer-facing sell-by wording; if you serve two markets with different required literals, the page needs market-specific wording.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "documented_complaint_pattern"],
        "citations": [
          { "source": "California Assembly Bill 660, statutory text", "url": "https://leginfo.legislature.ca.gov/faces/billNavClient.xhtml?bill_id=202320240AB660", "kind": "legal_instrument", "establishes": "an enumerated set of permitted quality and safety date phrases for food items manufactured on or after 1 July 2026, a blanket prohibition on consumer-facing sell-by wording, and an express disclaimer that the section does not require a date label — coffee is in scope" },
          { "source": "EU Regulation 1169/2011, Annex X point 1(a)", "url": "https://www.legislation.gov.uk/eur/2011/1169/annex/X", "kind": "legal_instrument", "establishes": "the conflicting EU wording requirement of Best before with a day, or Best before end otherwise, which is not among the Californian permitted phrases" },
          { "source": "National Agricultural Law Center, University of Arkansas", "url": "https://nationalaglawcenter.org/date-labels-and-the-new-california-law/", "kind": "academic", "establishes": "independent confirmation that no federal requirement mandates date labels on most foods and that including a date remains voluntary unless another law requires it" }
        ],
        "refutation": {
          "challenged": "Whether a law-firm summary asserting the Californian regime mandates a date label should be preferred to the statutory text, and whether the regime reaches a web page at all.",
          "verdict": "narrowed",
          "resolution": "The statute governs and expressly disclaims a mandate, so the summary was not followed. Whether a page reproducing a phrase is itself a violation could not be established from cited authority, so the entry's verdict is explicitly scoped to the page string and is not presented as a legal finding — and the refuting pass separately confirmed that both underlying legal readings in the freshness class hold up."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-STORAGE-001",
      "question": "How should I store this once it arrives, and should I keep it in the fridge or freezer?",
      "assertion": { "subject": "storage_conditions", "operator": "is_stated", "expected": true },
      "tier": "blocked",
      "blocked_by": ["G-06"],
      "applicability": { "applies_when": "the product is roasted coffee sold to a consumer", "signal": "product_type or title indicates coffee" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "storage conditions with the parameters that matter — container type, a temperature or range, and explicit direction on refrigeration and freezing" },
        { "surface": "product_faq", "form": "the same guidance in FAQ structured data attached to this product" }
      ],
      "insufficient_evidence": [
        { "form": "\"store in a cool, dry place\"", "why_not": "Generic boilerplate with no temperature that is silent on the refrigeration question buyers actually have, and arguably not a special condition at all." },
        { "form": "\"keep sealed\" or \"reseal after opening\"", "why_not": "Closure handling is not a storage condition, and the two are routinely conflated in copy." },
        { "form": "advice to refrigerate for longer life", "why_not": "It runs directly contrary to mainstream trade-association guidance, so presence of storage advice must not be scored as soundness of storage advice; presence and correctness are different tests." },
        { "form": "a freezing recommendation with no airtight-container and small-portion caveats", "why_not": "Those caveats are what make freezing survivable rather than harmful, so the recommendation without them is incomplete." },
        { "form": "guidance living only in a blog post or brewing guide", "why_not": "Where the pre-purchase distance-selling requirement applies the information must be available in connection with the offer, so location matters and a blog is not the offer." }
      ],
      "conflict_rules": [
        { "when": "the page recommends refrigeration and the trade body advises against it", "resolution": "record that guidance is present and do not adjudicate whether it is sound; the standard reports evidence availability, not correctness" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "product_faq"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "40-75%",
        "in_target_band": true,
        "reasoning": "Storage guidance is common in some form but rarely carries a temperature or addresses refrigeration explicitly, so the band depends on how strictly the parameters are required. The vocabulary is small and stable, which makes this unusually tractable to match once a mechanism exists.",
        "measured": false
      },
      "consumer_note": "This is the freshness question with a real legal hook behind it in the EU, and the one where popular advice is most often wrong: the mainstream trade association strongly advises against refrigerating coffee, and the trade's own assessment protocol says to store it cool and dark but not refrigerated or frozen.",
      "merchant_remediation": "State storage conditions on the product page rather than in a blog — container type, a temperature range, and explicit direction on refrigeration and freezing with the caveats that make freezing safe.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "consumer_buying_guide", "buyer_community_evidence"],
        "citations": [
          { "source": "EU Regulation 1169/2011, Article 9(1)(g) and Article 14(1)(a)", "url": "https://www.legislation.gov.uk/eur/2011/1169/article/14", "kind": "legal_instrument", "establishes": "that special storage conditions are a mandatory particular and, unlike the durability date, are NOT carved out of the pre-purchase distance-selling requirement — making storage the strongest legally-grounded hook for a coffee product page in the whole freshness class" },
          { "source": "National Coffee Association, storage and shelf life guidance", "url": "https://www.aboutcoffee.org/beans/storage-and-shelf-life/", "kind": "trade_body", "establishes": "substantive guidance to keep coffee away from air, moisture, heat and light in an opaque airtight container at room temperature, with refrigeration strongly advised against, which is what makes the refrigeration direction the decisive parameter" },
          { "source": "Independent refuting pass, live search-intent retrieval", "url": "https://suggestqueries.google.com/complete/search", "kind": "internal_measurement", "establishes": "that how to store coffee beans after opening, to keep them fresh, and whether to use the fridge are all live autocomplete completions, placing storage inside the verified shopper-driven core" }
        ],
        "refutation": {
          "challenged": "Whether the pre-purchase storage duty is a real reading of the distance-selling provision or an over-reach borrowed from package labelling.",
          "verdict": "survived",
          "resolution": "The refuting pass set out to break this reading and could not: the pre-purchase carve-out names only the durability date, so storage conditions do fall within the pre-purchase requirement. It called the corollary a correct and non-obvious reading and the best analytical work in the research corpus. Whether roasted coffee's storage needs qualify as special remains a judgement no source addressed, and this entry does not assert that they do."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-PROV-001",
      "question": "Which country was this coffee grown in?",
      "assertion": { "subject": "growing_country", "operator": "is_stated", "expected": true },
      "tier": "blocked",
      "blocked_by": ["G-01"],
      "applicability": { "applies_when": "the product is roasted coffee", "signal": "product_type or title indicates coffee" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a named growing country attributed to this coffee, distinct from where it was roasted" },
        { "surface": "structured_data", "form": "the same statement inside the JSON-LD product description" }
      ],
      "insufficient_evidence": [
        { "form": "\"Product of USA\", \"Made in USA\", \"Roasted in USA\"", "why_not": "Under customs substantial-transformation practice these describe ROASTING, so a check that maps them to growing origin will systematically record Ethiopian coffee as American. The legally correct origin marking is the one that hides the answer buyers want, and this is the highest-value trap in the whole standard." },
        { "form": "\"Italian roast\", \"French roast\", \"Vienna roast\"", "why_not": "These are roast-degree style names, and Italian roast is the canonical false positive for any origin extractor." },
        { "form": "\"Imported\"", "why_not": "It satisfies a marking requirement while naming no country at all." },
        { "form": "a region, farm, washing station or varietal name with no country", "why_not": "Evocative and unresolvable; several region names exist in more than one country and some varietal names are also place names." },
        { "form": "\"Latin American blend\" or \"African blend\"", "why_not": "A region is not a country, and blend composition legitimately varies batch to batch." },
        { "form": "a flag emoji or graphic", "why_not": "Not page text, not read by the engine, and frequently decorative rather than a claim." }
      ],
      "conflict_rules": [
        { "when": "a roasting location and a growing country both appear", "resolution": "attribute each to its own act; a roasting statement must never satisfy a growing-origin assertion", "precedence": ["product_description", "structured_data"] },
        { "when": "the product is a blend naming several countries", "resolution": "record all named origins; \"a place is stated\" and \"the origin of this coffee is stated\" are different questions and the second is the one asked" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "structured_data"],
      "registry": { "resolvable": false, "engine_can_perform": false, "notes": "Regulatory traceability that would come closest — plot-level geolocation filed as a due-diligence statement — is not a public lookup." },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "20-55%",
        "in_target_band": true,
        "reasoning": "Specialty coffee names origins constantly while supermarket-style listings often do not, so a real split exists. The band is a hypothesis about two seller populations and the engine has no mechanism to measure it, which is why the entry is blocked rather than predicted with confidence.",
        "measured": false
      },
      "consumer_note": "Where coffee is roasted and where it is grown are different facts, and the phrase you are most likely to see on a US bag describes roasting. If the page names no growing country, no amount of made-in wording fills that gap.",
      "merchant_remediation": "Name the growing country in product text, keeping it clearly distinct from any statement about where the coffee was roasted, and add the region where you know it.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "consumer_buying_guide", "documented_complaint_pattern"],
        "citations": [
          { "source": "US Customs and Border Protection, country-of-origin marking practice on roasting as substantial transformation", "url": "https://www.cbp.gov/trade/rulings", "kind": "regulator", "establishes": "that roasting imported green coffee is treated as substantially transforming it, which is why product-of-USA wording on a coffee bag describes roasting and not growing — the mechanism behind the standard's most consequential false-positive risk" },
          { "source": "Independent refuting pass, live search-intent retrieval", "url": "https://suggestqueries.google.com/complete/search", "kind": "internal_measurement", "establishes": "that grown-versus-roasted origin sits in the verified shopper-driven core, grounded in documented deception rather than in query volume" }
        ],
        "refutation": {
          "challenged": "Whether the origin question can be built at all, given that the engine removed its origin matcher for being wrong in both directions.",
          "verdict": "survived",
          "resolution": "The question survives and the mechanism does not. The engine's removed matcher failed on real copy in both directions and its own record forbids a third head-noun rule, so this entry is published as blocked with the measured path back recorded in ENGINE_GAPS G-01 rather than specified as though it worked."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-PROC-001",
      "question": "How was this coffee processed after picking — washed, natural, or honey?",
      "assertion": { "subject": "post_harvest_process", "operator": "equals_one_of", "expected": ["washed", "natural", "honey", "anaerobic", "wet_hulled"] },
      "tier": "blocked",
      "blocked_by": ["G-03", "G-06"],
      "applicability": { "applies_when": "the product is roasted coffee whose page discusses origin processing", "signal": "product_type or title indicates coffee" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a named process class drawn from the international coffee vocabulary and attributed to this lot, ideally with the defining step described" }
      ],
      "insufficient_evidence": [
        { "form": "the bare word \"processed\" or \"artisan processed\"", "why_not": "All coffee is processed, so the word is content-free." },
        { "form": "\"sun-dried\" or \"patio dried\" read as natural", "why_not": "Washed coffee is also sun-dried on beds or patios, so the drying medium does not identify the process class." },
        { "form": "\"semi-washed\" treated as a synonym for honey", "why_not": "Semi-washed is mechanical demucilage while honey retains the mucilage; they are near-opposites on the one variable that matters." },
        { "form": "yellow, red or black honey treated as a graded scale", "why_not": "No body defines the mucilage proportion or the colour boundaries, so the words encode nothing standardised." },
        { "form": "a process word inside a tasting-note sentence", "why_not": "\"Notes of honey\" states a flavour and \"washed with bright acidity\" describes mouthfeel; these are the commonest sentences on a specialty page and a bare vocabulary match reads every one as a process statement." },
        { "form": "the process named for the roaster's buying programme rather than this lot", "why_not": "\"We buy washed coffees\" is a sourcing statement and does not establish what this bag is." }
      ],
      "conflict_rules": [
        { "when": "a post-harvest process and a decaffeination method both appear", "resolution": "they are orthogonal; a process row must never be read as a decaffeination disclosure" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "35-75%",
        "in_target_band": true,
        "reasoning": "Specialty pages name the process routinely and mainstream pages almost never do, so the split is real but entirely population-dependent. The tasting-note collision means a naive matcher would report a much lower failure rate than the truth.",
        "measured": false
      },
      "consumer_note": "Processing is the step that most changes how a coffee tastes for a given origin, and the words for it are defined in an international vocabulary for the two main classes. Honey and its colour variants are not defined anywhere, so those describe intent rather than a specification.",
      "merchant_remediation": "Name the process class in a labelled field and describe the defining step for anything outside the two standard classes, because honey and fermentation variants have no external definition to appeal to.",
      "grounding": {
        "demand_basis": ["trade_body_definition", "consumer_buying_guide"],
        "citations": [
          { "source": "ISO 3509 coffee and coffee products vocabulary", "url": "https://www.iso.org/standard/23653.html", "kind": "trade_body", "establishes": "that an international vocabulary defines the washed and natural process classes, which is what makes those two checkable against an external definition while honey and wet-hulled are not defined in it at all" }
        ],
        "refutation": {
          "challenged": "Whether shoppers ask about processing method or whether this is producer and student intent.",
          "verdict": "demoted",
          "resolution": "The refuting pass found that processing-method autocomplete returns plant, equipment and flow-chart results, indicating producer and student intent rather than shopper intent, and placed the whole specialty-provenance tier as largely trade-invented on the grounds that its sources define terms rather than evidence demand. The entry is retained as blocked because a definition genuinely exists for the two main classes, but its demand basis claims no buyer-community evidence and the finer provenance questions were dropped — recorded in GROUNDING.md."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-NETQ-001",
      "question": "Does the weight shown apply to the exact size I am buying?",
      "assertion": { "subject": "net_quantity_for_selected_offer", "operator": "is_stated", "expected": true },
      "tier": "blocked",
      "blocked_by": ["G-12"],
      "applicability": { "applies_when": "the product page sells more than one purchasable size", "signal": "more than one variant with distinct option values" },
      "accepted_evidence": [
        { "surface": "product_options", "form": "a net quantity resolved per purchasable offer, either in the option value itself or in per-offer structured data" }
      ],
      "insufficient_evidence": [
        { "form": "a weight in the page title on a multi-size page", "why_not": "The classic false pass: the title says twelve ounces while the selected variant is five pounds, and the title is a quotable evidence surface so a check credits it." },
        { "form": "the first or the largest weight on the page", "why_not": "Option order is arbitrary and the most prominent size is often the best-value one the seller wants to feature, so neither is the buyer's offer." },
        { "form": "a subscription or bundle offer's values applied to the single-bag offer", "why_not": "Those are different offers at different quantities, and conflating them misstates what the buyer receives." },
        { "form": "group-level structured data inherited from one representative variant", "why_not": "A product-group node describes the group, and its values were taken from whichever variant happened to populate them." },
        { "form": "a sold-out variant included in the resolution", "why_not": "A size offered but unbuyable is not what the buyer receives." }
      ],
      "conflict_rules": [
        { "when": "no default selection is determinable", "resolution": "report the claim as ambiguous across offers rather than resolving it to any one size; there is currently no result state for that, which is part of what blocks this entry" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_options"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "45-80%",
        "in_target_band": true,
        "reasoning": "Multi-size coffee pages are common and per-offer quantity resolution is rare, so a real split is likely among the pages this applies to. The band excludes single-offer pages, where the question does not arise.",
        "measured": false
      },
      "consumer_note": "On a page selling several bag sizes, the weight in the title belongs to one of them and not necessarily the one you selected. This is how a price comparison silently goes wrong by a factor of several.",
      "merchant_remediation": "Carry the net quantity in each purchasable option value or in per-offer structured data, so the weight travels with the offer rather than sitting once at page level.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "comparison_guide_convention"],
        "citations": [
          { "source": "EU Regulation 1169/2011, Article 14(1)(a)", "url": "https://www.legislation.gov.uk/eur/2011/1169/article/14", "kind": "legal_instrument", "establishes": "that mandatory particulars other than the durability date must be available before the purchase is concluded, which for a multi-offer page means available for the offer actually being purchased rather than for the page in general" },
          { "source": "Independent refuting pass, live search-intent retrieval", "url": "https://suggestqueries.google.com/complete/search", "kind": "internal_measurement", "establishes": "that cost transparency including net weight sits in the verified shopper-driven core, which is what makes per-offer resolution a buyer concern rather than a data-modelling nicety" }
        ]
      }
    },
    {
      "id": "ALS-COFFEE-1.0-PRICE-002",
      "question": "What does this cost per kilogram, so I can compare it with another bag?",
      "assertion": { "subject": "price_per_unit_mass", "operator": "derived_from", "expected": { "inputs": ["variant_price", "net_quantity"], "rule": "price divided by net mass for the same offer" } },
      "tier": "blocked",
      "blocked_by": ["G-05", "G-12"],
      "applicability": { "applies_when": "the product is coffee sold by mass with a readable price", "signal": "a readable price and a readable net quantity for the same offer" },
      "accepted_evidence": [
        { "surface": "variant_price", "form": "a price for the offer, in the same currency and tax treatment as the selling price" },
        { "surface": "product_description", "form": "a net quantity for the same offer, from which the unit price is computable" }
      ],
      "insufficient_evidence": [
        { "form": "value language such as \"great value\" or \"cheaper than your coffee shop\"", "why_not": "No arithmetic is available, so nothing can be compared." },
        { "form": "a price per pod or per serving", "why_not": "Dose per capsule varies by roughly a factor of two across systems, so a per-item rate is not a rate per unit mass." },
        { "form": "a rate computed on gross or shipping weight", "why_not": "Those include packaging and are systematically high, so the derived figure is wrong in a direction that flatters the seller." },
        { "form": "a rate computed on the wrong variant", "why_not": "The classic case is the large size's better rate displayed against a small-size selection, which is exactly the comparison the buyer is trying to make." },
        { "form": "a rate derived from a strikethrough or reference price", "why_not": "A price the seller never charged cannot be the basis of a cost comparison." }
      ],
      "conflict_rules": [
        { "when": "the net quantity cannot be attributed to the priced offer", "resolution": "refuse to derive a figure rather than computing one from mismatched inputs; a derived number reads as more authoritative than the sentence it came from" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["variant_price", "product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "30-70%",
        "in_target_band": true,
        "reasoning": "Both inputs are individually common and their attribution to the same offer is not, so the derived assertion should fail materially more often than either input alone. Any derived value inherits every weakness of its inputs, and the net-quantity input has pinned defects, so this is the entry most likely to produce a confidently wrong number.",
        "measured": false
      },
      "consumer_note": "Price per kilogram is the only way to compare two bags of different sizes, and it is the figure most often missing. If the page shows a price and a weight you can divide them yourself, provided both belong to the size you selected.",
      "merchant_remediation": "Display the unit price alongside the selling price for each purchasable size, computed on net mass in the same currency and tax treatment as the price shown.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "comparison_guide_convention"],
        "citations": [
          { "source": "EU Directive 98/6/EC on the indication of prices of products offered to consumers", "url": "https://eur-lex.europa.eu/eli/dir/1998/6/oj/eng", "kind": "legal_instrument", "establishes": "that both the selling price and the unit price must be indicated for products sold by mass, making unit price a regulated consumer-facing disclosure rather than a convenience" }
        ],
        "refutation": {
          "challenged": "Whether shoppers actually use unit prices, as opposed to regulators requiring them.",
          "verdict": "narrowed",
          "resolution": "The research volunteered against its own interest here, recording that the requirement is strongly mandated and weakly demonstrated as behaviour, and the refuting pass credited that honesty. The entry's demand basis therefore claims regulatory and comparison-convention grounding and no buyer-community evidence, and it is blocked rather than run in any case."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-INGR-001",
      "question": "Is there anything in this besides coffee?",
      "assertion": { "subject": "ingredient_declaration", "operator": "is_stated", "expected": true },
      "tier": "blocked",
      "blocked_by": ["G-06", "G-10"],
      "applicability": {
        "applies_when": "the product contains anything beyond roasted coffee — flavourings, sugar, chicory, other grains, or a creamer",
        "does_not_apply_when": ["unflavoured single-ingredient roasted coffee, where no declaration is expected"],
        "signal": "undecidable_from_public_data — whether anything was added is itself the question being asked"
      },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a complete ingredient declaration in descending order of weight, in a labelled field rather than in marketing prose" },
        { "surface": "structured_data", "form": "the same declaration inside the JSON-LD product description" }
      ],
      "insufficient_evidence": [
        { "form": "\"100% Arabica\"", "why_not": "That is a botanical species claim rather than an ingredient declaration, and a hundred-per-cent-arabica coffee can still be flavoured." },
        { "form": "\"100% coffee\" in marketing prose", "why_not": "The same words in prose and in an ingredients field have different legal functions, and a text match cannot tell them apart." },
        { "form": "\"no additives\", \"no fillers\", \"nothing but beans\"", "why_not": "Negative marketing claims are not the positive declaration the rule requires, and they are unverifiable as stated." },
        { "form": "\"natural flavour\" listed without the base ingredient", "why_not": "An incomplete list reads as a complete one, which is worse than no list for a reader trying to check." },
        { "form": "an ingredient list scraped from a different variant on a multi-variant page", "why_not": "The flavoured variant's list shown against the unflavoured one asserts something false about the offer being bought." },
        { "form": "a photograph of the back panel", "why_not": "Image content is not machine-readable, so a text-only check would score a compliant page as non-compliant — a false positive rather than a finding." },
        { "form": "\"unflavoured\" where flavour was introduced before roasting", "why_not": "Flavour added at green stage sits outside the reasoning a flavour-labelling check would apply, so the word can be true in the seller's mind and misleading to the buyer." }
      ],
      "conflict_rules": [
        { "when": "the page is silent and the product may or may not be flavoured", "resolution": "the entry does not apply; silence on a single-ingredient food is expected and must never be reported as a missing declaration" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "structured_data"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "40-80%",
        "in_target_band": true,
        "reasoning": "Among flavoured coffee pages a full declaration in a labelled field is far from universal, so a real split is plausible. The band applies only to the products this entry covers, and the applicability signal being undecidable from public data is itself part of what blocks it.",
        "measured": false
      },
      "consumer_note": "Plain coffee is a single-ingredient food and needs no list, so an absent list is normal. For a flavoured coffee it is the only way to know what you are drinking, and a flavour system can carry things a shopper would want to know about.",
      "merchant_remediation": "For anything beyond plain roasted coffee, publish the complete ingredient declaration in a labelled field on the product page, and keep each variant's declaration attached to that variant.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "consumer_buying_guide"],
        "citations": [
          { "source": "EU Regulation 1169/2011, Article 9(1)(b) and Article 14(1)(a)", "url": "https://www.legislation.gov.uk/eur/2011/1169/article/14", "kind": "legal_instrument", "establishes": "that the list of ingredients is a mandatory particular and must be available before the purchase is concluded in distance selling, since only the durability date is carved out — which makes this a genuine pre-purchase page duty rather than a package-only rule" }
        ],
        "refutation": {
          "challenged": "Whether the ingredient duty reaches a web page or only the physical pack, given that the same research mislabelled US net-quantity law as a page duty.",
          "verdict": "survived",
          "resolution": "It reaches the page in the EU by the same Article 14(1)(a) route that the refuting pass verified for storage conditions, and the entry cites that route rather than US package-labelling law. The refuting pass independently listed flavourings and allergens as mandated pre-purchase and as the one thing a certifier's own consumer coffee article says actually matters."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-ALLERG-001",
      "question": "Does this contain anything I am allergic to?",
      "assertion": { "subject": "allergen_declaration", "operator": "is_stated", "expected": true },
      "tier": "blocked",
      "blocked_by": ["G-06", "G-10"],
      "applicability": {
        "applies_when": "the product is flavoured coffee or contains any added ingredient",
        "does_not_apply_when": ["unflavoured single-ingredient roasted coffee"],
        "signal": "undecidable_from_public_data"
      },
      "accepted_evidence": [
        { "surface": "product_description", "form": "the regulated allergen named within the ingredient declaration and emphasised, rather than mentioned separately" }
      ],
      "insufficient_evidence": [
        { "form": "\"may contain traces of\"", "why_not": "Precautionary wording is voluntary and is not the declaration the rule requires, so a check that accepts it treats a hedge as a disclosure." },
        { "form": "\"dairy-free\", \"gluten-free\", \"vegan\"", "why_not": "These are free-from and lifestyle claims governed by different rules; none is an allergen declaration and vegan says nothing about cross-contact." },
        { "form": "\"naturally flavoured\" with no carrier named", "why_not": "Flavour systems commonly carry milk derivatives, and the word natural excludes nothing." },
        { "form": "\"processed in a facility that also handles nuts\"", "why_not": "A facility statement describes the plant rather than this product." },
        { "form": "\"allergens: none\" on a flavoured product with no readable ingredient list", "why_not": "An unverifiable negative, and the shape most likely to be scored as a complete disclosure." },
        { "form": "the absence of emphasis in scraped text", "why_not": "Emphasis is legally required inside an EU ingredient list, and stripped markup loses it — so a page can be compliant while the extracted text is not evidently so, which a check must not report as a defect." }
      ],
      "conflict_rules": [
        { "when": "emphasis cannot be recovered from the extracted text", "resolution": "report that the emphasis could not be inspected rather than that it is absent; this is the not-inspectable versus not-present distinction the engine already enforces elsewhere" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "50-85%",
        "in_target_band": true,
        "reasoning": "Among flavoured coffee pages, a properly emphasised allergen inside a full declaration is uncommon in web copy even where the physical pack is compliant. The band applies only to products with added ingredients.",
        "measured": false
      },
      "consumer_note": "For plain coffee this does not arise. For a flavoured coffee it matters, and the reassurance you should not rely on is a may-contain line, which is voluntary wording rather than a declaration.",
      "merchant_remediation": "Name the regulated allergen inside the ingredient declaration with the emphasis the rule requires, on the product page and per variant, rather than in a separate reassurance sentence.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "consumer_buying_guide"],
        "citations": [
          { "source": "EU Regulation 1169/2011, Article 9(1)(c), Article 21 and Article 14(1)(a)", "url": "https://www.legislation.gov.uk/eur/2011/1169/article/21", "kind": "legal_instrument", "establishes": "that substances causing allergies must be indicated in the ingredient list with emphasis distinguishing them from the other ingredients, and that this particular is available pre-purchase in distance selling because only the durability date is excluded" }
        ],
        "refutation": {
          "challenged": "Whether allergens are a coffee question at all.",
          "verdict": "narrowed",
          "resolution": "Not for plain coffee, and the entry's applicability now excludes it explicitly. For flavoured coffee the refuting pass ranked flavourings and allergens tenth of ten in the verified shopper core and noted it is mandated pre-purchase, so the entry is retained with a narrowed envelope."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-CERT-003",
      "question": "Does the organic claim on this page resolve against the certifier's own public register?",
      "assertion": { "subject": "organic_claim_register_resolution", "operator": "resolves_against_register", "expected": true },
      "tier": "blocked",
      "blocked_by": ["G-04", "G-06"],
      "applicability": { "applies_when": "the page states an organic claim and names a certifying agent", "signal": "an organic claim plus a named agent in product text" },
      "accepted_evidence": [
        { "surface": "external_register", "form": "a record for the seller's legal operation with status Certified as of the sale date, whose certified-product scope covers handled or processed coffee" },
        { "surface": "product_description", "form": "the certifying agent's name and the certified legal operation name published on the page, which are the two keys a lookup needs" }
      ],
      "insufficient_evidence": [
        { "form": "a certificate PDF hosted on the seller's own domain", "why_not": "Self-published is not the register, and the register exists precisely because a document can outlive the certification it describes." },
        { "form": "a genuine, well-formatted certificate whose validity period has ended", "why_not": "The most convincing-looking near-miss there is, and the exact case the register's surrendered, suspended and revoked statuses exist to catch." },
        { "form": "a register hit on a similarly-named entity", "why_not": "A brand or trading name matched against a different legal operation is fuzzy entity resolution rather than a lookup, and it invents its own evidence." },
        { "form": "a hit whose certified-product scope excludes handling", "why_not": "A crops-only record does not authorise a roaster's organic label, so scope match matters as much as status." },
        { "form": "a farm's or exporter's certificate offered for the roaster", "why_not": "Only a certified handler may use the seal, so the register must resolve to the entity on the label." },
        { "form": "\"not found in the register\" rendered as a false claim", "why_not": "A roaster can legitimately sell certified coffee without holding a certificate itself, and rendering absence as falsity would be the worst false statement this product could make about a store." }
      ],
      "conflict_rules": [
        { "when": "the register is unreachable", "resolution": "produce an honest unreachable state rather than degrading to a failure; an unreachable register must never look like a failed lookup", "precedence": ["external_register", "product_description"] },
        { "when": "the page publishes no certificate number", "resolution": "treat the absence as a page finding rather than as a failed lookup, because no number is required on the label and fuzzy-matching a brand to a holder is not verification" }
      ],
      "public_inspectable": false,
      "evidence_surfaces": ["external_register", "product_description"],
      "registry": {
        "resolvable": true,
        "register_name": "USDA National Organic Program — Organic INTEGRITY Database",
        "operator": "USDA Agricultural Marketing Service",
        "lookup_key": "the certified operation's legal name, client ID or certificate number",
        "lookup_method": "Search by operation name, certifying agent, certified product, client ID or certificate number; read the status enum, the effective dates and the certified-products list. Bulk spreadsheet exports and monthly full-dataset snapshots were confirmed live by an independent verification pass; the documented REST API was not, because its developer help page returns an application error.",
        "resolves_to_level": "operation",
        "public_free": true,
        "machine_queryable": true,
        "engine_can_perform": false,
        "notes": "This is the strongest register in coffee and the only one that is simultaneously mandated on-label, resolvable to the seller, status-typed, certificate-downloadable and available in bulk. If the engine ever supports exactly one registry assertion, it should be this one."
      },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "60-90%",
        "in_target_band": false,
        "reasoning": "Most pages that claim organic publish neither the certifying agent's name nor the certified legal entity, so the lookup would have no key and the assertion would fail for most of the population it applies to. The failure would usually be a page-disclosure finding rather than a certification finding, which is a distinction the assertion must preserve.",
        "measured": false
      },
      "consumer_note": "You can do this check yourself today, free, in the public register: search the roaster's legal name and read the status and the certified-product scope. What stops it being automatic is that pages publish brand names while the register holds legal operation names.",
      "merchant_remediation": "Publish the certifying agent's name and your certified legal operation name — and the certificate number if you have one — so that a reader can resolve the claim deterministically rather than by guesswork.",
      "grounding": {
        "demand_basis": ["certification_body_material", "regulatory_requirement", "trade_convention_only"],
        "citations": [
          { "source": "CCOF, guidance on using the Organic INTEGRITY Database", "url": "https://www.ccof.org/resource/how-to-use-the-usda-organic-integrity-database-oid/", "kind": "certification_body", "establishes": "that a certifying agent authorised under the national organic programme describes the register as the official place to check whether an operation is certified, and positions checking it as ongoing supplier management and fraud prevention rather than as a shopper task" },
          { "source": "USDA Agricultural Marketing Service, organic enforcement settlements index", "url": "https://www.ams.usda.gov/services/enforcement/organic/settlements", "kind": "regulator", "establishes": "that the regulator maintains an ongoing published record of settlements for organic misrepresentation, which is the regulator's own evidence that absent or lapsed certification coexists with live organic labelling" }
        ],
        "refutation": {
          "challenged": "Whether shoppers verify certificates, or whether the entire verification tier is importer and retail-buyer behaviour dressed as consumer demand.",
          "verdict": "narrowed",
          "resolution": "The refuting pass established the latter: every look-it-up question traces to a certifier's own business-to-business material, one of them titled for checking a supplier's status. This entry therefore carries a trade-convention warning label in its demand basis and is blocked rather than executable, so the grammar's rule against executable entries resting on trade convention alone is respected rather than circumvented. The register itself was independently confirmed live, including a real bulk export."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-KONA-001",
      "question": "If this says Kona or Hawaiian, how much of it actually is?",
      "assertion": { "subject": "protected_origin_percentage", "operator": "is_stated", "expected": true },
      "tier": "blocked",
      "blocked_by": ["G-01", "G-10"],
      "applicability": { "applies_when": "the page uses a Hawaii geographic coffee name in the product name, brand or description", "signal": "a Hawaii geographic coffee name in merchant-controlled text" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "the percentage of the named Hawaii origin, stated as a front-of-pack-equivalent disclosure rather than buried in body copy" },
        { "surface": "product_title", "form": "the percentage adjacent to the geographic name in the product name" }
      ],
      "insufficient_evidence": [
        { "form": "\"Kona Blend\" with no percentage", "why_not": "Historically the exact practice the legislation targets, and the shape a buyer is least equipped to read." },
        { "form": "\"Kona-style\", \"Kona roast\", \"in the Kona tradition\", \"Hawaiian roast\"", "why_not": "Geographic-name evocation without an origin claim, which is the concern behind the more recent amendment." },
        { "form": "a percentage stated deep in body copy rather than as a prominent disclosure", "why_not": "The number is present and the disclosure test still fails, because the requirement is about prominence as well as presence." },
        { "form": "the roaster's Hawaii address inferred as Hawaii-grown coffee", "why_not": "A business location says nothing about where the green coffee was grown, and this is the same roasting-versus-growing conflation as the general origin trap." },
        { "form": "\"100% Kona\" with nothing behind it", "why_not": "The strongest-sounding string is also the least verifiable, since no public register resolves a bag's Hawaii content." }
      ],
      "conflict_rules": [
        { "when": "the geographic name appears in the brand name rather than the description", "resolution": "read merchant-controlled naming as within scope for the disclosure question, because a check confined to the description misses it entirely" },
        { "when": "the applicable threshold changes on a date", "resolution": "version the assertion; a disclosure that satisfied an earlier threshold does not satisfy a later one and the standard must state which it applied" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "product_title"],
      "registry": { "resolvable": false, "engine_can_perform": false, "notes": "Despite substantial litigation over Kona mislabelling, no public register resolves a given product's Hawaii content; the origin certificate is a document held by the trade rather than a searchable record." },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "40-85%",
        "in_target_band": true,
        "reasoning": "Applies only to pages using a Hawaii coffee name, and within that population percentage disclosure is inconsistent. The band is wide because the population is small and self-selecting, and because litigation pressure may have moved practice in ways this document cannot measure.",
        "measured": false
      },
      "consumer_note": "A blend using a Hawaii coffee name may contain only a small fraction of it, and the required percentage is the only thing that tells you which. There is no public register you can check, so the page's own disclosure is all a buyer has.",
      "merchant_remediation": "State the percentage of the named Hawaii origin prominently next to the geographic name wherever it appears, including in the product or brand name, and keep it current against the applicable threshold.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "documented_complaint_pattern"],
        "citations": [
          { "source": "Hawaii Revised Statutes chapter 486, coffee labelling provisions", "url": "https://www.capitol.hawaii.gov/hrscurrent/Vol11_Ch0476-0490/HRS0486/", "kind": "legal_instrument", "establishes": "that Hawaii regulates the use of a Hawaii geographic origin name on coffee with a minimum content threshold and a disclosure requirement, which is what makes the percentage the checkable element rather than the name" }
        ],
        "refutation": {
          "challenged": "Whether the protected-origin class is registry-resolvable as the research claimed, and whether the specific threshold and its effective date could be verified.",
          "verdict": "narrowed",
          "resolution": "The refuting pass called this the worst bundling in the research corpus: four structurally different things shared one registry-resolvable verdict, and the one they led with has no register at all — the research's own text conceded the origin certificate is a trade document rather than a public searchable register. The refuter was also bot-blocked from the legislature and could not confirm the amended threshold, so this entry states the mechanism and deliberately names no numeric threshold."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-REST-001",
      "question": "How long should I let these beans rest before brewing them?",
      "assertion": { "subject": "rest_window", "operator": "is_stated", "expected": true },
      "tier": "advisory",
      "applicability": { "applies_when": "the product is whole-bean roasted coffee", "signal": "product text discusses degassing or resting" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a rest or peak window with explicit units and an explicit anchor to the roast date, attributed as this roaster's own recommendation" }
      ],
      "insufficient_evidence": [
        { "form": "a rest figure attributed to a trade organisation's published standards", "why_not": "The only trade-anchored rest figure that exists is a cupping sample-preparation requirement for assessment within a day of roasting, and transplanting it to a shopper's brewing advice inverts its meaning. This is the near-miss most likely to be dressed in authority." },
        { "form": "a rest window with no roast date to anchor it", "why_not": "A window measured from an unstated roast day is unactionable, and it is the commonest shape." },
        { "form": "\"let rest a few days\" or \"allow to degas\"", "why_not": "No units, so nothing can be acted on or checked." },
        { "form": "any single number presented as the industry standard", "why_not": "Published sources span three to thirty days and disagree openly, and the best-designed study located contradicts the professional norm it tested." },
        { "form": "a rest claim inferred from the presence of a valve", "why_not": "A valve manages gas escape and bounds nothing about the coffee's age or readiness." }
      ],
      "conflict_rules": [
        { "when": "a rest window and a peak window are both stated", "resolution": "record both with their units; the standard reports the seller's stated guidance and declines to adjudicate the number" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "70-95%",
        "in_target_band": false,
        "reasoning": "Few pages state a window with units and an anchor, and no external definition exists to check the number against, so this is published as advisory rather than as something to run. Degassing is a real measurable physical process; the consumer window is not a settled quantity.",
        "measured": false
      },
      "consumer_note": "Freshly roasted beans release gas for days and can taste better after a rest, but the trade genuinely disagrees about how long, with published advice spanning three to thirty days. Any single number offered as the industry standard is overstating a real disagreement.",
      "merchant_remediation": "State your own recommended window with units, anchored to the roast date, and present it as your recommendation rather than as a settled figure.",
      "grounding": {
        "demand_basis": ["buyer_community_evidence", "trade_convention_only"],
        "citations": [
          { "source": "Smrke and others, Time-Resolved Gravimetric Method To Assess Degassing of Roasted Coffee, Journal of Agricultural and Food Chemistry", "url": "https://pubmed.ncbi.nlm.nih.gov/29091435/", "kind": "academic", "establishes": "that degassing is a real measurable physical process with mechanistic modelling behind it, tied to freshness, packaging and extraction — while the published abstract supplies no consumer-facing day counts" },
          { "source": "Perfect Daily Grind", "url": "https://perfectdailygrind.com/2015/09/what-roasting-dates-can-cant-tell-you-about-coffee/", "kind": "trade_press", "establishes": "that the trade documents its own disagreement rather than resolving it, with prime windows quoted variously as eight to twenty-one days and up to thirty, and some claiming a peak at three" }
        ],
        "refutation": {
          "challenged": "Whether a rest window is a shopper concern or a barista one, and whether any authority backs a number.",
          "verdict": "demoted",
          "resolution": "No authority backs a number, and the entry is advisory as a result. Buyer-community threads do show shoppers timing their brewing against a roast date, so the question is retained, but its value depends entirely on the roast date being published — which is itself blocked."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-SHELF-001",
      "question": "How long will this stay good, and does that change once I open the bag?",
      "assertion": { "subject": "shelf_life_split", "operator": "is_stated", "expected": true },
      "tier": "advisory",
      "applicability": { "applies_when": "the product is roasted coffee sold by mass", "signal": "product text discusses freshness duration" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "separate windows for unopened and after-opening, each with units, each stated for the grind state being sold" }
      ],
      "insufficient_evidence": [
        { "form": "an unopened-pack shelf life quoted as if it were the after-opening window", "why_not": "The central trap here: an unopened claim can run to a year or more while an opened window is measured in weeks, a difference of roughly twentyfold between two true statements about the same bag. A page saying it stays fresh for months without saying unopened is misleading while being literally defensible." },
        { "form": "one number covering both whole bean and ground on a page selling both", "why_not": "Ground coffee's window is materially shorter because more surface area is exposed, so a single figure is wrong for one of the two offers." },
        { "form": "\"stays fresh for months\" with no qualifier", "why_not": "Neither the open state nor the grind state is specified, so the claim cannot be applied to any actual purchase." },
        { "form": "a packaging-derived figure quoted without its precondition", "why_not": "Valve and gas-flush figures depend on the pack being intact and are properties of the packaging rather than of the coffee." },
        { "form": "\"won't expire\" offered as a freshness statement", "why_not": "That is a safety statement, and the trade association that makes it pairs it with a moisture and mould caveat." }
      ],
      "conflict_rules": [
        { "when": "the page sells ground coffee and states only one undifferentiated window", "resolution": "record that the stated window is not differentiated for the ground state, which is the check the readable grind option makes possible" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "75-95%",
        "in_target_band": false,
        "reasoning": "Almost no page separates opened from unopened or differentiates by grind state, so the assertion as specified would fail for nearly everyone. Published as advisory because the underlying confusion is real and worth naming, not because the row should be run.",
        "measured": false
      },
      "consumer_note": "An unopened bag and an opened one have wildly different useful lives, and a page quoting one figure is usually quoting the flattering one. If you buy ground, expect roughly half the window of whole bean.",
      "merchant_remediation": "State two windows with units — unopened and after opening — and differentiate them for each grind state you sell, rather than carrying one figure across every offer.",
      "grounding": {
        "demand_basis": ["consumer_buying_guide", "trade_body_definition", "buyer_community_evidence"],
        "citations": [
          { "source": "National Coffee Association, storage and shelf life guidance", "url": "https://www.aboutcoffee.org/beans/storage-and-shelf-life/", "kind": "trade_body", "establishes": "materially shorter windows than specialty marketing implies — one to two weeks for ground and one to three for whole beans at room temperature — and that unopened packages retain freshness until the best-by date, which is a different anchor entirely" },
          { "source": "America's Test Kitchen", "url": "https://www.americastestkitchen.com/articles/8092-how-to-tell-if-your-coffee-is-fresh", "kind": "consumer_guide", "establishes": "the consumer-facing separation of quality from safety: flavour deteriorates after two to three weeks while the beans remain safe for months, which is why a safety statement cannot answer a freshness question" }
        ],
        "refutation": {
          "challenged": "Whether shelf-life duration is shopper-driven or a trade preoccupation.",
          "verdict": "survived",
          "resolution": "The refuting pass placed roast date, shelf life and storage together inside the verified shopper-driven core on live search-intent evidence and independently verified the trade association's one-to-three versus one-to-two week split. The entry stays advisory because no external definition exists to check any stated number against."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-ROASTORDER-001",
      "question": "Will this be roasted after I order, and how soon after roasting does it ship?",
      "assertion": { "subject": "roast_to_dispatch_bound", "operator": "is_stated", "expected": true },
      "tier": "advisory",
      "applicability": { "applies_when": "the seller makes a roast-to-order or freshness-at-dispatch claim", "signal": "product or policy text claims roasting on demand" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a stated maximum interval between roasting and dispatch with units, plus a roast schedule and an order cut-off making it auditable" }
      ],
      "insufficient_evidence": [
        { "form": "\"ships within 24 hours\"", "why_not": "The cleanest and most common trap in the freshness class: it is dispatch latency, not roast age. A bag roasted three weeks ago also ships within twenty-four hours, so any check matching a short interval near freshness language accepts a statement that constrains nothing." },
        { "form": "\"roasted to order\" unqualified", "why_not": "It describes the workflow rather than the latency and is compatible with the next scheduled batch being days away." },
        { "form": "\"we roast Mondays\" with no dispatch commitment", "why_not": "A Monday roast dispatched Friday loses four days, and the schedule alone conceals that." },
        { "form": "a subscription cadence read as a roast-to-delivery bound", "why_not": "Delivery every two weeks says nothing about the age of the coffee in any one delivery." },
        { "form": "express or free two-day shipping", "why_not": "Courier speed is substituted for roast recency, which is the substitution this entry exists to refuse." },
        { "form": "a roast-to-order claim on a page where no roast date reaches the buyer", "why_not": "The promise is then structurally unfalsifiable, because the buyer has no way to check the thing they were sold on." }
      ],
      "conflict_rules": [
        { "when": "the only quantified interval on the page is a shipping interval", "resolution": "refuse the freshness reading; the tractable check here is negative rather than positive" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "75-95%",
        "in_target_band": false,
        "reasoning": "Very few sellers commit to a roast-to-dispatch maximum with a cut-off, while many make an unqualified roast-to-order claim, so the assertion as specified would fail for nearly all of them. Its value is in distinguishing the two rather than in the pass rate.",
        "measured": false
      },
      "consumer_note": "Ships within twenty-four hours tells you when the parcel leaves, not how old the coffee is. The claim worth looking for names a maximum time between roasting and dispatch, and it is only checkable if the bag that arrives carries its roast date.",
      "merchant_remediation": "State a maximum roast-to-dispatch interval with units alongside your roast schedule and order cut-off, and print the roast date on the bag so the commitment can be checked.",
      "grounding": {
        "demand_basis": ["buyer_community_evidence", "documented_complaint_pattern"],
        "citations": [
          { "source": "Shopify App Store listing for a coffee roasting-schedule application", "url": "https://apps.shopify.com/roasterly-coffee-schedule", "kind": "retailer_help_centre", "establishes": "that roast-to-order fulfilment is a real tooled operational pattern on the platform this standard targets, with software existing to turn incoming orders into roasting schedules — so the claim describes a genuine workflow rather than only a marketing posture" }
        ],
        "refutation": {
          "challenged": "Whether the buyer-community evidence for roast-to-dispatch was ever actually read, as opposed to cited by thread title.",
          "verdict": "narrowed",
          "resolution": "The refuting pass found that the entire case rested on forum threads whose contents neither the researcher nor the refuter could retrieve, because the forums block automated access. The demand claim is therefore weaker than the research presented, the entry is advisory, and the citation retained is the platform tooling rather than the unread threads."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-GRINDDATE-001",
      "question": "If I choose the ground option, when is it actually ground?",
      "assertion": { "subject": "grind_timing", "operator": "is_stated", "expected": true },
      "tier": "advisory",
      "applicability": { "applies_when": "the page offers a ground option", "signal": "a purchasable ground or brew-specific grind option exists" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a statement of when grinding occurs relative to order and dispatch, together with a freshness window stated for the ground state" }
      ],
      "insufficient_evidence": [
        { "form": "a grind dropdown with no statement of when grinding happens", "why_not": "The commonest shape, and it silently inherits whatever freshness copy was written for whole bean." },
        { "form": "\"ground fresh to order\"", "why_not": "In practice this usually means ground at pack time within the same batch, so the roast date is unchanged while the freshness clock is roughly halved, and the page almost never says so." },
        { "form": "the whole-bean freshness window quoted where the selected variant is ground", "why_not": "The two states have materially different windows, so the figure is wrong for the offer being bought." },
        { "form": "the roast date offered as the answer", "why_not": "A bag ground on day one and one ground on day twenty share a roast date and are not equivalent products." },
        { "form": "a grind named only by brew method", "why_not": "Grind size drives the degassing rate, and method names do not pin a particle size." }
      ],
      "conflict_rules": [
        { "when": "the page sells a ground option and states only a whole-bean window", "resolution": "record the undifferentiated window as the finding; the readable grind option is what makes this check possible at all" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "85-98%",
        "in_target_band": false,
        "reasoning": "Grind timing is essentially never stated, so this would fail for almost every page offering a ground option. It is published because the asymmetry it exposes is genuinely useful: the grind option is machine-readable while the grind date is not, which converts an unreadable question into a readable structural check.",
        "measured": false
      },
      "consumer_note": "Ground coffee stales faster than beans, so when it was ground matters as much as when it was roasted. Ground fresh to order usually means ground when the bag was packed rather than when you ordered.",
      "merchant_remediation": "State when grinding happens relative to dispatch, and give a freshness window for the ground state rather than reusing the whole-bean figure.",
      "grounding": {
        "demand_basis": ["trade_body_definition", "consumer_buying_guide"],
        "citations": [
          { "source": "Smrke and others, Journal of Agricultural and Food Chemistry", "url": "https://pubmed.ncbi.nlm.nih.gov/29091435/", "kind": "academic", "establishes": "that the degassing rate of ground coffee depends strongly on grind size and roast temperature and less on roast degree, so ground is not one state and a coarse and an espresso grind of the same lot do not behave alike" },
          { "source": "National Coffee Association, storage and shelf life guidance", "url": "https://www.aboutcoffee.org/beans/storage-and-shelf-life/", "kind": "trade_body", "establishes": "the shorter room-temperature window for ground coffee against whole beans, and the surface-area mechanism behind it" }
        ],
        "refutation": {
          "challenged": "Whether shoppers ask when the coffee was ground, or whether this is inferred from the beans-versus-ground discussion.",
          "verdict": "demoted",
          "resolution": "The research itself marked the demand as inferred rather than directly evidenced, which is why the entry is advisory. What survives independently is the structural observation that a page selling a ground option and stating only a whole-bean window is making an undifferentiated claim."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-VALVE-001",
      "question": "Does the bag have a one-way valve to let the gas out?",
      "assertion": { "subject": "degassing_valve", "operator": "is_stated", "expected": true },
      "tier": "advisory",
      "applicability": { "applies_when": "the product is roasted coffee in a bag", "signal": "product text discusses packaging" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "an explicit statement that this product's packaging includes a one-way degassing valve, attached to the size actually being sold" }
      ],
      "insufficient_evidence": [
        { "form": "\"airtight\", \"resealable\", \"zip-lock\", \"tin tie\"", "why_not": "These are closures rather than valves, a valved bag with no zipper and a resealable bag with no valve are both common, and a tin tie is documented as not airtight." },
        { "form": "a product photograph appearing to show a valve", "why_not": "Image content is not read, is frequently a stock or lifestyle shot, and often shows a different size or an older bag design." },
        { "form": "a valve claimed on the brand's packaging page but not on this product", "why_not": "Valve presence commonly varies by size within one brand, so a site-level claim does not establish a fact about this offer." },
        { "form": "\"keeps coffee fresh\" or \"oxygen barrier\"", "why_not": "Outcome and film claims rather than the valve, and the two are different mechanisms." },
        { "form": "\"vacuum sealed\"", "why_not": "A vacuum pack and a valved pack are different and largely incompatible approaches." }
      ],
      "conflict_rules": [
        { "when": "a closure and a valve are both mentioned", "resolution": "record them separately; conflating closure with valve is the specific confusion this entry exists to catch" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "70-95%",
        "in_target_band": false,
        "reasoning": "Valve presence is rarely stated per product even where the bag has one, so the assertion would fail for most pages. It is published mainly so that the closure-versus-valve confusion is named, which is the part of this question a machine can genuinely check.",
        "measured": false
      },
      "consumer_note": "A one-way valve lets carbon dioxide out without letting oxygen in, and only works while the seal is intact. It tells you nothing about how old the coffee is, so it is not a substitute for a roast date.",
      "merchant_remediation": "If the pack for this size has a one-way valve, say so on the product page and keep it distinct from resealability, which is a different feature.",
      "grounding": {
        "demand_basis": ["trade_convention_only", "consumer_buying_guide"],
        "citations": [
          { "source": "Perfect Daily Grind", "url": "https://perfectdailygrind.com/2019/04/roasted-coffee-packaging-the-different-bags-you-can-choose-from/", "kind": "trade_press", "establishes": "the documented function of a one-way degassing valve and the precondition that defeats the claim, namely that the bag must be completely sealed for it to be effective — and separately that a tin tie is not airtight while a zipper creates a seal" }
        ],
        "refutation": {
          "challenged": "Whether buyers ask about valve presence before purchase at all.",
          "verdict": "demoted",
          "resolution": "The research volunteered that it found no buyer thread asking for valve presence pre-purchase and recorded the demand as trade-taught rather than shopper-originated. The refuting pass agreed, placing the whole packaging tier among the classes to cut and noting that three of its four entries refute themselves. This entry survives only as advisory, and only because the closure-versus-valve confusion is a checkable defect."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-BIRD-001",
      "question": "Is this coffee shade grown, and is that the same as bird friendly?",
      "assertion": { "subject": "shade_habitat_scheme_membership", "operator": "resolves_against_register", "expected": true },
      "tier": "advisory",
      "applicability": { "applies_when": "the page makes a shade-grown, bird-friendly or habitat claim", "signal": "shade or habitat language in product text" },
      "accepted_evidence": [
        { "surface": "external_register", "form": "the farm on the certifier's public certified-farms list, the importer on its certified-importers list, or the roaster and this named product in its buy-online directory" },
        { "surface": "product_description", "form": "the named scheme and the current mark, distinct from generic shade language" }
      ],
      "insufficient_evidence": [
        { "form": "\"shade grown\", \"canopy grown\", \"grown under native shade\"", "why_not": "None is the certification, and this is the highest-volume near-miss in coffee because it describes exactly the practice the certification measures." },
        { "form": "a different sustainability seal offered as equivalent", "why_not": "The main alternative scheme has no shade requirement at all, so the substitution swaps a real habitat claim for a weaker and different one." },
        { "form": "an older version of the mark", "why_not": "Superseded seals remain in circulation, so the mark's version is part of what a reader has to check." },
        { "form": "a certified farm named while the roaster holds no seal-use agreement", "why_not": "The certifier requires a signed agreement plus periodic volume reporting from the roaster, so farm certification alone does not authorise a seal on a retail bag." },
        { "form": "\"supports migratory birds\" or donation language", "why_not": "A contribution is not a habitat property of this coffee." },
        { "form": "absence from the public list read as absence of certification", "why_not": "The lists carry no dates or status fields, so a match is good evidence while a non-match is no evidence." }
      ],
      "conflict_rules": [
        { "when": "the roaster appears in the buy-online directory but this product does not", "resolution": "record the roaster-level match and state that it does not reach this product, because the directory names specific products" }
      ],
      "public_inspectable": false,
      "evidence_surfaces": ["external_register", "product_description"],
      "registry": {
        "resolvable": true,
        "register_name": "Smithsonian Migratory Bird Center Bird Friendly certified-farms, certified-importers and buy-online directories",
        "operator": "Smithsonian's National Zoo and Conservation Biology Institute",
        "lookup_key": "farm or producer name, importer name, or roaster and product name",
        "lookup_method": "Three curated public HTML lists, free and filterable, covering certified coffee farms, certified importers, and a buy-online directory naming specific roasters and products. No certificate numbers, no certification dates, no status field, no last-updated stamp, no API and no bulk download.",
        "resolves_to_level": "farm_or_group",
        "public_free": true,
        "machine_queryable": false,
        "engine_can_perform": false,
        "notes": "Unusually, the buy-online directory names specific products, making this one of very few coffee claims a machine could in principle resolve to a named product from a public source — but with no IDs, dates or status, a match proves listing rather than current certification."
      },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "80-97%",
        "in_target_band": false,
        "reasoning": "Very few coffee pages carry this specific scheme, while generic shade language is common, so an assertion demanding the scheme would fail for nearly every page making a habitat claim. Published as advisory so the shade-versus-scheme distinction is on record.",
        "measured": false
      },
      "consumer_note": "Shade grown describes a farming practice that no one audits; the habitat scheme that does audit it maintains public lists of certified farms, importers and even specific products you can search yourself. The better-known green seal has no shade requirement.",
      "merchant_remediation": "Name the habitat scheme and use its current mark rather than generic shade language, and where you hold a seal-use agreement, make the certified farm or importer identifiable so a reader can find it in the public lists.",
      "grounding": {
        "demand_basis": ["consumer_buying_guide", "certification_body_material"],
        "citations": [
          { "source": "National Audubon Society, how to choose a bird-friendly coffee", "url": "https://www.audubon.org/news/how-choose-bird-friendly-coffee", "kind": "consumer_guide", "establishes": "that consumer guidance directs shoppers to look for specific seals and to visit the certifier's website to find where to buy, which is demonstrable shopper-side use of a certification as a purchase key" },
          { "source": "Coffee & Conservation, guide to coffee certifications", "url": "https://www.coffeehabitat.com/certification-guide/", "kind": "consumer_guide", "establishes": "that the main alternative scheme has no shade-management criteria and does not require shade cover for years, so certified coffee under it may not be shade grown — the substitution a shopper is most likely to make" },
          { "source": "Smithsonian's National Zoo, guidance for importers, roasters and distributors", "url": "https://nationalzoo.si.edu/migratory-birds/for-importers-roasters-and-distributors", "kind": "certification_body", "establishes": "that farms hold the certification while importers and roasters obtain seal-use rights by legal agreement with periodic volume reporting, which is why a certified farm does not authorise a roaster's on-pack seal" }
        ],
        "refutation": {
          "challenged": "Whether any certification question survives the finding that certificate auditing is trade rather than shopper behaviour.",
          "verdict": "survived",
          "resolution": "This is the one that survives. The refuting pass cut the certificate-verification tier as trade-invented but named shade-grown and bird-friendly as the exception, because independent conservation and consumer-guide sources genuinely instruct shoppers here. It also confirmed the registers resolve farms rather than roasters and carry no status field, which is why the entry is advisory rather than blocked-pending-a-lookup."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-VAR-001",
      "question": "What variety is this, and can a Geisha claim be checked?",
      "assertion": { "subject": "coffee_variety", "operator": "is_stated", "expected": true },
      "tier": "advisory",
      "applicability": { "applies_when": "the page names a coffee variety", "signal": "a variety name in product text" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a variety name that resolves in the published varieties catalogue, attributed to this lot, ideally with the producer so the seed source is traceable" }
      ],
      "insufficient_evidence": [
        { "form": "\"Geisha\" or \"Gesha\" with nothing else", "why_not": "Independent conformity work on plant material found a high rate of misidentification, so the bare name is weak evidence even of good faith." },
        { "form": "\"heirloom\" treated as a variety", "why_not": "It is not a variety; it is an admission that the variety is unidentified, so a check that accepts it credits an absence as a presence." },
        { "form": "a catalogue link presented as verification", "why_not": "The catalogue proves the variety exists and describes it; it says nothing about whether this bag contains it, and its own lookup method confirms that." },
        { "form": "\"Gesha-influenced\", \"Gesha type\", \"Panamanian-style Geisha\"", "why_not": "Deliberately unfalsifiable hedges that borrow the name's value without making its claim." },
        { "form": "\"Arabica\" offered as a variety", "why_not": "That is a species, not a variety, and it is true of almost all specialty coffee." },
        { "form": "a competition result for a different lot from the same farm", "why_not": "A farm's other lots are not this lot, and this is the highest-yield near-miss because the farm genuinely did place." }
      ],
      "conflict_rules": [
        { "when": "the page names a variety and the origin's material is generally unidentified", "resolution": "record the stated name; saying the variety is not identified is the honest and checkable alternative for such origins" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": {
        "resolvable": false,
        "register_name": "World Coffee Research varieties catalogue",
        "lookup_key": "variety name",
        "lookup_method": "A public reference catalogue of variety descriptions and agronomic data. It resolves whether a variety NAME exists and what it is; it has no seller, brand, product or lot lookup and cannot authenticate a bag. Genetic identity requires shipping beans to a laboratory at material cost.",
        "resolves_to_level": null,
        "public_free": true,
        "machine_queryable": false,
        "engine_can_perform": false,
        "notes": "Recorded as not resolvable despite a real public catalogue existing, because the catalogue answers a question about the variety rather than about the product."
      },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "50-85%",
        "in_target_band": true,
        "reasoning": "Specialty single-origin pages name a variety often and blends and mainstream listings almost never, so a genuine split exists. The band is a hypothesis about seller populations and the assertion could only ever check that a name is stated.",
        "measured": false
      },
      "consumer_note": "Variety is a real and interesting fact and an unverifiable one from a page: the public catalogue tells you what a variety is, not whether your bag contains it. For the most valuable names, independent work on plant material has found misidentification is common.",
      "merchant_remediation": "Name the variety and the producer so the seed source can be traced, and where the variety is genuinely unknown say so, which is more useful than a catch-all name.",
      "grounding": {
        "demand_basis": ["trade_body_definition", "trade_convention_only"],
        "citations": [
          { "source": "World Coffee Research varieties catalogue", "url": "https://varieties.worldcoffeeresearch.org/", "kind": "trade_body", "establishes": "that a public reference catalogue of coffee varieties exists with agronomic descriptions, and — by containing no product, brand or lot lookup — that it cannot authenticate a retail claim" }
        ],
        "refutation": {
          "challenged": "Whether variety is a shopper question and whether the catalogue makes the claim registry-resolvable as the research asserted.",
          "verdict": "demoted",
          "resolution": "Both challenges landed. The refuting pass confirmed the catalogue is a variety-name reference with no seller, brand, SKU or lot lookup, so it cannot authenticate a bag and the research's own stated lookup method contradicted its own status label. It also placed the specialty-provenance tier as largely trade-invented, and noted that the misidentification figure concerns nursery and seed-lot plant material rather than retail bags. The entry is advisory and its registry block records resolvable as false."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-CUP-001",
      "question": "Is there a cupping score, and does it come with enough detail to mean anything?",
      "assertion": { "subject": "cupping_score_with_protocol", "operator": "is_stated", "expected": true },
      "tier": "advisory",
      "applicability": { "applies_when": "the page states a cupping score or a specialty grade", "signal": "a numeric score or grade claim in product text" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a score with its protocol, its evaluator and its date, or a green-grading result stated in the protocol's own terms with the sample mass named" }
      ],
      "insufficient_evidence": [
        { "form": "a score with no protocol, cupper or date", "why_not": "A score is a measurement and a measurement without its method is not evidence, because run-to-run and cupper-to-cupper variation is real." },
        { "form": "\"specialty coffee\" as a category word", "why_not": "It names a market segment rather than a grade, and no defect result accompanies it." },
        { "form": "\"Q graded\" with no grader named and no report", "why_not": "The credential belongs to a person, so citing it without the person is unverifiable." },
        { "form": "an origin grade offered as evidence of a cupping score", "why_not": "Origin grades encode bean size or altitude bands assigned at export, which is a different system with a different criterion." },
        { "form": "\"premium\", \"gourmet\", \"top one per cent\"", "why_not": "No body defines these, so they resolve against nothing." },
        { "form": "a defect count with no sample mass, or one mass compared against another without conversion", "why_not": "Counts are only comparable on a stated basis, and the protocols differ in the mass they use." },
        { "form": "last season's score carried over to this lot", "why_not": "A score belongs to the lot that was cupped, and a new harvest is a new lot." }
      ],
      "conflict_rules": [
        { "when": "an in-house score is presented in a form resembling a formal protocol result", "resolution": "record the score and the absence of a named protocol and evaluator; the standard reports what is stated rather than ranking the source" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description"],
      "registry": { "resolvable": false, "engine_can_perform": false, "notes": "Competition results are published for competition lots, which is a small fraction of coffee and does not constitute a register of scores." },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "80-97%",
        "in_target_band": false,
        "reasoning": "Scores appear on a minority of pages and almost never with protocol, evaluator and date, so the assertion as specified would fail for nearly all of them. Published as advisory because the bare-number form is worth naming as insufficient rather than because the row should be run.",
        "measured": false
      },
      "consumer_note": "A cupping score is a measurement by a person under a protocol on a particular day, and a bare number carries none of that. Two cuppers and two sessions can differ, so a score without its method is closer to a slogan than a specification.",
      "merchant_remediation": "Publish the score with the protocol, the evaluator and the date, and keep it attached to the lot it was measured on rather than to the product across seasons.",
      "grounding": {
        "demand_basis": ["trade_body_definition", "trade_convention_only"],
        "citations": [
          { "source": "Specialty Coffee Association, coffee standards index", "url": "https://sca.coffee/research/coffee-standards", "kind": "trade_body", "establishes": "that the published trade standards cover sensory assessment protocols and evaluator competencies, which is what makes protocol, evaluator and sample mass the elements a stated score needs in order to be interpretable" }
        ],
        "refutation": {
          "challenged": "Whether cupping scores are a shopper question at all.",
          "verdict": "demoted",
          "resolution": "The refuting pass placed cupping scores inside the specialty-provenance tier it recommended cutting, on the grounds that the sources define terms rather than evidence demand. The entry is retained as advisory because a bare score is a common and misleading page element worth naming, and its demand basis carries a trade-convention warning label rather than claiming buyer evidence."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-RETURN-001",
      "question": "If I do not like the coffee, can I send it back after I have opened the bag?",
      "assertion": { "subject": "opened_consumable_return_terms", "operator": "is_stated", "expected": true },
      "tier": "advisory",
      "applicability": { "applies_when": "the product is a consumable sold to a consumer at distance", "signal": "any purchasable coffee product" },
      "accepted_evidence": [
        { "surface": "shipping_policy", "form": "an explicit statement of whether an opened bag may be returned, with the window, the mechanism and the remedy" },
        { "surface": "product_faq", "form": "the same statement attached to this product" }
      ],
      "insufficient_evidence": [
        { "form": "a thirty-day returns window with no statement about opened product", "why_not": "For a durable good the window is the policy; for a consumable it is half the policy, and the missing half decides every real case — you cannot know you dislike coffee without opening it." },
        { "form": "\"satisfaction assured\" or \"not happy? let us know\"", "why_not": "Discretionary goodwill with no window, no mechanism, no remedy and no obligation." },
        { "form": "\"contact us within 30 days\"", "why_not": "A duty to ask is not a right to a refund." },
        { "form": "store credit presented as a refund", "why_not": "A credit is not a return of the price paid, and where a statutory cancellation right applies it does not discharge it." },
        { "form": "structured returns data asserting a window while the linked policy excludes opened goods", "why_not": "The machine-readable field and the prose disagree, and a check reading only the field passes a policy that is effectively void for this category." },
        { "form": "\"for food safety and hygiene reasons we cannot accept returns of opened products\"", "why_not": "It reads as a statement of law and, for sealed shelf-stable roasted coffee sold to an EU or UK consumer, is likely wrong on both available exceptions: the coffee does not deteriorate rapidly, and the hygiene exception addresses goods sealed for health protection with a seal the bag does not carry." }
      ],
      "conflict_rules": [
        { "when": "structured data and the policy prose disagree on the window", "resolution": "record both and report the disagreement; the standard does not decide which governs", "precedence": ["shipping_policy", "product_faq"] }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["shipping_policy", "product_faq"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "70-95%",
        "in_target_band": false,
        "reasoning": "Almost no policy addresses the opened-bag case explicitly, which is precisely why the question matters, so the assertion would fail for nearly everyone. Published as advisory because the substantive legal reading is contested and a standard should not assert a violation it cannot establish.",
        "measured": false
      },
      "consumer_note": "A returns window that says nothing about opened bags leaves out the only case that arises for coffee. Where a seller cites food safety as the reason, that is often their policy rather than the law, and for sealed shelf-stable coffee an EU or UK cancellation right may still apply.",
      "merchant_remediation": "State plainly whether an opened bag may be returned, with the window, the mechanism and whether the remedy is money or credit, rather than relying on a generic window.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "documented_complaint_pattern"],
        "citations": [
          { "source": "EU Consumer Rights Directive 2011/83/EU, Articles 6, 16(d) and 16(e)", "url": "https://eur-lex.europa.eu/eli/dir/2011/83/oj/eng", "kind": "legal_instrument", "establishes": "that the trader must inform the consumer of the cancellation right before the contract, and that the exceptions relied on for food cover goods liable to deteriorate rapidly and goods sealed for health protection whose seal has been broken — neither of which plainly reaches sealed shelf-stable roasted coffee" }
        ],
        "refutation": {
          "challenged": "Whether the reading that the food and hygiene exceptions do not cover sealed roasted coffee is defensible enough to publish.",
          "verdict": "narrowed",
          "resolution": "It is defensible and not settled, so the entry is advisory and its wording says the seller's reasoning is likely wrong rather than that it is unlawful. The commercial-terms mandates in this class were separately confirmed by the refuting pass as genuine web-page obligations, unlike the food-labelling rules corrected elsewhere in this standard."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-CANCEL-001",
      "question": "If I subscribe, can I cancel online myself, where I signed up?",
      "assertion": { "subject": "self_serve_cancellation", "operator": "is_stated", "expected": true },
      "tier": "advisory",
      "applicability": { "applies_when": "the page offers a recurring purchase option", "signal": "a subscription or recurring option on the page" },
      "accepted_evidence": [
        { "surface": "product_description", "form": "a named cancellation mechanism in the same place the buyer signs up, with any cut-off stated" },
        { "surface": "shipping_policy", "form": "the same mechanism described in the terms attached to the offer" }
      ],
      "insufficient_evidence": [
        { "form": "\"cancel anytime\"", "why_not": "The near-miss that will fool every keyword check. The whole premise of the regulation in this area is that the phrase is printed constantly and not honoured; it names no mechanism, no location and no cut-off, and it is fully consistent with a flow requiring a phone call during business hours." },
        { "form": "\"manage your subscription in your account\"", "why_not": "Managing is not cancelling; many portals offer only skip, pause, delay and swap." },
        { "form": "\"pause or skip anytime\" where cancel is absent", "why_not": "Deferring a shipment is not ending the commitment." },
        { "form": "\"contact us to cancel\" framed as convenience", "why_not": "It relocates the mechanism to a channel the seller controls and can queue." },
        { "form": "a cancel link that opens a retention flow with no terminal cancel", "why_not": "An offer to stay is not a mechanism to leave." },
        { "form": "a claim of compliance with a click-to-cancel rule", "why_not": "The federal rule most often named was vacated, so a compliance claim naming it refers to a rule that does not exist and should be read as a warning sign rather than as evidence." }
      ],
      "conflict_rules": [
        { "when": "the subscription selector is injected client-side and the terms are server-rendered", "resolution": "record that the offer terms could not be read from the page as served rather than that they are absent" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["product_description", "shipping_policy"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "75-95%",
        "in_target_band": false,
        "reasoning": "A named self-serve mechanism with a cut-off is rare while the unqualified phrase is near-universal, so the assertion would fail for nearly every page offering a subscription. Its value is entirely in refusing the phrase rather than in the pass rate.",
        "measured": false
      },
      "consumer_note": "Cancel anytime is the phrase regulators built rules around because it is printed constantly and often not honoured. What matters is whether the page names where and how you cancel, and whether there is a cut-off before the next shipment.",
      "merchant_remediation": "Name the cancellation mechanism and its location in the same place the buyer subscribes, state any cut-off, and make the flow terminate in an actual cancellation rather than in a retention offer.",
      "grounding": {
        "demand_basis": ["regulatory_requirement", "documented_complaint_pattern"],
        "citations": [
          { "source": "US Restore Online Shoppers' Confidence Act, 15 USC 8403", "url": "https://www.law.cornell.edu/uscode/text/15/8403", "kind": "legal_instrument", "establishes": "that a negative-option seller must provide simple mechanisms to stop recurring charges and must disclose material terms before obtaining billing information, which makes the cancellation mechanism a regulated web-page element" }
        ],
        "refutation": {
          "challenged": "Whether the subscription-complaint statistic underpinning this class could be verified, and whether a vacated rule was being cited as live law.",
          "verdict": "narrowed",
          "resolution": "The complaint statistic could not be verified anywhere by the refuting pass, including in the legal alert the research leaned on, so it is not cited here. The research had already correctly recorded that the federal click-to-cancel rule was vacated rather than treating struck-down law as live, and the refuting pass credited that; this entry cites the underlying statute instead and treats a compliance claim naming the vacated rule as a warning sign."
        }
      }
    },
    {
      "id": "ALS-COFFEE-1.0-DUTY-001",
      "question": "If this ships to my country, who pays the customs duty and import tax?",
      "assertion": { "subject": "import_duty_incidence", "operator": "is_stated", "expected": true },
      "tier": "advisory",
      "applicability": { "applies_when": "the seller offers international shipping", "signal": "international shipping offered in policy or checkout terms" },
      "accepted_evidence": [
        { "surface": "shipping_policy", "form": "a statement of which party bears duty and import tax, scoped to the destinations it applies to" }
      ],
      "insufficient_evidence": [
        { "form": "\"we ship worldwide\"", "why_not": "No destination list and no duty statement, and frequently untrue at checkout." },
        { "form": "\"taxes and duties calculated at checkout\"", "why_not": "This describes a process rather than a term and does not say who ends up paying; it is the single most common way the question is dodged while appearing answered." },
        { "form": "\"free shipping over a threshold\" where the threshold is domestic only", "why_not": "A check extracting a zero shipping rate records free international shipping, which is the opposite of the term." },
        { "form": "\"prices exclude taxes\"", "why_not": "It states neither what will be added nor by whom." },
        { "form": "a delivered-duty term with no country scope", "why_not": "Such terms are typically offered on some lanes only, so an unscoped statement is not a term for the buyer's destination." },
        { "form": "a destination list with no duty term", "why_not": "It satisfies structured-data validation while leaving the buyer exposed to the surprise the question is about." }
      ],
      "conflict_rules": [
        { "when": "a duty statement predates a change in a destination's de minimis treatment", "resolution": "treat the statement as suspect for that destination and record its scope rather than accepting it as current" }
      ],
      "public_inspectable": true,
      "evidence_surfaces": ["shipping_policy"],
      "registry": { "resolvable": false, "engine_can_perform": false },
      "predicted_discrimination": {
        "predicted_fail_rate_band": "60-90%",
        "in_target_band": false,
        "reasoning": "Most sellers offering international shipping describe a process rather than stating who bears duty, so the assertion would fail for a large majority. Published as advisory because the checkout-time dodge is worth naming and because scoping the term by destination is beyond what a product page usually carries.",
        "measured": false
      },
      "consumer_note": "Duty and import tax on a coffee parcel can arrive as a demand at the door, and calculated at checkout does not tell you who pays. The term you want names the party and the destinations it covers.",
      "merchant_remediation": "State who bears duty and import tax, scoped to the destinations the term covers, in the shipping policy rather than deferring the answer to checkout.",
      "grounding": {
        "demand_basis": ["documented_complaint_pattern", "consumer_buying_guide"],
        "citations": [
          { "source": "Baymard Institute checkout usability research", "url": "https://baymard.com/lists/cart-abandonment-rate", "kind": "academic", "establishes": "that unexpected costs added at or after checkout are among the leading measured causes of cart abandonment, which is the documented consequence of leaving duty incidence unstated" }
        ],
        "refutation": {
          "challenged": "Whether the abandonment figures cited for this question were verifiable and whether the question is coffee-specific.",
          "verdict": "narrowed",
          "resolution": "The refuting pass verified the abandonment research figures and placed cost transparency including duty inside the verified shopper-driven core. It is not coffee-specific, which is why it is advisory here rather than a headline assertion, and it is retained because coffee is a low-value, frequently cross-border parcel where a duty demand is disproportionate to the order."
        }
      }
    }
  ]
}
