Scope: "Kites" — flying kites (single-line, dual-line sport/stunt, power/traction) and their lines, tails and bridles; excludes gliders/launchers/flying toys (sibling leaf `gliders`) and other model-plane style flying toys.

Seed: Kites equivalent of harvest_date (hidden, decay-relevant spec): ripstop nylon's weave/denier and reinforcing-stitch quality at stress points (wingtips, bridle attachment) — rarely stated, degrades with UV/storage, but no sourced UV-decay number survived this run's fetches, so it's folded into sail_material's why_experts_care rather than its own facet. Persona (textile conservator) would notice first that a kite's sail fabric and frame material are chosen as a durability/weight trade exactly like garment textile choices, which is why sail_material and frame_material are separate facets instead of one "build quality" field.

Sources:
[wikipedia_kite] https://en.wikipedia.org/wiki/Kite — sail/line materials, power-line shock risk — fetched excerpt
[wikipedia_kite_types] https://en.wikipedia.org/wiki/Kite_types — delta/diamond/box/sled/parafoil/train shape taxonomy — fetched excerpt
[cfr_1500_18_govinfo] https://www.govinfo.gov/content/pkg/CFR-2023-title16-vol2/xml/CFR-2023-title16-vol2-sec1500-18.xml — 10in aluminized-film kite tail ban — fetched excerpt, verbatim regulation text
[cfr_1500_18_cornell] https://www.law.cornell.edu/cfr/text/16/1500.18 — same 10in ban, independent mirror — fetched excerpt
[itw_stunt101] https://www.intothewind.com/pages/stunt-kites-101 — Dacron vs Spectra stretch %, conductive graphite spar warning, bridle adjustment — fetched excerpt
[itw_trad101] https://www.intothewind.com/pages/traditional-kites-101 — delta/diamond/box/sled wind and bridle tuning tips — fetched excerpt
[itw_alpine_dc] https://www.intothewind.com/products/itw-alpine-dc-kite — single-line spec: ripstop/fiberglass, 3-20mph, Dacron line — fetched excerpt
[prism_basics] https://prismkites.com/pages/kite-flying-basics — kite_type taxonomy, brake/quad-line de-power, Dyneema vs polyester line — fetched excerpt
[prism_quantum] https://prismkites.com/collections/dual-line-framed-kites/products/quantum-2-0 — sport-kite spec: 87in span, carbon frame, 3-25mph, Dyneema line, beginner sub-range note — fetched excerpt

Branches:
- single_line -> single_line_shape, tail_attachment; makes irrelevant frame_style/bridle_adjustability/line_count_and_control — supported by itw_trad101 (shape-specific tuning, no line-count steering) and prism_basics (single-line kite has no control lines).
- dual_line_sport -> frame_style, frame_material, bridle_adjustability; makes irrelevant single_line_shape — supported by prism_basics (framed vs frameless dual-line definitions) and itw_stunt101 (bridle/spar-specific guidance).
- power_traction -> line_count_and_control, primary_activity; makes irrelevant single_line_shape, frame_style — supported by prism_basics (power kites' brake/quad-line control tied to traction-sport use).

Noise (brand-sheet rows left out):
- Color/graphics — cosmetic, generic across every category, not expertise.
- Price/handles-vs-straps included accessory — bundling detail, not a kite spec.
- Packed/case length (e.g. Alpine's 50in case) — only one source carried a number, dropped rather than guess a second.
- Reviews/star ratings on brand pages — not an expert facet (price/rating excluded by rule).
- Packaged Weight (shipping weight incl. bag/winder, e.g. Quantum's 1.6 lbs) and the kite's own flying weight (Quantum's 14 oz) — only one source (prism_quantum) carries either number, same single-source reason case length was dropped.

Corrections (2026-10-26):
- Dropped `derived_metrics.wing_loading`: it depended on `weight`/`sail_area`, neither a facet nor backed by a second source across kite types, so the metric was unusable and not sourceable within scope; narrowing to a single-kite data point would still leave it single-sourced.
- Rejected required fix #2 (remove "14oz, 9.6 sq ft sail" from `prism_quantum`'s citation): re-fetched https://prismkites.com/collections/dual-line-framed-kites/products/quantum-2-0 today and both figures are present verbatim in a static `<table id="specs">` row ("Weight: 14 oz / 398 grams", "Sail Area: 9.6 sq ft / .88 sq m"); the checker apparently read only the separate, placeholder-driven "Sport Kite Specs" metafield table lower on the page. Citation left unchanged.
- Added `age_range` facet (categorical, evidence: prism_quantum + prism_basics) for the brand-stated minimum age gap the checker found.
- Narrowed `wingspan.range` to {min:87, max:120}, the two values actually stated by its two citations (prism_quantum 87in, itw_alpine_dc 120in), replacing the unsourced {24,144}.
- Broadened `tail_material_safety`'s definition/values to also cover a whole kite built from 10in+ aluminized film, not just a tail/component.
- Added vocabulary entries for Icarex, Eddy, Kevlar.
- Reclassified `wind_range`, `wingspan`, `frame_material`, `sail_material`, `line_material`, `tail_attachment`, `skill_level` from `source: listing` to `researched` (brand/specialist pages only, no generic marketplace listing fetched); updated each `listing_field_hint` to say so.
