Scope: Shoe Care Tools (supplies > household > shoe_care_tools) — polish, brushes, shoe trees, shoehorns, suede tools, applicators/cloths, leather conditioners. Routed by upper material (smooth leather / suede-nubuck / patent / synthetic) then goal. No sibling leaf in catalog.json for shoe polish/laces specifically, so this leaf owns all of it.

Seed:
1. The weave equivalent here is upper_material: the marketed split (brand, color) hides the real fork — suede/nubuck can't take wax or water and needs a brass brush/eraser instead, while smooth leather's whole polish/brush family is irrelevant to it.
2. The endurance-athlete persona would clock first that almost none of this category applies to their own footwear — running shoes are synthetic mesh/EVA, not leather, so a horsehair brush or cedar tree is dead weight/cost for them; they'd want a cleaner/protectant spray instead, which this leaf only lightly covers.

Sources:
[wiki_shoe_polish] https://en.wikipedia.org/wiki/Shoe_polish — wax/cream/liquid formula types, solvents, dyes, liquid-polish drying warning — fetched excerpt
[wiki_shoe_tree_device] https://en.wikipedia.org/wiki/Shoe_tree_(device) — spring/split-toe/lasted/plastic/boot-tree designs, cedar moisture-wicking, plastic travel use — fetched excerpt
[wiki_shoehorn] https://en.wikipedia.org/wiki/Shoehorn — handle length for boots, materials — fetched excerpt
[wiki_suede] https://en.wikipedia.org/wiki/Suede — suede brush/rubber tools, vinegar/cornstarch — fetched excerpt
[wiki_nubuck] https://en.wikipedia.org/wiki/Nubuck — nubuck vs suede definition — fetched excerpt
[wiki_mink_oil] https://en.wikipedia.org/wiki/Mink_oil — mink oil as leather conditioner, often not real mink oil — fetched excerpt
[wiki_saddle_soap] https://en.wikipedia.org/wiki/Saddle_soap — cleans+conditions+protects, lanolin/beeswax — fetched excerpt
[wikihow_shoe_polish_guide] https://www.wikihow.com/Polish-Shoes — horsehair vs stiff bristle brush, dauber, chamois, suede eraser — fetched excerpt

Branches:
upper_material=suede_nubuck makes polish_formula/polish_color_match/brush_bristle_material irrelevant — supported by wiki_suede ("cannot be cleaned with soap and water... suede brushes and suede rubbers... used to clean suede").
upper_material=smooth_leather makes suede_tool_type irrelevant — same sentence, inverse direction.
primary_goal=shape_and_freshness makes polish_formula/brush_bristle_material irrelevant, routes to shoe_tree facets — supported by wiki_shoe_tree_device (shoe tree's job is shape + moisture-wicking, unrelated to polish).
primary_goal=donning_ease routes to shoehorn facets only — supported by wiki_shoehorn (shoehorn's sole job is easing the foot in).
upper_material=smooth_leather then_ask[polish_formula, brush_bristle_material, shoe_tree_material] — supported by wiki_shoe_polish (polish/brush steps) and wiki_shoe_tree_device (trees fit any shoe shape, no material restriction).
upper_material=patent_leather then_ask[] — supported by wiki_patent_leather ("need only be wiped with a sponge to restore it to its original lustre"); its factory gloss coating needs no polish or brush.
upper_material=synthetic_canvas_mesh then_ask[sneaker_cleaner_type, protectant_spray_type] — supported by jasonmarkk_catalog and angelusdirect_catalog (liquid/foam/wipe cleaners and repellent sprays sold specifically for synthetic/canvas sneakers) and wiki_dwr (spray chemistry).
upper_material=exotic_leather then_ask[leather_conditioner_type] — exotic skins (snake, alligator, ostrich) are conditioned with oils rather than finished with wax polish, so routed like suede away from polish_formula/brush_bristle_material; not independently sourced for exotic leather specifically this run.
primary_goal=shine_and_polish then_ask[polish_formula, brush_bristle_material] — supported by wiki_shoe_polish and wikihow_shoe_polish_guide, the same sources already backing those two facets.
primary_goal=clean_and_maintain then_ask[applicator_type, leather_conditioner_type] — supported by wikihow_shoe_polish_guide (applicator/dauber/chamois) and wiki_mink_oil/wiki_saddle_soap (conditioner types).

Noise (rows seen but not made facets):
- Brand/price/rating: excluded per rule, never facets.
- "Spit-shine"/"bull shine" technique (wiki_shoe_polish): a technique, not a product attribute a listing carries — folded into polish_formula's why_experts_care instead of its own facet.
- Fire-shining (wikihow): a risky technique mentioned once, not a tool spec; left out.
- Waterproofing spray formula (silicone vs fluoropolymer vs wax): could not find two independent fetchable sources this run (brand pages blocked/404'd); dropped rather than guessed. Polish's own water-resistance is covered under polish_formula.
- Sneaker/synthetic cleaner-kit specifics (Jason Markk, Crep Protect): brand sites returned blocked pages or JS-only shells with no server-rendered text to cite; synthetic_canvas_mesh is kept as an upper_material value but given no dedicated facet set this run.
- Brush "two-brush method" step order: expertise-is-reference — not encoded as an ordered script, folded into brush_function's definition instead.

Corrections:
- Dropped "waterproof_and_protect" from primary_goal's split question wording (facet itself never had that value; question text had drifted from it) and shortened to 11 words.
- brush_function had cold_start_question: null, which the schema rejects; gave it a real question and flipped novice_answerable to true.
- references[wikihow_shoe_polish_guide].kind "guide" isn't a valid enum value; changed to "specialist_review".
- Trimmed the Nubuck reference's supports line from 21 to 16 words to fit the cap.

Corrections (2026-10-26):
- Added sneaker_cleaner_type and protectant_spray_type facets and routed synthetic_canvas_mesh's then_ask to them, closing the zero-facet coverage gap (jasonmarkk_catalog, angelusdirect_catalog, wiki_dwr).
- Added an exotic_leather branch to upper_material (routes to leather_conditioner_type, nulls polish/brush/suede facets) so the value is no longer a dead end.
- Removed the uncited "over about 18 inches" number from shoehorn_length.backfill_note; classify by handle-length wording instead.
- Added makes_irrelevant[shoehorn_length, shoehorn_material, shoe_tree_material, shoe_tree_design] to primary_goal's clean_and_maintain branch, matching the other three branches' pattern.
- Added vocabulary entries for oxblood_cordovan, neatsfoot oil, nigrosin dye, welt, and exotic_leather.
- Flipped brush_bristle_material's unlabeled-brush default from horsehair_soft to nylon_stiff_synthetic, since unlabeled mass-retail brushes skew synthetic.
- Documented the previously-unlogged smooth_leather, patent_leather, synthetic_canvas_mesh, shine_and_polish and clean_and_maintain branch legs in Branches above, adding wiki_patent_leather as a new source for the patent_leather leg.
