# Molds, Ice Trays, Cutters & Stencils: research notes

Date: 2026-10-25. Scope: reusable, food-contact shape tools a home cook buys separately from standard oven bakeware: flexible silicone molds for cake, candy, gummy, ice-pop and ice shapes; rigid plastic (mostly polycarbonate) molds for chocolate and hard candy; metal and cast cookie/pastry cutters, cutter sets and cast specialty shapes (madeleine, aspic); ice cube and ice-ball trays; and cutting/decorating stencils (fondant, buttercream, cocoa). Taxonomy leaf `supplies > kitchen > molds`. Left to siblings: rigid metal, glass or ceramic bakeware in classic shapes — cake pans, loaf pans, muffin tins, Bundt pans — stays in `baking-pans`, which explicitly keeps silicone versions of those same classic shapes "only as a value of body material" (its own notes.md). Sheet pans, cookie sheets and silicone baking mats/liners stay in `baking-sheets`. Cutting boards stay in `kitchen-boards`. Where a silicone mold is a novelty or specialty shape (not a classic bakeware shape), or where the product is a candy/chocolate/ice/cutter item, it belongs here instead. Craft-only molds (resin, soap, candle) are a different vertical and are out of scope.

Quote labels: **verbatim** = the sentence in quotation marks was read in raw text I fetched myself (curl, or a WebFetch tool call where I separately confirmed the raw text with curl/pdftotext); **fetched excerpt** = the WebFetch tool's summary, not independently re-checked against raw text; **search excerpt** = from a search-engine summary only. WebSearch reported its session budget exhausted (200 of 200) on the first query of this run, before any result was returned, so every claim in this register comes from direct fetches (WebFetch/curl), Wikipedia, and one manufacturer FAQ and technical brochure reached directly — no search-engine summaries were used at all. Raw fetched pages are saved under the scratchpad folder `molds/` (`.html`, `.xml`, `.pdf`/`.txt`).

## Seed

Seed script output, verbatim:

```
=== Example entry (from an unrelated category) ===
category: bedsheets
what this shows: the expert split is often not the number everyone advertises. Thread count is the generic trap here. Weave is what changes how the sheet feels and sleeps.
[weave facet, abridged: percale vs sateen vs linen vs flannel vs jersey; "Do you sleep hot, or do you like a sheet that feels smooth and a bit warm?"]

=== Persona ===
An industrial designer, who thinks in materials, joins and what the manufacturer saved money on

Ask yourself two things and write the answers under 'Seed' in notes.md:
  1. What is the molds equivalent of the example above?
  2. What would this persona notice first about molds that a typical buyer would not?
Keep what survives the data check. Drop the rest.
```

1. **The molds equivalent of thread count is cavity count or stated capacity — the bold number on the package ("12-cavity," "makes 6") that says nothing about whether the thing actually works.** What really decides whether a mold performs is what the cavity is made of: flexible silicone releases without grease but can't hold a sharp edge or go glossy; rigid polycarbonate and metal hold detail and shine but need the right technique (tempering, correct draft) to release cleanly at all. This is the same shape of trap as weave versus thread count — the number on the box is real but not the thing that matters. **Survived the data check** as the `material_family` split and the `use_environment` split (Chocolate World's own FAQ frames its polycarbonate molds around "precision and shine," not cavity count; cookie-cutter materials are a recognized, sourced list). **Dropped**: a dedicated `cavity_count` facet. It's already covered by the shared `sizing.capacity` field (`unit: count_items`) in `supplies-standard.jsonc`, so a mold-specific facet would just duplicate it.
2. **The industrial designer notices the join first: where a flexible silicone cavity meets a rigid outer frame (most modern silicone bakeware), and whether that join is bonded or just friction-fit.** That join is where cheap silicone-and-frame molds fail — the frame flexes separately from the silicone, or the two delaminate at the seam over repeated flexing and heat cycles. The designer would also notice that a fully frameless silicone sheet mold has no self-support at all and needs a second part (a baking sheet) the listing rarely mentions. **Survived** as the `support_structure` split (self-supporting vs needs a tray) and is traced in notes under "Branches" below. **Dropped**: a dedicated facet for frame-bond durability specifically (delamination risk). No fetched source gives a number or even a named failure rate for this; it stays as a one-line observation here, not a sourced claim in the JSON.

