Scope: backyard structures with at least one swing — basic A-frame/metal swing sets, multi-accessory wood/metal "play systems" with a clubhouse/tower, and compact plastic toddler playsets. Excludes standalone slides/climbers with no swing (leaf: slides), playhouses with no swing (leaf: playhouses), sandboxes, trampolines, and inflatable bouncers — those are sibling leaves under outdoor-play-structures.

Seed:
1. The swing-sets equivalent of weave-beats-thread-count: suspension material (coated chain vs rope) and hanger closure (pinched S-hook vs open) decide safety and longevity, not swing count or price.
2. A sommelier (origin, process, aging) would ask what wood species and finish process the frame went through and how it ages outdoors over years — cedar's natural oils vs pine needing yearly resealing — before looking at swings at all.

Sources:
[cpsc_handbook] https://www.cpsc.gov/s3fs-public/325.pdf — fall height, use zones, S-hook closure (<=0.04in gap), rope not recommended, CCA-wood ban — fetched PDF text, pdftotext
[wikipedia_swing_seat] https://en.wikipedia.org/wiki/Swing_(seat) — swing types (belt, bucket, tire, trapeze, tandem), physics, history — fetched HTML
[backyard_discovery_atlantis] https://www.backyarddiscovery.com/products/atlantis-cedar-swing-set — cedar wood, ASTM F1148-22 cited, rock wall/wave slide/trapeze, 8-kid capacity, dimensions — fetched HTML
[gorilla_playsets_faq] https://gorillaplaysets.com/pages/faq — cedar lumber + factory stain/reseal within 90 days, free-standing ground stakes vs in-ground mounts, concrete surfacing warning (~60% of injuries from falls) — fetched HTML
[rainbow_play_why] https://www.rainbowplay.com/why-rainbow-play/ — 100% cedar lumber, decay resistance, recessed hardware — fetched HTML
[lifetime_swingsets] https://www.lifetime.com/swing-sets — metal frames don't warp/splinter, weather-protected steel + polyethylene to resist rust/fade/heat — fetched HTML
[littletikes_age_brackets] https://www.littletikes.com/collections/playsets — age-bracket convention (0-12mo, 1-2yr, 3-4yr, 5yr+) used for play products — fetched HTML

Branches:
structure_type: play_system_with_accessories -> climbing_feature_type/slide_type/accessory_focus — supported by Atlantis bundling rock wall + wave slide + clubhouse as one SKU (backyard_discovery_atlantis).
structure_type: basic_swing_set makes climbing_feature_type/accessory_focus irrelevant — supported by Lifetime's plain metal "swing sets" line carrying no clubhouse/rock-wall accessories (lifetime_swingsets).
frame_material: wood -> wood_species/maintenance_finish_need — supported by Gorilla's "apply a sealant...within the first 90 days" instruction, which only applies to cedar lumber (gorilla_playsets_faq).
frame_material: metal makes wood_species irrelevant — supported by Lifetime's steel+polyethylene construction claim having no wood component (lifetime_swingsets).
age_range: toddler_1_3 -> primary_swing_mix (full bucket) — supported by CPSC's toddler full-bucket-seat recommendation under ~4 years (cpsc_handbook).
age_range: school_age_5_12 -> climbing_feature_type — supported by CPSC's Table 1 listing arch climbers/monkey bars under grade-school, not toddler/preschool (cpsc_handbook).

Noise (brand-sheet rows left out):
Overall structure footprint in inches (93.5 x 111) — one-listing dimension, not a stable expert split; covered qualitatively by use_zone_clearance_need instead.
Shipping box count/weight — logistics, not buyer expertise.
Price ($999) — never a facet per rule.
Warranty length (5-year) — brand marketing term, not an expert-judged spec; varies by SKU not by category mechanics.
Stain color/tint ("light brown") — cosmetic, not functional.
Exact rock-wall hold count (6 holds) — too granular; folded into climbing_feature_type categorical.

Corrections (2026-10-26):
- Added caveat to the S-hook judgement note: CPSC's Public Playground Safety Handbook disclaims covering home equipment, and that caveat now covers every hardware/use-zone/rust/rope/surfacing/age figure sourced to it (Required Fix #1); ASTM F1148's own text is paywalled and was not fetched, so no stronger verification was possible this run.
- Added facet weight_capacity, sourced to a new reference gh_buyers_guide (goodhousekeeping.com buyer's guide) — a universal "Weight limit" spec row confirmed across 9+ products (Required Fix #2).
- Dropped "then roughly annually" from maintenance_finish_need's why_experts_care and tradeoff #1's give_up/plain — gorilla_playsets_faq supports only "within 90 days"; lifetime_swingsets never mentions cedar maintenance (Required Fix #3).
- Removed wikipedia_swing_seat from suspension_material's evidence (it never discusses rope/fiber suspension) and re-cited it to primary_swing_mix, which it genuinely supports (seat-type definitions) (Required Fix #4).
- Added vocabulary entries for "Galvanized" and "Arch climber" (Required Fix #5).
- Reclassified use_zone_clearance_need from researched/medium to derived/low — it's fully determined by primary_swing_mix, same pattern as maintenance_finish_need (Required Fix #6).
- Trimmed structure_type's compact_toddler_playset makes_irrelevant to just climbing_feature_type, and frame_material's plastic_resin makes_irrelevant to just wood_species/metal_frame_finish — the dropped items (wood_species/metal_frame_finish/maintenance_finish_need on the toddler branch; maintenance_finish_need on plastic_resin) were uncited empirical claims, and maintenance_finish_need is actually derived (not irrelevant) for every frame_material value (Required Fix #7).
- Added facets seat_material_safety and metal_heat_retention (both cpsc_handbook + gh_buyers_guide — CPSC's handbook recommends rubber/plastic seats over wood/metal and warns bare metal burns in direct sun; GH's testers independently flag both) and expandability (gh_buyers_guide + gorilla_playsets_faq, which lists a dedicated add-ons collection) (Required Fix #8).
- Rejected: did not re-verify the S-hook/use-zone/rust/rope numbers against ASTM F1148 itself — the standard's text is paywalled by ASTM and no free, residential-specific CPSC source stating the same numeric thresholds could be fetched this run; the explicit caveat above is the honest alternative the check itself offered.
