# Manual coffee and tea prep: research notes

Date: 2026-10-25. Scope: unpowered hand tools that brew or grind coffee: pour-over drippers, French presses and other immersion brewers (AeroPress-style presses, steep-and-release drippers such as the Hario Switch, cold-brew jars), hand burr grinders, and espresso hand tools that fit a basket size (tampers, distribution tools, dosing funnels, replacement baskets). One register; the `product_type` split routes between the three tool families.

Update, 2026-10-25 (post-check): loose-leaf tea infusers and steepers are dropped from this leaf's scope. They were claimed in full by `strainers` (tool_job "steeping tea", `infuser_style`, `mesh_fineness` already cover the Finum and the rest), and the two registers would otherwise both claim the same products. This leaf keeps the label "Manual Coffee & Tea Prep" from the catalog taxonomy, but owns no tea products; flagged for the taxonomy owner, same as the `coffee_makers` overlap below. Frothing pitchers and knock boxes are also dropped: basket size means nothing for either, and neither is sourced here. Coffee scoops (routed here by `measuring-cups`' notes) and coffee scales (seen on Normcore's site but not a catalog leaf) are declined for the same reason: no facet in this register fits a product with no brew method, grind range or basket size, and scoop/scale quality isn't researched here.

Overlaps with siblings, left to them:

- Moka pots and gooseneck kettles go to `stovetop-kettles` (its add-on carries `moka_cup_size` and `induction_compatible`).
- Paper and reusable filters go to `coffee-filters` (its add-on carries `filter_size_standard`). This register keeps only the brewer's side of that fit (`paper_filter_fit`: which paper the dripper takes).
- Teapots, kyusu, gaiwans and coffee servers go to furnishings / tableware `coffee_servers` ("Coffee Servers & Tea Pots"). A teapot with a built-in strainer is theirs; a loose basket that drops into a pot is ours (moot now that tea infusers are dropped; kept for the record).
- Loose-leaf tea infusers, steepers and tea strainers sold as general kitchen strainers all go to `strainers`.
- Electric grinders go to machines `coffee_grinders`. Lever espresso machines go to machines `coffee_makers`, whose `machine_type` enum also lists `pour_over_dripper_manual` and `french_press_electric`. That enum overlaps this leaf; this register treats unpowered drippers and presses as ours and flags the overlap for the taxonomy owner.

Quote labels: **verbatim** = the sentence in quotation marks was in raw text I read myself (curl plus tag stripping, PubMed E-utilities plain text, or the Internet Archive copy where named); **fetched excerpt** = the WebFetch tool returned it (a model summary, quoted where it said it quoted); **search excerpt** = a search-engine summary only. No search-excerpt-only number is in category.json.

Session note: the web-search budget for this session ran out after five searches (the counter is shared with the concurrent runs). Everything after that came from URLs I already had, links inside fetched pages, Wikipedia, PubMed E-utilities, the Internet Archive's availability API, and direct Amazon product pages, which loaded with curl this time.

## Seed

Seed output (verbatim):

```
=== Example entry (from an unrelated category) ===
category: olive-oil
what this shows: a facet that experts rank first, that almost no listing carries, and that is expensive to backfill. The honest answer is to list it, mark it researched, and limit backfill to the top of the catalog. Also shows a derived metric hanging off a researched facet.

<example>
{
  "id": "harvest_date",
  "label": "Harvest date",
  "definition": "The month and year the olives were picked, as opposed to the best-before date, which is set by the bottler and tells you nothing.",
  "why_experts_care": "Extra virgin oil is a fruit juice and loses the compounds that give it flavour and most of its claimed health effects within about 12 to 18 months of harvest. A bottle with a best-before two years out may already be a year old. People who buy well look for the harvest date and buy within a year of it.",
  "kind": "text",
  "roles": ["annotation", "sort_key"],
  "novice_answerable": false,
  "source": "researched",
  "listing_field_hint": "Rarely present. When it is, it is in a photo of the back label, not a field.",
  "backfill_cost": "high",
  "backfill_note": "Needs a label photo read or a producer page. Backfill the top 100 ranked oils and lazy-load the rest. Where the producer gives only a best-before, record it as unknown rather than guessing.",
  "visual": { "chartable": true, "encoding": "months since harvest on a horizontal scale, with the 12 and 18 month marks drawn" },
  "priority": { "narrows_set": 4, "cost_to_answer": 4 },
  "evidence": ["ucdavis_olive_center", "oliveoiltimes_freshness"]
}
</example>

Derived metric that follows from it:
{
  "id": "months_since_harvest",
  "label": "Months since harvest",
  "formula": "months_between(today, harvest_date)",
  "depends_on": ["harvest_date"],
  "unit": "months",
  "why": "The number a buyer actually needs. Under 12 is fresh. Over 18 and the oil is past the point most tasters would call it extra virgin."
}

=== Persona ===
A pastry chef, who thinks in ratios, temperatures and why a recipe fails
```

1. **The equivalent of harvest date is the grinder's step size, in microns per click.** Experts check it first for espresso, most marketplace pages do not carry it as a field, and it settles what the title will not: many hand-grinder titles say "for Espresso" whatever the step size. The data check partly holds. 1Zpresso prints it on its own pages (8 µm per click on the espresso-labelled J-Ultra, 20 µm on the all-purpose K-Ultra). Timemore puts it in the Amazon title, and sells the same 42 mm burr at 31 µm (C5 Pro) and 15 µm (C5 ESP Pro). So backfill is cheaper than harvest date: brand pages, low cost. **Kept** as `grind_step_um`, researched, low. The truly harvest-date-like item is grind uniformity (particle size spread), which experts rank above step size. Only labs measure it (Comandante's FAQ describes its lab; Wirecutter sizes grounds with a Kruve sieve), each with its own method, and no number is comparable across sources. **Dropped** as a facet; it stays here.
2. **The pastry chef converts every volume into grams and notices that the catalog's "cups" do not convert.** A brewer's capacity only means something once it is turned into grams of coffee at a brew ratio. Wirecutter says a coffee-gear "cup" is "4 or 5 ounces", and Bodum counts the beaker while Espro counts brewed coffee. Amazon's own Capacity field says "4 cups" (Hario V60), "1.9 pounds" (Chemex) and "2 pounds" (Espro P3). The chef then runs the recipe and finds it fails at the grinder: a 34 oz press at 1:14 to 1:18 needs about 56 to 72 g of beans, and a hand grinder holds 18 to 40 g. **Kept** as the `brewer_capacity_ml` facet, the cup-count judgement (judgement 1), and two derived metrics (`beans_per_full_brew_g`, `grinder_loads_per_brew`). The chef's temperature instinct also survives: a cold ceramic or glass dripper pulls heat out of the first pour (ATK; Andytown), kept in `brewer_material`. **Dropped**: water temperature and kettle choice (the kettle is a sibling's product), and brew time (a recipe variable, not a product facet).

## Sources and what each supports

### Regulators

**US CPSC, "Bodum USA Recalls Coffee Presses Sold Exclusively at Starbucks" (2014). Internet Archive copy of 2026-03-12, because cpsc.gov returned Access Denied to curl.**
http://web.archive.org/web/20260312144820/https://www.cpsc.gov/Recalls/2014/Bodum-USA-Recalls-Coffee-Presses-Sold-Exclusively-at-Starbucks
- verbatim: "The glass carafe can fall out of the metal frame and plastic base of the coffee press and break or shatter, posing laceration and burn hazards to consumers."
- verbatim: "Bodum has received about 14 reports of the glass carafes breaking or shattering when the coffee press' plastic base separated from the metal frame. There have been four reports of minor injuries, including two lacerations and two burns."
- verbatim: "Units: About 28,000".
- Supports: a glass French press is a burn and laceration hazard when the frame fails; about 28,000 units (the recall's own count, used in a judgement note). Confidence high.

**US CPSC, "Starbucks Recalls Bodum Recycled Coffee Presses Due to Laceration Hazard" (2019). Internet Archive copy of 2026-03-15.**
http://web.archive.org/web/20260315173541/https://www.cpsc.gov/Recalls/2019/Starbucks-Recalls-Bodum-Recycled-Coffee-Presses-Due-to-Laceration-Hazard
- verbatim: "The coffee press' plunger knob can break and expose the metal rod, posing a laceration hazard."; "About 230,000 (in addition, about 33,200 units were sold in Canada)".
- Supports: a second recall on French press hardware. Confidence high.

**US FDA, "Bisphenol A (BPA): Use in Food Contact Application" (fetched excerpt; curl got a 10-byte block page)**
https://www.fda.gov/food/food-packaging-other-substances-come-contact-food-information-consumers/bisphenol-bpa-use-food-contact-application
- fetched excerpt (quoted by the tool): "BPA is safe at the current levels occurring in foods."; "FDA has amended its regulations to no longer provide for the use of BPA-based polycarbonate resins in baby bottles and sippy cups."; "BPA is an industrial chemical used to make polycarbonate, a hard, clear plastic, which is used in many consumer products."
- Supports: the US position, and that polycarbonate is the BPA plastic. Confidence medium (fetch summary, not raw text).

**European Commission, Food contact materials**
https://food.ec.europa.eu/food-safety/chemical-safety/food-contact-materials_en
- verbatim: materials "include food packaging and containers, machinery to process food, and kitchenware and tableware. These materials are called Food Contact Materials (FCMs)."; "Constituents of food contact materials that transfer from these materials into the food may affect the chemical safety of the food and affect human health"; "Regulation (EC) No 1935/2004 provides the European Commission with implementing powers to adopt or amend specific..."
- Supports: kitchenware such as brewers and infusers falls under EU food-contact law, framework Regulation 1935/2004. Confidence high.

### Standards and compliance (secondary, reading the regulation)

**UL Solutions, "Bisphenol A in Food Contact Materials: Regulation (EU) 2024/3190"**
https://www.ul.com/insights/bisphenol-food-contact-materials-regulation-eu-20243190
- verbatim: "On Dec.19, 2024, the European Commission adopted Commission Regulation (EU) 2024/3190, which bans the use of BPA in various products intended to contain food and beverages."
- verbatim: "Although the Regulation entered into force on Jan. 20, 2025, transitional periods are permitted."
- verbatim: "Repeat-use final food contact articles manufactured using BPA and complying with the rules as applicable before the date of entry into force of this Regulation, but that do not comply with the new rules, may be first placed on the market until July 20, 2026."
- Supports: the EU ban, its dates, and that reusable kitchenware made with BPA could be first placed on the EU market only until 20 July 2026. Confidence high for adoption date (two sources), medium for the July 2026 line (one source; EUR-Lex returned an empty body to curl).

**Keller and Heckman, packaginglaw.com, "EU Bans BPA and Other Bisphenols in Food-Contact Materials"**
https://www.packaginglaw.com/news/eu-bans-bpa-and-other-bisphenols-food-contact-materials
- verbatim: "On December 19, 2024, the European Commission (EC) adopted a ban on the use of bisphenol A (BPA) and other bisphenols"; "Under Commission Regulation (EU) 2024/3190 , the use of BPA and its salts is prohibited in the manufacture of food-contact plastics, varnishes and coatings, printing inks, adhesives, ion-exchange resins, silicones, and rubber."
- Supports: second source for the adoption date and that food-contact plastics are covered. Confidence high.

### Academic

**Urgert R. et al., "Comparison of effect of cafetière and filtered coffee on serum concentrations of liver aminotransferases and lipids: six month randomised controlled trial", BMJ 1996;313:1362 (PubMed 8956701, abstract read as plain text from E-utilities)**
- verbatim: "Consumption of five to six strong cups (0.9 litres) a day of either cafetière (22 subjects) or filtered coffee (24 subjects) for 24 weeks."
- verbatim: "Cafetière coffee raised low density lipoprotein cholesterol concentrations by 9-14%. After 24 weeks the rise was 0.26 mmol/l (0.04 to 0.47 mmol/l) (P = 0.03) relative to filtered coffee."; "All increases were reversible after the intervention was stopped."
- Supports: French press (cafetière) coffee raises LDL cholesterol relative to paper-filtered coffee in a randomised trial. Confidence high. The 9 to 14% figure is single-trial; it stays here, not in the JSON.

**Orrje E. et al., "Cafestol and kahweol concentrations in workplace machine coffee compared with conventional brewing methods", Nutr Metab Cardiovasc Dis 2025;35(8):103933 (PubMed 40089392, abstract read as plain text)**
- verbatim: "12 (4-24) mg/L and 8 (3-19) mg/l for home-brewed, paper-filtered coffees (n = 5)."; "Other coffee brews (percolator, French press) contained intermediate levels of cafestol (∼90 mg/L) and kahweol (∼70 mg/L)"; "Boiled coffee had high concentrations of cafestol and kahweol, 939 mg/L and 678 mg/L, but having it poured through a fabric filter reduced the concentrations to 28 and 21 mg/L."
- Supports: paper filtering leaves several times less cafestol than a French press; fabric (cloth) filtering also cuts it sharply. Confidence high for direction. The units as printed (mg/L) look high against older literature; the ratios are what I use, and no concentration goes in the JSON.

**ScienceAlert, "How You Make Your Coffee Could Affect Your Cholesterol Levels" (reporting Orrje 2025)**
https://www.sciencealert.com/how-you-make-your-coffee-could-affect-your-cholesterol-levels
- verbatim: "French presses produced coffees with moderate diterpene levels, coming in under 90 mg/L for cafestol"; "The best option seemed to be paper-filtered drip brews, clocking a median of just 11.5 mg/L of cafestol".
- Supports: same study, so not an independent second source for its numbers. Confidence n/a.

**Frost S.C., Ristenpart W.D., Guinard J.X., "Effect of Basket Geometry on the Sensory Quality and Consumer Acceptance of Drip Brewed Coffee", J Food Sci 2019 (PubMed 31269246)**
- verbatim: "coffees brewed using either semi-conical or flat-bottom filter baskets were significantly different (P < 0.05, N = 45). Additionally, coffee brewed in the semi-conical basket had significantly higher %TDS"; "roast × geometry interactions were significant for six attributes (berry flavor, bitterness, burnt wood/ash, citrus flavor, earthy flavor, and sourness)"; "the results strongly corroborate the hypothesis that basket geometry affects the sensory quality of drip brewed coffee."
- Supports: cone versus flat-bottom changes the cup, and interacts with roast. The study used drip machines; ATK says the finding "holds true for manual brewers as well" (verbatim, ATK). Confidence medium-high.

### Specialist reviewers

**Wirecutter, "The Best French Press" (updated 8 April 2025). Internet Archive copy of 2026-08-27.**
http://web.archive.org/web/20260827141003/https://www.nytimes.com/wirecutter/reviews/best-french-press/
- verbatim: "in coffee gear, a “cup” is usually defined as 4 or 5 ounces"; "Definitions of capacity differ between brands: Espro refers to how much brewed coffee a press can produce, while Bodum refers to the overall capacity of the beaker."; "due to the Espro's double-basket design, 24 ounces is the smallest amount of coffee you can make in the 32-ounce press."; "The Bodum Chambord (34 ounces)" and "we recommend buying the eight-cup version (usually 32 to 34 ounces".
- verbatim: "Every glass French press we’ve come across has a beaker made of borosilicate, a type of glass designed not to break when it undergoes a sudden temperature change . But even the nicest glass beaker made from borosilicate may crack for other reasons—say, if you knock it against the sink too hard."; "Steel presses are often double-walled to retain heat."; the P6 "Its double walls will keep coffee hot for more than an hour"; "a glass press will break if you drop it. This one won’t."
- verbatim: "a French press should have a plunger with a mesh screen that fits snugly inside: This will ensure that stray grounds don’t escape into your coffee."; "According to Espro, the gauze-like mesh is nine to 12 times finer than that of typical French press filters."; Stanley: "the plunger was too loose, so the coffee was muddy on multiple tries"; Le Creuset: "its loose plunge left too much residue in the cup".
- verbatim: test ratio "we used 25 grams of coffee to 350 milliliters of water, steeping for four minutes." (1:14).
- Supports: cup-count trap, borosilicate and breakage, double-wall heat retention, plunger seal and mesh as the press quality signal, 1:14 ratio. Confidence high.

**Wirecutter, "The Best Coffee Grinder" (updated 14 January 2026). Internet Archive copy of 2026-07-22.**
http://web.archive.org/web/20260722055734/https://www.nytimes.com/wirecutter/reviews/the-best-coffee-grinder/
- verbatim: manual grinders "require more time and physical effort, and they can usually grind only about 18 to 35 grams at a time."
- verbatim: "The C5 Pro uses a custom-designed steel conical burr, which gives it a noticeable edge (pun intended) over lower-cost manual grinders that rely on ceramic burrs ."; Porlex Mini: "we think its price isn’t justified for a ceramic burr."
- verbatim: "The 42 mm burrs are bigger than the 38 mm burrs on previous grinders in the Timemore Chestnut C-series, allowing for a slightly faster grinding process. We were able to grind through 20 grams of beans in a minute on a medium setting and in under 3 minutes on a finer setting."
- verbatim: "A few of our picks can grind fine enough for espresso, but if you want more nuance or control, you’ll want a dedicated espresso grinder ."; "A burr grinder grinds coffee much more evenly than a blade grinder."
- Supports: hand-grinder capacity, steel over ceramic at the low end, burr diameter and speed, that espresso needs more control. Confidence high.

**Wirecutter, "The Best Tea Steeper". Internet Archive copy of 2025-11-05.**
http://web.archive.org/web/20251105033457/https://www.nytimes.com/wirecutter/reviews/best-tea-steeper/
- verbatim: "Tea leaves need room to expand and to move freely through the water for their flavors to emerge fully. Switching from confined bags and balls to a larger infuser made specifically for loose-leaf tea will drastically improve the quality of the beverage you drink."
- verbatim: "Size and surface area: The size of the vessel and how much the steeper lets tea leaves come in contact with water are the two most important qualities of an infuser."
- verbatim: Finum "Unlike other in-cup steepers, which have a less-fine mesh or small perforations in metal, the Finum steeper doesn’t allow leaves or leaf particles to escape into your cup"; it "works well in a small teapot, though probably not one that stands much taller than the Finum basket (4.2 inches) and likely not for more than three servings"; "It also comes in a medium size for cups smaller than 2.8 inches in diameter."
- Supports: room to expand, mesh fineness, mug-versus-pot sizing. Confidence high.

**Wirecutter, Kalita Wave review (updated 17 November 2023). Internet Archive copy of 2025-12-02.**
http://web.archive.org/web/20251202142040/https://www.nytimes.com/wirecutter/reviews/kalita-wave-pour-over-dripper-review/
- verbatim: "Compared with the conceptually similar Hario V60 , the Wave has a flat (rather than conical) bottom, wavy (rather than straight) paper filters, and three small holes (rather than a single large one) at its base. In my experience, these differences mean the Wave brews more slowly than the V60 and produces a richer, fuller cup."
- Supports: flat-bottom versus cone; each takes its own paper. Confidence high.

**Wirecutter, espresso machines for beginners. Internet Archive copy of 2026-07-22.**
http://web.archive.org/web/20260722055305/https://www.nytimes.com/wirecutter/reviews/best-espresso-machine-grinder-and-accessories-for-beginners/
- verbatim (Gaggia Classic Pro): "The provided tamper for the portafilter is a flimsy piece of plastic that doesn’t cover the entire width of the filter basket, which will interfere with the extraction of your shot."; the recommended replacements are named "LuxHaus 58mm Espresso Tamper" and "Normcore V4 58.5mm Coffee Tamper".
- Supports: a tamper narrower than the basket hurts the shot; tampers are sold by millimetre. Confidence high.

**Wirecutter, AeroPress review. Internet Archive copy of 2025-09-09.**
http://web.archive.org/web/20250909052815/https://www.nytimes.com/wirecutter/reviews/aeropress-coffee-maker/
- verbatim: "The Go holds only 8 ounces, whereas the original AeroPress holds 10."
- Supports: pressure brewers are single-cup. Confidence high (Amazon's AeroPress listing also says "Capacity 10 ounces").

**America's Test Kitchen, "The Best Pour-Over Coffee Makers" (updated 25 June 2025)**
https://www.americastestkitchen.com/equipment_reviews/1408-pour-over-coffee-brewers
- verbatim: "Flat-bottomed models are easy for novices to use and are especially good for dark-roast coffee"; "If you prefer light-roast coffee and citrusy, floral notes, we suggest using a conical model."
- verbatim: "Our top-ranked conical model had a single ⅞-inch hole; the best flat-bottom model had three smaller (⅛ inch) holes".
- verbatim: "Ceramic, glass, and stainless-steel models should all be prerinsed before adding coffee grounds. Otherwise, they can suction heat out of the coffee slurry, dropping the temperature too low and underextracting the coffee. Plastic is inexpensive and popular among professional baristas. Because plastic is lightweight, it’s less likely to suction the heat out of the coffee slurry."
- verbatim: spec rows list "Proprietary Filter: Yes" for both the Kalita Wave 185 and the Hario V60 02.
- Supports: cone versus flat, dripper material and heat, proprietary filters. Confidence high.

**Tom's Guide, "Kalita Wave Dripper review"**
https://tomsguide.com/home/kalita-wave-dripper-review
- verbatim: "The unique flat bottom and three holes means the Kalita Wave is a little more forgiving than something like a V60, which requires controlled pouring."
- verbatim: "Hario filters have a triangular, upside-down pyramid shape, so they wouldn’t fit the Kalita Wave’s flat bottom properly anyway."
- verbatim: "As Kalita Wave tends to brew a stronger coffee, I go for a 1:18 ratio rather than the 1:16 I use for V60 or Chemex."
- Supports: flat-bottom is more forgiving; papers do not cross over; 1:16 and 1:18 ratios. Confidence high.

### Enthusiast and primer sources

**CoffeeGeek, "One to Fourteen: The CoffeeGeek Ratio for Good Coffee Brewing"**
https://www.coffeegeek.com/blog/techniques/one-to-fourteen/
- verbatim: "1:14 is your starting target ratio of ground coffee to brewing water used to make most non-pressurized coffee brews, from siphon to pour over, from press pot to AeroPress."; "what leading experts today think are ideal ratios of water to coffee: between 1:14 and 1:17."
- verbatim: "a Gold Cup standard of 55 grams (+/- 10%) per litre of water"; "use the SCA’s median ratio of 1:18, or 55g of coffee per 1 litre water."; "Brewing on a 1980s Braun Auto Drip with a 10 “cup” capacity (where the cup sizes were about 140ml)"; "for a device measuring 100ml per cup ... A 120ml “cup” ...".
- Supports: brew ratio band 1:14 to 1:18; maker "cups" range 100 to 140 ml. Confidence high.

**Honest Coffee Guide, "Coffee grind size chart"**
https://honestcoffeeguide.com/coffee-grind-size-chart/
- verbatim: "Espresso 180-380 microns"; "The grind size for espresso typically falls within a very specific and small grind size range."; "Pour over 410-930 microns"; "French press 690-1300 microns"; "Steep-and-release ... These brewers take the form of a pour-over, but use immersion instead of percolation. The coffee is left to steep in water, and then released in one go through the filter."
- verbatim: "The openings of the metal mesh on the plunger are too large to block fine particles. However, even with a coarse grid, a small amount of particles are expected in the final brew."
- Supports: the grind-size scale as a visual grammar; espresso's band is narrow; the steep-and-release definition; French press silt. Confidence medium-high. The micron bands are this site's, single source, so they stay here and the JSON says only that espresso's band is narrow and fine.

**Andytown Coffee Roasters, "Glass, Ceramic, or Plastic: How Do Different V60 Drippers Affect Coffee Flavor?"**
https://andytownsf.com/blogs/news/glass-ceramic-or-plastic-how-do-different-v60-drippers-affect-coffee-flavor
- verbatim: "On average, the plastic dripper had the highest temperature in the finished brew and the bed of grinds, and the ceramic had the lowest. The differences in these temperatures though were between 2℉ and 4℉."; "18 individual brews".
- Supports: direction of the heat effect (with ATK). The 2 to 4 °F figure is one café's test and stays here.

**Wikipedia, Cafestol**
https://en.wikipedia.org/wiki/Cafestol
- verbatim: "Cafestol is present in highest quantity in unfiltered coffee drinks such as French press coffee, and Turkish coffee . In paper-filtered coffee drinks such as drip brewed coffee, it is present in only negligible amounts, as the paper filter in drip filtered coffee retains the diterpenes."
- Supports: paper retains cafestol, a mesh does not. Confidence high (with Urgert and Orrje).

**Wikipedia, AeroPress** https://en.wikipedia.org/wiki/AeroPress
- verbatim: "Early AeroPress models used clear polycarbonate , but in 2009 switched to BPA -free copolyester , then in 2014 to polypropylene . ... In 2023, the company released new clear models made of Tritan ."
**AeroPress UK, "Evolution of the AeroPress: A History"** https://www.aeropress.co.uk/blogs/news/evolution-aeropress-history
- verbatim: "The initial AeroPress designs were produced from polycarbonate. Polycarbonate is a bluish material that is created from BPA."; "No BPA was found to leach from the AeroPress in the making of brewed coffee."; "All parts of an AeroPress have been made from polypropylene since July 2014, except for the paper filters and silicone seal. The AeroPress is FDA and EU approved for use alongside food."
- Supports: the plastic in a plastic brewer has changed; polycarbonate is the BPA one. Confidence high.

**Wikipedia, Tea preparation** https://en.wikipedia.org/wiki/Tea_preparation
- verbatim: the pyramid tea bag "attempts to address one of the connoisseurs' arguments against paper tea bags by way of its three-dimensional tetrahedron shape, which allows more room for tea leaves to expand while steeping."
**Wikipedia, Tea infuser** https://en.wikipedia.org/wiki/Tea_infuser
- verbatim: "Infusers with large holes may not catch all the leaves, requiring the use of a tea strainer to remove the remaining pieces."; "Common shapes of infusers include spherical, conical and cylindrical."
- Supports: second sources for leaf room and for mesh fineness. Confidence high.

### Brand spec pages

**1Zpresso, J-Ultra, K-Ultra and the Espresso and Pour Over category pages**
https://1zpresso.coffee/j-ultra/ ; https://1zpresso.coffee/product/kultra/ ; https://1zpresso.coffee/espresso/ ; https://1zpresso.coffee/pour-over/
- verbatim (J-Ultra): "it allows for an incredibly precise 8-micron adjustment per click"; "With a speedy 48mm design"; product page: "Optimized for espresso, the coated burr enhances sweetness and precision with 8-micron adjustments"; "Grounds Capacity: 35-40g".
- verbatim (K-Ultra): "Over 100 clicks with 20-micron precision per step"; "The larger, heptagonal conical burr ensures faster grinding"; "Grounds Capacity: 35~40g"; "Weight: 700g".
- verbatim (category pages): each grinder is tagged "Espresso", "All-purpose" or "Pour Over" (J-Ultra "Espresso"; K-Ultra, X-Ultra, JX-Pro S "All-purpose"; Q Air, ZP6 Special, J, Q "Pour Over").
- Supports: the `grind_range` values are the maker's own three labels; step size and burr size are published; capacity 35 to 40 g. Confidence high.

**Comandante, FAQ and C40 MK4 product page**
https://comandantegrinder.com/pages/faq ; https://comandantegrinder.com/products/c40-mk4-nitro-blade-black
- verbatim (FAQ): "3-8 Clicks for Ibrik 7-13 Clicks for Espresso 14-20 Clicks for a Bialetti or stovetop coffee pot 18-35 Clicks for a pour over filter coffee (depending on dose and brewer) 25-35 Clicks for Cupping and French Press".
- verbatim (product): two "Bean Jar" containers; "They each have a capacity of 40 grams of coffee."
- Supports: espresso occupies a narrow band of clicks (7 settings) while filter spans 18; capacity 40 g. Confidence high. The page does not state burr diameter or microns per click, so neither is cited for Comandante.

**Normcore, home page "Shop by machine"**
https://normcorewares.com/
- verbatim: "SHOP BY MACHINE 54mm For Breville / Sage 58mm For E61 / Commercial 58mm For Breville / Sage 58mm For Gaggia 51mm For DeLonghi 58mm For La Marzocco 57mm For Lelit".
- Supports: the machine-to-basket lookup that lets a novice answer the basket question. Confidence high (with Breville and Decent below).

**Decent Espresso, portafilter baskets**
https://decentespresso.com/basket
- verbatim: "We recommend using a tamper with a 58.35mm base, such as our Decent Tamper . A smaller, less close-fitting tamper can leave an untamped ring of coffee around the puck. We also don't recommend the larger 58.5mm tampers."; "Decent baskets fit most 58mm portafilters. It works with machines from Breville, Sage, La Marzocco, Nuova Simonelli, Slayer, Synesso, Faema, La Cimbali, Rancilio."
- Supports: tamper fit tolerance, and 58 mm as the commercial standard. Confidence high.

**Breville, Barista Express (BES870) and Infuser (BES840) pages**
https://www.breville.com/us/en/products/espresso/bes870.html ; https://www.breville.com/us/en/products/espresso/bes840.html
- verbatim: "54 mm stainless steel portafilter delivers full flavor with dual and single wall filters"; accessories "the Distribution Duo™ 54mm"; BES840: "54mm Stainless Steel Portafilter. 54mm Razor Dosing tool."
- Supports: Breville's home machines are 54 mm, and Breville sells its own tools by diameter. Confidence high.

**Breville, Oracle Jet (BES985) and Dual Boiler (BES920) pages, fetched excerpt (WebFetch, 2026-10-25, added post-check)**
https://www.breville.com/us/en/products/espresso/bes985.html ; https://www.breville.com/us/en/products/espresso/bes920.html
- fetched excerpt, BES985 ("Oracle® Jet"): "Professional 58 mm stainless steel portafilter holds a 22g dose".
- fetched excerpt, BES920 ("Dual Boiler™"): "Professional 58 mm stainless steel portafilter holds a 22g dose with Dual & Single wall filter included".
- Supports: the check's required fix #1. Breville's own pages confirm two 58 mm exceptions in a brand whose other home machines are 54 mm, corroborating Wirecutter's "the Oracle Jet also includes a standard 58mm portafilter" with a second, brand-page source. Confidence high.

**Timemore, brand site** https://www.timemore.com/
- verbatim (site menu): "Timemore PUCKS Espresso Accessories Set ... Wooden Grip - 58.4mm"; electric grinder variants labelled "078S(Pour-over&Espresso)" and "078 (Pour-over Only)".
- Supports: a second brand that sells espresso tools by diameter. The "Pour-over Only" / "Pour-over&Espresso" labels are confirmed (2026-10-25) to belong only to these electric Sculptor grinders, not to the C5 Pro / C5 ESP Pro hand grinders, which the site lists only as "C5 PRO" and "C5 ESP PRO" (see the product-page fetch below). Confidence high.

**Timemore, Chestnut C5 series product page, fetched excerpt (WebFetch, 2026-10-25, added post-check)**
https://www.timemore.com/collections/all-products/products/timemore-manual-coffee-grinder-chestnut-c5-series
- fetched excerpt: "C5 Pro: 0.031 mm per click"; "C5 Esp Pro: 0.015 mm per click".
- Supports: a second, brand-page source for the step sizes category.json already carried from the Amazon title (seller copy), closing the "Amazon titles only" gap the checker flagged. Confidence high.

### Retail listings (what data is present)

Amazon product pages loaded with curl this run. Fields read from the "Product information" block as raw text.

| ASIN | Title (start) | Fields present |
|---|---|---|
| B0047BIWSK | AeroPress Original Coffee Press | Filter Type Paper; Capacity 10 ounces; Item Weight 6.4 ounces |
| B00005LM0R | Bodum 12oz Chambord French Press ... High-Heat Borosilicate Glass | Material Glass; Capacity 0.35 liters; Filter Type Metal; sizes 12 / 17 / 34 / 51 oz |
| B011WTM622 | ESPRO P3 French Press ... 32oz ... Double Filter ... Borosilicate | Material Glass; Capacity "2 pounds"; Filter Type Reusable |
| B000P4D5HG | HARIO V60 Ceramic Coffee Dripper, Size 02 ... Conical Shape | Material Ceramic; Capacity 4 cups; Filter Type Paper |
| B004W5JHXU | Kalita Wave series 185 [2-4 persons] | Material Ceramic; Capacity 750 ml; Filter Type "Reusable" (wrong: it takes Kalita wave papers) |
| B0000YWF5E | Chemex Pour-Over Glass Coffeemaker - 6-Cup | Capacity "1.9 pounds"; "30 Ounce"; "5 oz" |
| B0047VUNVE | ZERO JAPAN Ceramic Coffee Dripper for #2 or #4 paper filter | Material Ceramic; filter size in the title |
| B07NS2SV3W | Hario "Switch" Immersion Dripper, Size 02 | Filter Type Paper; Capacity 200 ml |
| B07QK39RWT | Melitta 1 Cup Porcelain Pour-Over Cone | Filter Type Paper; Capacity 1 cups; Material Porcelain |
| B0FHHBG5JR | TIMEMORE C5 Pro Manual Coffee Grinder with S2C-042-III Conical Burr, 0.031mm Precision Adjustment ... for Espresso/French Press/Pour O[ver] | Material Aluminum; Capacity 30g; Item Weight 819 g; bullets: "stainless steel burrs", "Double bearing central axis" |
| (same page, related item) | TIMEMORE C5 ESP Pro ... S2C-042-III Conical Burr, 0.015mm Precision Adjustment ... for Espresso/French Press/Pour O[ver] | title only |
| (same page, related item) | 1Zpresso J Manual Coffee Grinder ... Stainless Steel Conical Burr ... for Pour Over French Press Cold Brew | title only |
| B000J3JFJU | Finum Reusable Stainless Steel Coffee and Tea Infusing Mesh Brewing Basket, Large | Material Stainless; Shape Basket; Size |
| B0727VD99Y | LuxHaus 58mm Espresso Tamper ... 100% Flat Stainless Steel Base | diameter in the title |
| B09BTLP4P1 | Normcore 58.5mm Coffee Tamper V4 - Spring-Loaded ... 15lb / 25lb / 30lbs | diameter in the title |

What this tells the scraper: Material, Filter Type and Capacity are fields on most brewer listings; capacity units are chaotic (cups, ounces, millilitres, and pounds on two of nine); the Filter Type field can be wrong (Kalita "Reusable"); the paper size sits in the title only sometimes; burr material sits in grinder titles; step size and burr size sit in some titles and on every brand page; tamper diameter sits in the title.

### Could not reach

- Serious Eats (search found nothing indexed for its grinder, pour-over or infuser tests; no archived copies found under guessed URLs).
- Wirecutter pour-over guide (no archived copy at the guessed URL; the Kalita review and ATK cover the same ground).
- SCA's own Golden Cup page: sca.coffee lists standards but the Golden Cup sheet was not linked. The 55 g/L figure is cited through CoffeeGeek and not used as a number in the JSON.
- EUR-Lex (empty body to curl), FDA (blocked to curl; WebFetch summary used), cpsc.gov (Access Denied; Internet Archive copies used).
- Home-Barista (403), Coffee ad Astra (reachable, but no grinder article URL known after the search budget ran out).

## Data points used for derived metrics

- Ratio band 1:14 to 1:17, corrected 2026-10-25 (see Corrections log; was wrongly given as 1:14 to 1:18). 1:14: CoffeeGeek ("1:14 is your starting target ratio") and Wirecutter's French press test (25 g to 350 ml = 1:14). 1:17: CoffeeGeek's own expert band, "between 1:14 and 1:17". CoffeeGeek's 1:18 is explicitly "for ... full pots of auto drip coffee – 1.3 litres or more", a batch-brew machine, not a manual brewer in this leaf's scope; Tom's Guide's 1:18 is one reviewer's personal habit on the Kalita only ("I go for a 1:18 ratio"), not an expert band, so it stays in notes and out of category.json. 1:16 sits between (Tom's Guide V60 and Chemex). So grams of coffee = capacity_ml ÷ 17 to capacity_ml ÷ 14, about 59 to 71 g per litre.
- Hand-grinder capacity: 18 to 35 g typical (Wirecutter); Timemore C5 Pro 25 g per its own Amazon listing's Product information row, though another C5 Pro listing's title claims 30 g (unresolved conflict, flagged in grinder_capacity_g's hint); 1Zpresso J-Ultra and K-Ultra 35 to 40 g (1Zpresso); Comandante C40 40 g jar (Comandante).
- Worked example: Bodum Chambord 8-cup, 34 oz (Wirecutter) ≈ 1,005 ml → 59 to 72 g of coffee → two loads of a 40 g grinder, three of an 18 to 30 g one. AeroPress, 10 oz (Wirecutter; Amazon) ≈ 296 ml → 17 to 21 g → one load. Kalita 185, 750 ml (Amazon) → 44 to 54 g → two loads of a 30 g grinder; one of a 40 g grinder only at the low end.
- Maker cup sizes: Bodum Chambord 34 oz ÷ 8 cups = 4.25 oz (about 126 ml) (Wirecutter); Chemex 6-cup = 30 oz → 5 oz (Amazon, "30 Ounce", "5 oz"); CoffeeGeek: 100, 120 and 140 ml "cups"; Wirecutter: "4 or 5 ounces". So a "cup" runs about 100 to 150 ml.
- Step sizes: 1Zpresso J-Ultra 8 µm (espresso), K-Ultra 20 µm (all-purpose); Timemore C5 ESP Pro 15 µm, C5 Pro 31 µm (Amazon titles, "0.015mm" and "0.031mm"). Comandante's espresso band is 7 clicks wide (7 to 13), its pour-over band 18 clicks wide (18 to 35).

## Against the existing add-on schema

Add-on read: `supplies/kitchen/add-ons/manual_coffee_tea_prep.jsonc` (`burr_material` enum [ceramic, stainless_steel, not_applicable, other, unspecified]; `sizing.tamper_diameter_mm`). It composes with `kitchen-standard.jsonc` (`materials[]` with roles, `max_heat_temp`, `dishwasher_safe`) and `supplies-standard.jsonc` (`high_signal_markdown`, `sizing.capacity`, `sizing.weight`, `sizing.dimensions`, `pack_count`, `pieces_included_text`). Kinds follow AGENTS.md rule 4 (vertical anchor, category quality currency, hard filter, sizing). Proposals only; nothing in zamana-expertise was edited.

| Facet in this register | In the schema today | Proposed kind under AGENTS.md | Note |
|---|---|---|---|
| product_type | no (the leaf is the only signal) | hard filter (enum) | Proposal: `tool_type` enum [coffee_brewer, hand_grinder, espresso_tool, other]. Without it the three families mix in every result set and the other add-on fields mean nothing (`burr_material` on a French press). Dropped `tea_infuser` 2026-10-25: owned in full by `strainers`. |
| brew_method | no; machines `coffee_makers.machine_type` has `pour_over_dripper_manual` and `french_press_electric` | hard filter (enum) | Proposal: `brew_method` enum [pour_over, full_immersion, steep_and_release, pressure_plunger, not_applicable]. Text fact; the title usually says it ("Pour-Over", "French Press", "Immersion Dripper"). |
| filter_medium | no | hard filter (enum) | Proposal: `built_in_filter` enum [paper_required, metal_mesh, cloth, none, not_applicable]. Carries the cafestol health signal. Amazon's Filter Type field is present but can be wrong (Kalita listed "Reusable"), so this is worth augmenting. |
| paper_filter_fit | no; `coffee_filters.compatible_with` and `filter_size_standard` live on the sibling | hard filter (enum, brewer side) | Proposal: reuse the sibling's `filter_size_standard` enum on brewers, extended with `v60_cone_01/02/03`, `kalita_wave_155/185`, `chemex`, `aeropress_disc`. Running-cost lock-in, which the supplies-standard comment names as high signal. |
| dripper_geometry | no | high_signal_markdown | Cone versus flat-bottom is in titles ("Conical Shape") and photos. A photo answers it, so under rule 1 it is not a field; keep it as a markdown line. |
| brewer_capacity_ml | partly: `sizing.capacity` (value + unit) | sizing, quality currency | Keep in sizing but normalise to ml at extraction: listings give cups, oz, ml and pounds. Add `capacity_basis` enum [beaker, brewed_yield, cups_unspecified] so Bodum and Espro compare. |
| brewer_material | yes: `materials[]` (body role); `borosilicate_glass`, `tritan_copolyester`, `ceramic`, `stainless_steel` all exist | vertical anchor | Already well covered. Add `polypropylene` and `polycarbonate` to the material enum: they are the two plastics that matter for food contact (FDA and EU on BPA; AeroPress history). category.json's own `plastic` value is now split into these two plus `copolyester (Tritan)` and `plastic (unspecified)`, 2026-10-25, so this proposal is already reflected there. Double-wall is not expressible; add `double_wall` boolean or a `wall` role. |
| press_filter_quality | no | high_signal_markdown | "Double filter", "micro-filter" and seal ring are title and bullet text. Worth a sentence, not a column. |
| grind_range | no | hard filter (enum) | Proposal: `grind_range` enum [pour_over_and_coarser, all_purpose, espresso_focused]. 1Zpresso and Timemore both label grinders this way. Every title claims espresso, so extract from the maker's label or derive from step size. |
| grind_step_um | no | category quality currency | Proposal: `grind_step_um` number, null for stepless, plus `adjustment` enum [stepped, stepless]. On brand pages; in some titles ("0.031mm Precision Adjustment"). |
| burr_material | yes | category quality currency | Keep. Add `coated_steel` (1Zpresso's "Premium Coated Burr", Comandante's Nitro Blade steel) or leave coatings to markdown. |
| burr_diameter_mm | no | category quality currency | Proposal: number. Drives speed (Wirecutter: 42 mm grinds faster than 38 mm). Brand pages; Timemore codes it in the burr name (S2C-042). |
| grinder_capacity_g | partly: `sizing.capacity` with unit g | sizing | Already expressible as `capacity` in g. Keep it in sizing so it sits beside brewer capacity. |
| basket_diameter_mm | yes: `sizing.tamper_diameter_mm` | hard filter, sizing | Keep, but rename to `basket_diameter_mm` and record the nominal basket size (51, 54, 57, 58) rather than the tamper base (58.35, 58.4, 58.5). Tampers are sold as 58.35 to 58.5 for a 58 mm basket (Decent; Normcore; Timemore), so filtering on the tamper base misses half the 58 mm tools. Breville/Sage are 54 mm except the Oracle Jet and Dual Boiler (58 mm, confirmed on Breville's own pages 2026-10-25); "Lelit 58" dropped, unsourced, 2026-10-25, leaving just the sourced "Lelit 57". |
| espresso_tool_type | no | hard filter (enum) | Added 2026-10-25. Proposal: `espresso_tool_type` enum [tamper, distribution_tool, dosing_funnel, basket]. Without it an "espresso tool" answer still mixes four unlike products before `basket_diameter_mm` can filter. |

Add-on and standard fields this register considers noise for this leaf: `max_heat_temp` (every brewer takes boiling water; no buyer filters on it; the useful fact is borosilicate versus soda-lime glass, which `materials` covers); `pack_count` (nearly always 1); `dimensions` for grinders and drippers (a photo answers relative size; the one dimension buyers type is basket diameter, already kept). `dishwasher_safe` stays: Wirecutter checks it on every press and steeper and it has the top-rack trap the comment warns about.

## Branches

The register's splits: 1 `product_type`, 2 `brew_method`, 3 `grind_range`, 4 `basket_diameter_mm`. Answers map to values by the rules in each split's rationale.

**Split 1, product_type ("Coffee brewer, hand grinder, or espresso tool?")** — revised 2026-10-25, see Corrections log. `tea infuser` is dropped as a value; loose-leaf tea infusers go in full to `strainers` (tool_job "steeping tea", `infuser_style`, `mesh_fineness`), so claiming them here duplicated that register. `infuser_room` and `infuser_mesh` are removed as facets.

- when `coffee brewer`: then_ask brew_method, brewer_capacity_ml; makes_irrelevant grind_range, grind_step_um, basket_diameter_mm.
  - brew_method: "The brew method is the mechanism and the first split inside brewers" (brew_method, why experts care).
  - brewer_capacity_ml: its definition is "How much water a brewer holds"; capacity decides beans needed (derived metric `beans_per_full_brew_g`).
  - irrelevant: grind_range and grind_step_um are defined "For hand grinders"; basket_diameter_mm is defined "For espresso tools". A brewer has none of these attributes.
- when `hand grinder`: then_ask grind_range, grinder_capacity_g, burr_material; makes_irrelevant brew_method, filter_medium, basket_diameter_mm.
  - grind_range: split 3, "the first thing to know about a hand grinder" (grind_range, why experts care).
  - grinder_capacity_g: "how many grams one fill grinds", and the `grinder_loads_per_brew` metric.
  - burr_material: the existing add-on's field, and Wirecutter's steel-over-ceramic finding.
  - irrelevant: brew_method and filter_medium are defined "For coffee brewers"; basket_diameter_mm "For espresso tools".
- when `espresso tool`: then_ask espresso_tool_type, basket_diameter_mm; makes_irrelevant brew_method, grind_range.
  - espresso_tool_type (new facet, added 2026-10-25): the checker found this leg WEAK because basket size means nothing for a frothing pitcher or knock box, and the register had no way to tell a tamper from a dosing funnel. The new facet's four values (tamper, distribution tool, dosing funnel, basket) are exactly the espresso tools a basket size filters, sourced from Amazon tamper titles and Breville's own "Distribution Duo" and "Razor Dosing tool" names; this also drops frothing pitchers and knock boxes from this leaf's scope, since neither takes a basket size and neither is sourced here.
  - basket_diameter_mm: the facet is defined as the basket size "that a tamper, distribution tool or dosing funnel must fit", and "Tools do not cross sizes" (basket_diameter_mm, definition and why experts care). Now a real filter since every value of espresso_tool_type fits a basket.
  - irrelevant: definitions as above.

**Split 2, brew_method ("Pour-over, French press, steep-then-drain (Clever, Switch), or AeroPress-style?")** — question now carries a cue per the checker's minor-fix #4; branches revised 2026-10-25, see Corrections log.

- when `pour-over`: then_ask dripper_geometry, paper_filter_fit, filter_medium, brewer_material; makes_irrelevant press_filter_quality.
  - dripper_geometry: defined for pour-over drippers; "Cone or flat-bottom changes the cup" (ATK, Frost 2019, Tom's Guide).
  - paper_filter_fit: "Most pour-over drippers need their own paper" (paper_filter_fit, why experts care; ATK "Proprietary Filter: Yes"; Tom's Guide on Hario papers not fitting the Kalita).
  - `filter_medium` added 2026-10-25 (was the checker's "Missing leg"): most pour-over drippers are paper, but `coffee-filters` routes drippers with a built-in metal mesh cone (LHS, MISETTO) to this leaf, so on pour-over the filter is a real choice carrying the cafestol trade-off, not the fixed fact it is on a French press.
  - brewer_material: "Ceramic, glass and steel drippers pull heat from the first pour unless rinsed with hot water" (brewer_material, why experts care; ATK).
  - press_filter_quality irrelevant: it is defined as "How well a French press plunger keeps grounds out", and a dripper has no plunger.
- when `full immersion`: then_ask press_filter_quality, brewer_material; makes_irrelevant dripper_geometry.
  - press_filter_quality: Wirecutter's French press criterion, "a plunger with a mesh screen that fits snugly" (press_filter_quality, why experts care).
  - brewer_material: glass breaks (CPSC recall; Wirecutter), steel double-wall keeps coffee hot (Wirecutter) (brewer_material, why experts care).
  - `filter_medium` dropped from then_ask (was WEAK): the mechanism itself fixes a French press's filter as metal mesh ("a metal mesh plunger holds them back"), so it is a derived fact from the listing (Amazon Bodum "Filter Type Metal"), not a question to ask. The facet still exists and is still filled for immersion brewers; it is just not asked.
  - `paper_filter_fit` removed from makes_irrelevant (was WEAK, contradicted the facet's own backfill note): cold-brew jars and other plunger-less immersion brewers can use a paper liner, so the field stays live for them per `paper_filter_fit`'s backfill note. `press_filter_quality`'s own backfill_note now says a plunger-less immersion brewer has no press filter at all (mark not applicable, do not default to single mesh screen), which gives cold-brew jars a home without a new brew_method value.
  - dripper_geometry irrelevant: defined "For pour-over drippers".
- when `steep-and-release`: then_ask paper_filter_fit; makes_irrelevant press_filter_quality.
  - paper_filter_fit. Chain: steep-and-release brewers "take the form of a pour-over" and release "through the filter" (HCG, verbatim), and the Hario Switch listing says "Filter Type Paper" (Amazon), so they take a dripper's paper.
  - press_filter_quality irrelevant: no plunger (definition).
- when `pressure (AeroPress-style)`: then_ask brewer_material; makes_irrelevant dripper_geometry, press_filter_quality.
  - brewer_material: now SUPPORTED, not WEAK. `brewer_material`'s "plastic" value is split into polypropylene, copolyester (Tritan), polycarbonate and plastic (unspecified), so asking it can surface AeroPress's documented polycarbonate-to-polypropylene switch instead of forcing a single undifferentiated "plastic" answer.
  - irrelevant: dripper_geometry is "For pour-over drippers"; press_filter_quality is a French press plunger's seal.
  - Dropped leg: "pressure → brewer_capacity_ml irrelevant because it is always one cup". AeroPress holds 10 oz and the Go 8 oz (Wirecutter), so capacity still separates them; not traceable as irrelevant.

**Split 3, grind_range ("Grinding for espresso, filter coffee, or both?")** — mapping revised 2026-10-25, see Corrections log.

- when `espresso-focused` or `all-purpose`: then_ask grind_step_um, burr_diameter_mm.
  - grind_step_um. Chain: espresso uses a narrow band of settings (Comandante: 7 to 13 clicks, against 18 to 35 for pour-over; HCG: espresso "a very specific and small grind size range"), and Timemore sells an espresso variant with a finer step (15 µm against 31 µm on the same burr). 1Zpresso's J-Ultra (8 µm, espresso) and K-Ultra (20 µm, all-purpose) are different grinders, not a halved pair; the why text no longer claims a halving for 1Zpresso. So the step size decides whether the band holds enough settings to adjust a shot (grind_step_um, why experts care).
  - burr_diameter_mm: now SUPPORTED, not WEAK. The why text says "slightly faster" (Wirecutter's own word for 42 against 38 mm), not an inferred "fine grinding is where speed matters"; Wirecutter's own timing (20 g in about a minute at medium, under 3 minutes finer) is the sourced reason fine grinding is where a faster burr helps most.
  - The split answer "espresso" now maps to espresso-focused **or** all-purpose (judgement 3 carries `sources_disagree: true`): 1Zpresso's own Espresso category page lists all-purpose models beside the espresso-focused J-Ultra, and Wirecutter calls the 31 µm C5 Pro fine for "occasional espresso" though "not...for more serious espresso-making". Step size, asked next, is what actually separates serious from occasional espresso.
- when `pour-over and coarser`: then_ask grinder_capacity_g; makes_irrelevant grind_step_um.
  - grinder_capacity_g: a filter buyer brews larger batches than an espresso dose; the `grinder_loads_per_brew` metric shows a 34 oz press needs more than one load.
  - grind_step_um irrelevant: Comandante's pour-over band is 18 clicks wide against espresso's 7, so a wide band means step size rarely limits a filter brewer (grind_step_um, why experts care, now sourced to the same Comandante comparison already used for the espresso leg, not the uncited "step size hardly matters" line the checker flagged).
  - Timemore's "Pour-over Only" hint is removed from `grind_range.listing_field_hint` and from `timemore_brand`'s `supports`: that label is on the electric Sculptor grinders, a sibling leaf's products, not on the C5 Pro / C5 ESP Pro hand grinders, which are named "C5 PRO" and "C5 ESP PRO" only.

**Split 4, basket_diameter_mm ("Which espresso machine is it for?")** — mapping corrected 2026-10-25, see Corrections log.

- No branches; it filters and does not change what to ask next. The Normcore lookup now reads: Breville/Sage home machines are 54 mm **except the Oracle Jet (BES985) and Dual Boiler (BES920), which are 58 mm** (confirmed on Breville's own BES985 and BES920 pages, and already in Wirecutter's "the Oracle Jet also includes a standard 58mm portafilter"); De'Longhi 51 mm; Lelit 57 mm (Normcore only, unchanged); Gaggia, E61 and commercial machines 58 mm (Decent). The earlier "Lelit 57 or 58" is now just "Lelit 57": no source backed the "58" option, so it is dropped rather than kept as an unsourced range.

## Trimmed detail

- **summary**: "In Zamana's taxonomy the leaf bundles four tool families" (kept in the scope line above).
- **mechanism.plain**: the steep-and-release definition from HCG, verbatim above; "fines" (dust-sized particles) as the reason uniformity matters; the Golden Cup 55 g/L figure (CoffeeGeek quoting SCA).
- **filter_medium**: Urgert's 9 to 14% LDL rise at five to six strong cups a day for 24 weeks; Orrje's medians (paper about 12, French press about 90, boiled 939, boiled-through-fabric 28, as printed in mg/L). Cloth sits between: it cut boiled coffee's cafestol from 939 to 28.
- **brewer_material**: Andytown's 2 to 4 °F (plastic warmest, ceramic coolest, glass between, 18 brews); the Espro P3's thicker glass "keep your coffee warmer than the Bodum models" (Wirecutter).
- **brewer_capacity_ml**: Espro's 32 oz press brews no less than 24 oz (Wirecutter); the Espro P7 18 oz brews as little as 12 oz.
- **grind_step_um**: Honest Coffee Guide puts espresso at 180 to 380 µm and pour-over at 410 to 930 µm (single source). At those numbers a 20 µm step gives about 10 settings across espresso, an 8 µm step about 25. Not in the JSON because the band is single-source.
- **burr_material**: 1Zpresso's coated J-Ultra burr is marketed for espresso; Comandante's Nitro Blade is "Nitro Rex" stainless with "over 17% chromium" (Comandante), a coating-free alloy claim.
- **basket_diameter_mm**: Decent's 58.35 mm advice and its warning against 58.5 mm; Normcore sells 58.5 mm with 15, 25 and 30 lb springs (Amazon title). Sources disagree on 58.35 versus 58.5; the register states only that the base must cover the basket.
- **infuser_room** (moot, 2026-10-25: facet dropped with tea infusers, see Corrections log): Finum large fits mugs and pots of up to about three servings; the medium is for cups under 2.8 in across (Wirecutter).

## Corrections

- 2026-10-25, before first validation. The brief says to set `vertical` to `supplies`. The skill's schema.json limits `vertical` to formulations, machines, fashion, furnishing or other, and the validator rejects `supplies` ("'supplies' is not one of [...]"). I set `vertical` to `other` so the register validates, and record the conflict here and in the run report. Changing one line makes it `supplies` once the schema allows it. The scripts and schema were not modified.

- 2026-10-25, self-check after first render (STYLE.md checklist and a number-by-number pass against the fetched text):
  1. Split 1 rationale said the answer "removes about three quarters of the shelf"; no source counts the shelf by family. Replaced with "sets aside the three families that do not apply".
  2. `burr_diameter_mm` said Wirecutter timed 20 g "at under a minute"; the review says "in a minute". Corrected to "about a minute".
  3. `infuser_room` said a large mug basket handles a pot "of up to about three servings"; single-source number, cut to "also handles a small teapot". The three-servings line stays under Trimmed detail.
  4. Split 3 rationale and `grind_range` said every hand-grinder title claims espresso. The 1Zpresso J title on Amazon reads "for Pour Over French Press Cold Brew", so that was wrong. Now "many" titles, and the hint says titles "often" list every method.
  5. Mechanism said espresso needs "the finest" grind; Comandante's own ladder puts Ibrik (Turkish) finer (3 to 8 clicks against 7 to 13). Now "a fine, precisely set grind".
  6. `basket_diameter_mm` why_experts_care repeated its definition; it now opens "Tools do not cross sizes". The branch trace above was updated to match.
  7. `infuser_room` hint claimed an Amazon Shape value "Ball" that I never saw; only "Basket" (Finum) was read. Hint now cites the Finum value only.

Script behaviour noted (no fix, scripts are out of scope): in the flowchart view, a `then_ask` entry that is itself a later split facet (brew_method on the coffee-brewer branch, grind_range on the hand-grinder branch, basket_diameter_mm on the espresso-tool branch) is not printed in the branch box, because the renderer draws that split as the next node instead. The espresso-tool box therefore shows only its "skip" list. The timeline view and category.md show the full branch. validate.py, render.py and viewer.py all ran clean, and the skill's tests/viewer-browser.py passed 6 of 6 (1380, 768, 390 px; light and dark) on a scratch copy of viewer.html.

## Corrections after the blind check (2026-10-25)

A blind checker's `check.md` graded this register (40 branch legs: 33 SUPPORTED, 7 WEAK, 0 UNSUPPORTED; 11 numbered required fixes). Research for new claims used WebFetch only; WebSearch returned "budget... used (200 of 200)" for this whole session before I made a single call, so every new source below is a direct fetch of a URL I already had or could guess, never a search-engine summary.

1. **Basket mapping (required fix 1).** Fetched Breville's own Oracle Jet (BES985) and Dual Boiler (BES920) pages: both say "Professional 58 mm stainless steel portafilter", confirming Wirecutter's claim with a second, brand-page source. `basket_diameter_mm` and the split 4 rationale now read "Breville/Sage are 54 mm except the Oracle Jet and Dual Boiler (58 mm)" instead of a flat "Breville home models 54 mm" with no exception. Dropped the unsourced "Lelit ... or 58" down to "Lelit 57" (Normcore's own figure, the only one on the page); no second source for "58" turned up, and the house rule is two sources per number, so I removed the invented option rather than keep it.
2. **Tea-infuser collision with `strainers` (required fix 2).** Dropped `tea infuser` from `product_type.values`, its branch, and the `infuser_room` / `infuser_mesh` facets, the "Tea needs room" judgement, and the now-orphaned references (`wirecutter_tea_steeper`, `wikipedia_tea_preparation`, `wikipedia_tea_infuser`) and vocabulary entry. `strainers` already claims loose-tea infusers in full (tool_job "steeping tea", `infuser_style`, `mesh_fineness`), so I ceded rather than fight for a duplicate claim; I could not edit `strainers`' own notes to record the boundary from its side, since that folder is outside this task's scope, so the boundary is recorded only here and flagged for the taxonomy owner, the same way other sibling overlaps already are in this file. Coffee scoops (routed here by `measuring-cups`) and coffee scales are declined explicitly in the scope paragraph, for the same reason: no facet here fits a product with no brew method, grind range or basket size.
3. **Ratio band (required fix 3).** CoffeeGeek's 1:18 is explicitly for "full pots of auto drip coffee – 1.3 litres or more", not the manual brewers in scope here, and its own expert band is "between 1:14 and 1:17"; Tom's Guide's 1:18 is one reviewer's personal Kalita habit, not an expert band. Changed `beans_per_full_brew_g`'s formula and why-text, `grinder_capacity_g`'s why-text and the worked examples in notes.md from 1:14–1:18 (55–71 g/L) to 1:14–1:17 (59–71 g/L), and dropped `toms_guide_kalita` from `beans_per_full_brew_g`'s evidence since it no longer supports a number used there.
4. **EU BPA judgement (required fix 4).** Rewrote judgement 4's note: 19 Dec 2024 is the adoption date, in force 20 Jan 2025, and the date that actually bars new repeat-use BPA kitchenware is 20 July 2026 (now passed), not "banned ... in December 2024" as the register wrongly said. Removed the uncited "Most current brewers use polypropylene or copolyester, not polycarbonate" and scoped `brewer_material.why_experts_care`'s plastic-switch claim to AeroPress, the one brand with a documented switch.
5. **Grind-range mapping and judgement 3 (required fix 5).** `grind_range`'s rationale, `why_experts_care` and `listing_field_hint` now map "espresso" to espresso-focused **or** all-purpose, since 1Zpresso's own Espresso category page lists all-purpose models beside the espresso-focused J-Ultra, and Wirecutter calls the 31 µm C5 Pro fine for "occasional espresso" though not "serious espresso-making". Judgement 3 now carries `sources_disagree: true` with a note naming that disagreement, and its evidence gained `wirecutter_grinder`. Removed Timemore's "Pour-over Only" hint from `grind_range` and the matching line from `timemore_brand`'s `supports`: that label is on the electric Sculptor grinders, a sibling leaf's products, not on the C5 Pro / C5 ESP Pro hand grinders (confirmed by fetching Timemore's own C5-series product page, which names them only "C5 PRO" and "C5 ESP PRO").
6. **Espresso tool-type facet (required fix 6).** Added `espresso_tool_type` (tamper, distribution tool, dosing funnel, basket), asked before `basket_diameter_mm` on the espresso-tool branch, sourced to Amazon tamper titles and Breville's own "Distribution Duo" / "Razor Dosing tool" names. Its four values are exactly the tools a basket size filters, which also drops frothing pitchers and knock boxes from this leaf's scope (neither takes a basket size, and neither is sourced here) without a separate scope note needed beyond the one already added to the top of this file.
7. **brew_method branch repairs (required fix 7).** Added `filter_medium` to the pour-over branch's `then_ask` (the checker's "Missing leg": `coffee-filters` routes metal-cone drippers here, so the filter is a real choice on pour-over, not a fixed fact). Removed `filter_medium` from full immersion's `then_ask` (a French press's filter is fixed by the mechanism, so it's a derived listing fact, not a question) and removed `paper_filter_fit` from full immersion's `makes_irrelevant` list (it contradicted the facet's own backfill note on cold-brew jars). Gave cold-brew jars a home via the simpler of the check's two offered fixes: rather than add a new `brew_method` value, `press_filter_quality`'s backfill_note now says a plunger-less immersion brewer has no press filter at all and should be marked not applicable, not defaulted to single mesh screen. Split `brewer_material`'s single "plastic" value into polypropylene, copolyester (Tritan), polycarbonate and plastic (unspecified), so the pressure (AeroPress-style) branch's `brewer_material` leg can actually surface AeroPress's documented plastic switch instead of a single undifferentiated answer.
8. **brewer_capacity_ml (required fix 8).** Took the simpler of the check's two offered fixes: raised `backfill_cost` from low to medium and expanded the backfill_note to say the beaker/brewed-yield basis still differs by brand, rather than adding a separate `capacity_basis` facet. Changed `grinder_loads_per_brew`'s formula to a min-to-max range and reworded its why-text from "grinding twice" to "1 to 4 loads depending on grinder size", since an 18 g grinder and a 40 g grinder need very different numbers of loads for the same brew.
9. **Wording fixes in grind_step_um and burr_diameter_mm (required fix 9).** `grind_step_um.why_experts_care` now says Timemore halves its step on the espresso variant, but presents 1Zpresso's J-Ultra (8 µm) and K-Ultra (20 µm) as two different grinders, not a halved pair (20/8 ≈ 2.5×, not 2×). Restored Wirecutter's own word "slightly faster" for the 42 mm vs 38 mm burr comparison in `burr_diameter_mm`. Cut the uncited "For filter only, step size hardly matters" and replaced it with the Comandante click-count comparison already cited elsewhere in the same field (7 clicks for espresso against 18 for pour-over), which is sourced. `grind_step_um` and `grind_range`'s `backfill_cost` raised from low to medium, both now naming a top-selling-models backfill limit; `timemore_brand` added to `grind_step_um`'s evidence now that the C5-series product page gives a second source for the 0.031 mm / 0.015 mm figures (previously Amazon titles only, flagged as seller copy).
10. **Backfill re-pricing (required fix 10).** `grinder_capacity_g`'s `source` changed from researched to listing (it is genuinely a listing field; the problem was a cross-listing conflict, not scarcity), and its hint/note now name the 25 g vs 30 g conflict on the two C5 Pro listings explicitly. `burr_material`'s hint now points at "title or bullets" instead of title alone, and its note marks "coated steel" as brand-page only. `dripper_geometry`'s backfill_note now says explicitly that the product photo counts as the listing field here.
11. **Minor fixes (required fix 11).** `filter_medium.why_experts_care` and `urgert_1996_bmj`'s `supports` line now say "filtered coffee" rather than "paper-filtered coffee", matching the abstract's own word. `amazon_grinder_tamper_listings`' `supports` line for capacity now states the 25 g vs 30 g conflict instead of repeating the unverified "30 g" as if settled. Both Amazon references now list their ASINs in the title, so a checker can find the cited rows without re-deriving them from this file. Added a "(Clever, Switch)" cue to the brew_method question (in both the split's `question` and the facet's own `cold_start_question`, which had drifted out of sync even before this round). The `vertical` enum conflict is left open, as instructed; it is not something validate.py or this round of fixes can resolve.

**Rejected or not pursued, with reasons:**
- Did not chase a second source for 1Zpresso's 8 µm / 20 µm step sizes, Comandante's click bands, or Decent's 58.35 mm tamper figure. These are in the checker's informational "Numbers resting on one source" list, not in the 11 numbered required fixes, and WebSearch was unavailable all session (budget exhausted before this run started); WebFetch against guessed URLs found nothing beyond what was already cited. They remain single-sourced, as the checker's own report already states.
- Did not rename `category` or `label` away from "Manual Coffee & Tea Prep" even though tea products are now entirely out of scope. That name is the catalog taxonomy's, not this register's to change, and the existing scope paragraph already handles other mismatches between the leaf's name and its real ownership (moka pots, teapots) the same way.
