# Bath Toys — lean notes

Scope: toys used during a child's bath/water play (floaters, squirt/squeeze toys, stacking/pouring sets, suction-mounted and electronic active toys), ages ~0-5. Excludes bath seats/rings, inflatable bathtubs, and bath liquids/soaps (sibling leaves/products, not toys).

## Seed
Ran scripts/seed.py manually in head (no interactive run needed): the two questions it asks are answered by the toy_type and age_range splits, which are the two things that change which facets even apply (water-cavity/cleaning for squirters vs piece-count/stacking for building sets vs battery sealing for electronics) and which safety class governs (choking hazard under 3).

## Sources
- [wikipedia_toy_safety] https://en.wikipedia.org/wiki/Toy_safety — ASTM F963/CPSIA 0.1% phthalate limit, choking under 3, EN 71/CE mark — fetched, grepped "small part|choking|phthalate|ASTM|CPSIA"
- [wikipedia_en71] https://en.wikipedia.org/wiki/EN_71 — EN 71 parts breakdown — fetched, grepped "part 1..14"
- [wikipedia_phthalate] https://en.wikipedia.org/wiki/Phthalate — EU/US 0.1% phthalate cap cross-check — fetched, grepped "0.1%|CPSIA"
- [wikipedia_rubber_duck] https://en.wikipedia.org/wiki/Rubber_duck — material, floats vs sinks, wind-up/LED/quack variants — fetched, grepped "vinyl|float|wind-up|LED"
- [babylist_bath_toys_guide] https://www.babylist.com/hello-baby/best-bath-toys — mold-in-squirters claim, silicone-vs-plastic safety advice, 6-9mo start age, 5pc/13pc set examples, suction toy examples — fetched, grepped "mold|silicone|piece|months"
- [greentoys_bath_collection] https://www.greentoys.com/collections/bath — recycled plastic, floats, easy-open drainable design — fetched, grepped page text directly (static copy block found)
- [infantino_easy_clean_squirters] https://www.infantino.com/products/easy-clean-bath-squirters — silicone, easy-clean, fine-motor claim — fetched, grepped og:description meta
- [infantino_righttemp_light_up_otter] https://www.infantino.com/products/right-temp-light-up-otter — LED water-temp indicator (red/blue/green) — fetched, grepped og:description meta
- [infantino_bath_collection] https://www.infantino.com/collections/bath — product range (silicone spinners, stacking stars, suction toys, 12pc set) — fetched, grepped alt text + handles

## Branches
- toy_type → floating_toy routes to buoyancy/material; squirt_or_fill_toy routes to water_cavity_design/cleaning_method (babylist mold sentence); stacking_pouring_or_building_toy routes to piece_count/stacking (babylist 5pc/13pc + infantino 12pc sets); active_mounted_or_electronic_toy routes to power_source/battery_waterproofing/mount (infantino suction/electronic products).
- age_range → under_6_months/6_18_months ask choking_hazard_class; 3_years_plus makes it irrelevant (wikipedia_toy_safety: small parts restricted under 3).

## Noise (spec-sheet rows left out)
- Character licensing / color variety (Disney, holiday-themed ducks) — cosmetic, not an expert axis.
- Price, brand, star rating — excluded per rule.
- Gift-set bundling / packaging — not a product attribute, a merchandising choice.
- Inflatable bath tub (Infantino product on same collection page) — that's a bathing-equipment product, a sibling leaf, not a toy; excluded from scope.
- Exact small-parts choke-test cylinder diameter — real CPSC number but the source (ecfr.gov, cpsc.gov) was blocked (403/Akamai) every attempt; left as a qualitative choking_hazard_class facet instead of inventing the figure.

## Corrections
- Removed non-schema `source` sub-field from piece_count's `range` object.
- Fixed reference `kind` enum values: regulatory→regulator, standard→standards_body, buyer_guide→specialist_review.

## Corrections (2026-10-26)
- Added `18_36_months` to the age_range branch that asks `choking_hazard_class`, alongside under_6_months/6_18_months, since wikipedia_toy_safety's "under three years of age" covers that band too.
- Removed `buoyancy` from the `stacking_pouring_or_building_toy` branch's `makes_irrelevant`: nothing in the mechanism text says stacking/nesting cups can't float, and hollow nesting cups commonly do.
- Renamed `phthalate_bpa_status` facet to `phthalate_status` (id/label/definition) and updated its two vocabulary cross-refs: no source in the register substantiates a BPA-specific claim, only phthalate limits (CPSIA/REACH, 0.1%).
- Added a `typical` note to piece_count's `range` and a backfill_note caveat: max of 13 is the largest single listing example seen, not a confirmed category ceiling, since babylist (13) and infantino (12) don't converge on one figure.
- Changed `developmental_focus` `source` from `researched` to `listing`, matching its own `listing_field_hint` ("usually in marketing bullets," which is listing copy).