## Sources and what each supports

### Regulator

**21 CFR 177.2600, Rubber articles intended for repeated use (fetched as raw XML via govinfo, not WebFetch's summary)**
https://www.govinfo.gov/content/pkg/CFR-2023-title21-vol3/xml/CFR-2023-title21-vol3-sec177-2600.xml
(the canonical eCFR page redirected through a bot-check page that WebFetch could not follow; this govinfo XML mirror returned the regulation's own text directly, confirmed by reading it after stripping tags)
- verbatim: list of permitted elastomers under (c)(4)(i) includes "Silicone (Si) elastomers containing methyl groups," "Silicone (Vsi) elastomers containing methyl and vinyl groups," and "Silicone basic polymer as described in ASTM method D1418-81" — i.e. silicone rubber is regulated under this rule as one of the listed rubber elastomers, not under a separate "silicone" rule.
- verbatim (aqueous foods): "shall yield total extractives not to exceed 20 milligrams per square inch during the first 7 hours of extraction, nor to exceed 1 milligram per square inch during the succeeding 2 hours."
- verbatim (fatty foods): "shall yield total extractives not to exceed 175 milligrams per square inch during the first 7 hours of extraction, nor to exceed 4 milligrams per square inch during the succeeding 2 hours."
- The regulation sets substances and extraction limits only; it contains no product certification mark, registration number or labelling scheme a consumer listing could cite. (My own reading of the full text, not a quoted claim — this is the basis for judgements 1 and 2 below.)
- Supports: silicone is covered as a rubber elastomer; the extractives-limit numbers; the "no certification scheme" judgement. Confidence high (primary regulation, read directly).

### Primers (Wikipedia) and a manufacturer technical brochure

**Silicone rubber — Wikipedia**
https://en.wikipedia.org/wiki/Silicone_rubber
- verbatim: "resistant to extreme environments and temperatures from −55 to 300 °C (−70 to 570 °F)."
- verbatim: "Silicone rubber may be cured by a platinum-catalyzed cure system, a condensation cure system, a peroxide cure system, or an oxime cure system."
- verbatim (platinum/addition system): "The reaction has no byproducts."
- verbatim (peroxide system): "Peroxide curing is widely used for curing silicone rubber. The curing process leaves behind byproducts, which can be an issue in food contact and medical applications. However, these products are usually treated in a postcure oven which greatly reduces the peroxide breakdown pro[ducts]."
- Supports: general temperature range; the four cure systems; platinum = no byproducts, peroxide = byproducts needing a post-cure bake. Confidence high. This article cites Wacker's own brochure (below) for some of this, so the two are not fully independent, but I fetched and read both separately.

**Wacker Chemie, "Silicones — Chemistry and Technology" (PDF, pdftotext)**
https://www.wacker.com/h/medias/6415-EN.pdf
- verbatim: "Compared to peroxide curing, liquid silicone rubbers do not release any curing byproducts." (liquid silicone rubber = platinum/addition cured)
- verbatim: HTV (high-temperature-vulcanizing, i.e. the solid silicone used for molded bakeware) silicone has "a wide range of service temperatures (-50 to +200 °C, or even -90 to +300°C for special formulations), no known physical or physiological harmful effects."
- verbatim: condensation-cured RTV-2 (room-temperature, two-part) silicone "generat[es] alcohol as byproduct" when tin-catalyzed, versus platinum addition curing which "does not produce byproducts."
- Supports: second, independent confirmation of the cure-type/byproduct claim, and the service-temperature range. Confidence high (primary manufacturer document, a leading global silicone producer).

**Chocolate — Wikipedia**
https://en.wikipedia.org/wiki/Chocolate
- verbatim: "Cocoa butter is a polymorphic fat with six different crystal forms, but only one of them—Form V—gives chocolate its characteristic snap, gloss, and stable texture. Tempering eliminates the undesirable crystal forms and promotes the formation of Form V."
- verbatim: "After chocolate has been tempered, it is molded into different shapes, including chocolate bars and chocolate chips."
- Supports: the mechanism section's tempering/Form V claim. Confidence high.

**Cookie cutter — Wikipedia**
https://en.wikipedia.org/wiki/Cookie_cutter
- verbatim: "Most commonly made of copper, tin, stainless steel, aluminium, or plastic" (cutout cutters).
- verbatim: "Commonly made of copper, tin, or plastic" (detail-imprint cutters, which "also mark the surface of the dough").
- verbatim: "Usually made of wood, ceramic, or plastic" (cookie moulds, which have "an ornate design debossed into the surface").
- verbatim: "the cutter is pressed into cookie dough that has been rolled flat to produce the shape of the cutter's outline."
- Supports: the materials list behind `material_family` and `cutting_edge_type`'s three values. Confidence high.

**Ice cube — Wikipedia (page is titled "Ice cube"; redirects from "Ice cube tray")**
https://en.wikipedia.org/wiki/Ice_cube
- verbatim: "Ice cube trays are designed to be filled with water, then placed in a freezer until the water freezes into ice... Ice trays are often flexible, so the frozen cubes can be easily removed by flexing the tray."
- verbatim: describes "twist ice trays" (spring-loaded flex-and-invert) and "an alternative system... an aluminium tray with a lever that raises the ice cubes."
- verbatim: "Cloudy ice cubes occur when water is frozen quickly, or when the water is high in dissolved solids... dissolved gases can no longer stay in solution and come out as microscopic bubbles... Commercial ice-makers use a flowing source of purified water to make ice with cooling elements at the bottom, allowing the bubbles to be washed away from the top as the cube grows."
- Supports: tray mechanism (flexible release) and the clear-vs-cloudy-ice judgement. Confidence high for the mechanism; this is the only source reached for the clear-ice claim, so that judgement is kept at medium confidence and no number from it was put in the JSON.

**Polycarbonate — Wikipedia**
https://en.wikipedia.org/wiki/Polycarbonate
- verbatim: "Polycarbonate has a glass transition temperature of about 147 °C (297 °F), so it softens gradually above this point and flows above about 155 °C (311 °F)."
- verbatim (infobox): "Upper working temperature 115–130 °C (239–266 °F)" and "Lower working temperature −40 °C (−40 °F)" (the infobox cites a SABIC Lexan technical manual for this line, which I did not fetch separately).
- verbatim: "Products made from polycarbonate can contain the precursor monomer bisphenol A (BPA)."
- Supports: the "polycarbonate isn't oven-safe" judgement and the BPA judgement. Confidence high for the numbers (material datasheet, via Wikipedia's infobox); the infobox's own source (SABIC) was not independently fetched, so I treat this as a single source chain rather than two fully independent ones, and the judgement is worded as a judgement, not a bare JSON number.

### Spec sheet (leading professional manufacturer)

**Chocolate World, FAQ**
https://www.chocolateworld.be/en/faq
(fetched both via WebFetch and raw via curl; the quote below matched in both)
- verbatim: "Our polycarbonate moulds do contain BPA; however they are fully EU-compliant and perfectly suitable for professional chocolate work."
- verbatim: "Designed for precision and shine, they help you achieve beautifully glossy finishes."
- Supports: the BPA judgement (direct disclosure from the leading Belgian chocolate-mould maker) and the shine/precision trade-off. Confidence high for what the company states about its own product; this is one manufacturer, not a survey of the market, so the BPA judgement is kept at medium confidence rather than generalised to "all polycarbonate molds."

### Could not reach

WebSearch: exhausted before any query returned a result (200 of 200 used), so no search-engine summaries were used anywhere in this register.

Retail and brand pages that blocked or 404'd on both WebFetch and curl: Amazon/Williams-Sonoma listings (403), OXO product and FAQ pages (403), Wilton product pages (404; the domain itself loads but specific URLs guessed did not resolve), Ann Clark Cutters (DNS failure on the domain), Silpat FAQ (connection timeout), Tomric Systems (403), Nordic Ware care page (fetched blank by the summarizing tool), America's Test Kitchen cookie-cutter and ice-cube-tray reviews (could not find a live URL; the one guessed URL that returned 200 was a dish-rack article, not ice cube trays), Serious Eats (blocked entirely — "unable to fetch from www.seriouseats.com"), Food Network (404 on the guessed URL), King Arthur's own chocolate/candy-mold pages (404 on every guessed URL; their baking-pans articles, read by the `baking-pans` sibling register, do not cover molds). German BfR Recommendation XV on silicone (the EU/German equivalent to the FDA rule) could not be reached: the PDF URL 404'd, the Internet Archive's CDX API timed out (504) and returned no snapshot via the availability API, and DuckDuckGo and Bing searches needed to find a live mirror either hit a bot CAPTCHA (DuckDuckGo) or returned no usable result links (Bing). CPSC's recall search and NSF's certification explainer both returned 403. As a result, this register cites only the FDA/US side of the food-contact standard, not the EU/LFGB side, and says so in the judgements rather than guessing at LFGB's specific limits.

Fix pass (2026-10-26), re-attempting `material_family`/`cutting_edge_type`/`freezer_safe` against a live listing: tried IKEA, Wayfair, Target (product page and search), Walmart, JoAnn, Michaels, eBay, Etsy, Nordic Ware, OXO, Wilton (root and category pages), Silikomart, LEKUE, Container Store, Bed Bath & Beyond, Sur La Table and W&P via direct `curl`. Results: 403/429/404 on most (Wayfair, Michaels, eBay, Etsy, OXO, Crate&Barrel, Container Store redirect); the rest (IKEA, Target, Walmart, JoAnn, Wilton, Silikomart, Sur La Table, W&P) returned HTTP 200 but the product/material text is rendered client-side — the raw HTML is a JS app shell or nav-only category page with no server-rendered listing text to grep. No reachable listing confirmed any of the three fields in this pass either; the gap stands as still open, not closed.

## Data points used for derived metrics

- `batch_yield` (cavity count × cavity capacity): no sourced number for either input across the category — this is deliberately left as a formula over two per-product fields, not a category-wide constant, because cavity counts and capacities vary too widely (ice cube to novelty cake) for a typical value to mean anything.

## Against the existing add-on schema

`zamana-expertise/data/schema-parts/supplies/kitchen/add-ons/mold.jsonc` is currently empty (just the category comment). `kitchen-standard.jsonc` already carries a generic `materials[]` array (material + role) and `max_heat_temp`; `supplies-standard.jsonc` already carries `sizing.capacity` (value + unit, including `count_items`) and `dishwasher_safe` is on the kitchen standard too. Reading `AGENTS.md`'s four field-kind tests (vertical anchor, category quality currency, hard filter, sizing) and its rule 1 (visually-derived fields stay out of schemas):

| Register facet | Already covered by the shared standards? | Proposal for `mold.jsonc` | Field kind (AGENTS.md) |
|---|---|---|---|
| `use_environment` | No structured field; it's really the product's sub-type (ice tray vs cookie cutter vs chocolate mold), which the catalog's own taxonomy already encodes. | None — don't add a field; the taxonomy leaf already carries this. | n/a |
| `material_family` | Partly — `materials[]` already exists. | Add `polycarbonate` as its own value in the shared `materials` enum (it currently only has generic `plastic`), since professional spec sheets and this register's whole BPA/shine story depend on telling it apart from generic plastic. | Vertical anchor (extends an existing one) |
| `support_structure` | No. | Add `needs_backing_tray: boolean`. It's a genuine hard filter (a buyer who doesn't own a spare baking sheet cares), and it's stated often enough in description text to be worth augmenting. | Hard filter |
| `bpa_content` | No. | Add `bpa_free: enum [bpa_free, contains_bpa, unspecified]`. Food-contact-safety-relevant and explicitly claimed often enough (as "BPA-free") to commit to. | Hard filter |
| `silicone_cure_type` | No. | **Don't add.** Almost never disclosed on any listing (see `backfill_cost: high` below); this is Jev/`high_signal_markdown` material when a brand's own copy happens to say "platinum silicone," not a field we'd commit to augmenting on every row. | Would fail the "would we happily augment it" test in AGENTS.md rule 4 |
| `cavity_capacity` | Close — `sizing.capacity` already exists for the whole product; per-cavity capacity is a different number (e.g. a 12-cavity tray with each cavity 30 ml). | Add `capacity_per_cavity` alongside the existing `sizing.capacity`, same unit enum, since quality-currency fields should be "as many as we'd happily augment" and this one genuinely differs across the catalog. | Category quality currency |
| `cutting_edge_type` | No. | **Don't add as a schema field.** Whether a cutter also stamps a detail line is visible in the product photo, which is exactly AGENTS.md rule 1's test ("if a human would eyeball it from the photo... it is not a filter"). Keep it as a register facet for the assistant's reasoning; let the image/embedding pipeline carry it, not the text schema. | Visually-derived — excluded by rule 1 |
| `freezer_safe` | No. | Add `freezer_safe: boolean`, parallel to the existing `max_heat_temp` but for the cold end, which the current schema has no field for at all. | Hard filter |

No existing `mold.jsonc` fields are flagged as noise, because the file currently has none.

## Branches

- `use_environment` = baking → ask `material_family`, `support_structure`; `cutting_edge_type` and `freezer_safe` stop mattering. Chain: a cookie cutter never faces oven heat and an ice mold never faces oven heat, so a baking answer removes both from consideration (Wikipedia cookie-cutter mechanism: dough is cut before baking, not baked in the cutter; Wikipedia ice-cube: trays exist to freeze, not bake). SUPPORTED.
- `use_environment` = candy and chocolate → ask `material_family`, `bpa_content`; `cutting_edge_type` stops mattering (chocolate and candy molds pour or set, they don't cut). Chain: tempering and molding are a pour-and-set process with no cutting step (Wikipedia Chocolate: "tempered, it is molded into different shapes"); BPA only becomes a live question once the branch is inside rigid plastic, which is why `bpa_content` is asked here rather than on `baking` or `ice`. SUPPORTED.
- `use_environment` = ice → ask `material_family`, `freezer_safe`; `cutting_edge_type` and `bpa_content` stop mattering. Chain: ice trays are defined by going in the freezer (Wikipedia Ice cube: "placed in a freezer until the water freezes"), and nobody raises BPA for a tray whose contents are water, not food that sits warm against the plastic. WEAK on "BPA irrelevant for ice" specifically — BPA leaching studies are usually about warm/fatty contact, not frozen water, but no fetched source (in this pass or the first) says ice is exempt. The `makes_irrelevant` entry is kept as **cosmetic-only**: it suppresses the `bpa_content` question without asserting any safety fact, and that is stated here explicitly rather than in category.json, since the branch schema has no field for branch-level caveat text.
- `use_environment` = cutting dough → ask `material_family`, `cutting_edge_type`; `support_structure`, `freezer_safe` and `cavity_capacity` stop mattering. Chain: a cutter has no cavity to fill or carry on a tray, and nothing about it goes in a freezer (Wikipedia Cookie cutter: pressed into rolled dough, no fill or set step). SUPPORTED. `bpa_content` is deliberately **not** in this branch's `makes_irrelevant` any more (see Corrections): a plastic cutter reached via `material_family` = hard plastic still asks it, so suppressing it here contradicted that branch.
- `material_family` = flexible silicone → ask `silicone_cure_type`, `support_structure`; `bpa_content` stops mattering. Chain: BPA is specifically a polycarbonate/plastic question (Wikipedia Polycarbonate: "can contain the precursor monomer bisphenol A"); silicone carries no BPA story in any source read. SUPPORTED.
- `material_family` = hard plastic → ask `bpa_content`; `silicone_cure_type` stops mattering (not silicone, SUPPORTED). `support_structure` also marked irrelevant, but that leg is **WEAK**: "rigid plastic is inherently self-supporting" is my own inference, not a sourced claim — no fetched source states that no rigid mold ever needs a backing tray. Kept as a flagged assumption, the same way the ice/BPA leg above is flagged, not removed.
- `material_family` = metal → `silicone_cure_type` and `bpa_content` stop mattering, SUPPORTED (neither sourced material fact applies to metal). `support_structure` also marked irrelevant, but that leg is **WEAK** for the same unstated-inference reason as hard plastic above: no source confirms a rigid metal piece never needs a backing tray; kept as a flagged assumption.
- `material_family` = other (ceramic, wood) → added in this fix pass, mirroring `metal`'s branch: `silicone_cure_type`, `bpa_content` and `support_structure` all marked irrelevant. SUPPORTED for cure type and BPA (neither silicone nor BPA-bearing plastic, by definition); **WEAK** on `support_structure` for the same unstated-inference reason as `hard plastic` and `metal`.

## Trimmed detail

- The seed's "dropped" frame-delamination observation (silicone bonded to a rigid frame can separate at the seam) has no fetched source with a number or failure rate; it stays here as a design observation, not a JSON claim.
- Wikipedia's ice-cube clear/cloudy mechanism is sourced from one page only in this run (Internet Archive and several cocktail-expert sites that would normally carry a second source — Punch, Alcademics, Camper English — were unreachable or 404'd); the register's judgement about it is therefore medium confidence and no specific number from it appears anywhere in category.json.
- Polycarbonate's working-temperature figures come from Wikipedia's infobox, whose own citation is a SABIC Lexan technical manual I did not fetch directly; treated as effectively one source chain, which is why the "not oven-safe" claim is a judgement rather than a bare range on the material facet.
- The BfR/LFGB (EU) side of the food-contact-silicone standard could not be reached by any method tried (see "Could not reach"); the register and its one safety judgement cover only the FDA/US rule, and category.json does not claim anything about the EU standard's specific limits.

## Corrections (2026-10-26)

1. Fix 1 (branch contradiction): removed `bpa_content` from `use_environment` = cutting dough's `makes_irrelevant`, so the `material_family` = hard plastic branch's `then_ask: [bpa_content]` no longer contradicts a sibling branch on the same path.
2. Fix 2 (baking-pans swallow): added "Classic pan shapes stay with baking-pans, not here." to the `use_environment` split's `rationale` in category.json, stating the boundary plainly where the cold-start flow's own text lives, instead of only in notes.md prose.
3. Fix 3 (missing branch): added a `material_family` = "other (ceramic, wood)" branch, mirroring `metal`'s (`silicone_cure_type`, `bpa_content`, `support_structure` all irrelevant).
4. Fix 4 (unsourced WEAK inference): reworded the Branches section (`hard plastic`, `metal`, and the new `other (ceramic, wood)`) to flag the `support_structure`-irrelevant leg as a stated assumption, not a sourced fact, matching how the ice/BPA leg was already flagged. No source was found for or against it in this pass; `category.json`'s branches are unchanged since the schema has no per-leg caveat field.
5. Fix 5 (ice/BPA still unresolved): reworded the ice branch note in notes.md to call the `makes_irrelevant` entry "cosmetic-only" explicitly, per the check's own suggested wording. No source found in this pass either; entry kept, not removed, as the check allowed.
6. Fix 6 (mechanism overgeneralizes): narrowed `mechanism.plain`'s silicone range to "-50 to 200°C, with special grades to -90/300°C" and added `wacker_silicone_brochure` to `mechanism.evidence` alongside `wiki_silicone_rubber`, so the special-formulation ceiling is no longer stated as the typical range on a single source.
7. Fix 7 (unchecked listing facets): attempted 17 additional retail/brand URLs via curl (see "Could not reach" addendum above); all were blocked or JS-rendered shells with no server-side listing text. Gap logged explicitly rather than closed; `source: listing` left as-is on `material_family` and `freezer_safe` since brand/category knowledge still supports it being commonly stated, per LEAN.md's fallback rule.
8. Fix 8 (cutting_edge_type source/backfill_note mismatch): changed `cutting_edge_type.source` from `listing` to `researched` and reworded `listing_field_hint`/`backfill_note` to say the field is read from the photo, not listing text, resolving the contradiction directly.
9. Fix 9 (missing 4th value in question): changed `material_family`'s `question`/`cold_start_question` to "Flexible silicone, hard plastic, metal, or other (wood, ceramic)?" (9 words, under the 12-word cap).
10. Fix 10 (bpa_content backfill_cost too high): changed `bpa_content.backfill_cost` from `medium` to `low`, matching its own `backfill_note` description as a presence-check scan.
