# Trampolines: research notes

Date: 2026-10-25. Scope: consumer trampolines for continuous vertical jumping — round, rectangular, oval and square backyard models (above-ground and in-ground), mini fitness rebounders, and toddler bouncers. Not institutional/gymnastics equipment or trampoline-park (commercial) units, which ASTM F381 itself excludes from its scope. Water trampolines (floating lake/dock platforms) are a legal value of the existing add-on's `trampoline_type` enum, but I did not develop them here: their defining specs are buoyancy, anchor lines and water depth, which belong to the `water-play` sibling leaf (`supplies/play/outdoor-play-structures/water-play`, status planned in `catalog.json`). Swing-set/slide combo trampolines (`trampoline_with_swing_or_slide`) likewise overlap `swing-sets` — I kept the trampoline-specific facets here and left the swing/slide hardware to that sibling.

Quote labels: **verbatim** = I fetched the raw page with curl (or the PubMed/CPSC API returned it directly) and the sentence below is exactly what was in that text. **fetched excerpt** = the fetch tool (WebFetch) summarised or lightly reworded the page; I treat these as lower-confidence and did not put numbers from them alone into `category.json`. **search excerpt** = from a search-summary only; none were used here because WebSearch's budget was exhausted before I started (see below) and I worked entirely from direct fetches.

WebSearch reported its session budget (200/200) used on my first two queries, before I had done any searching of substance. Every source below was reached by direct `curl`, the NCBI PubMed E-utilities API, the CPSC SaferProducts.gov REST API, or an `archive.org` snapshot where the live page blocked fetches (Akamai/Cloudflare bot walls on cpsc.gov, astm.org, reddit.com, amazon.com and the live nytimes.com domain all returned 403/503 to both curl and WebFetch). I could not reach: cpsc.gov's own safety-education pages (blocked), AAOS orthoinfo (404 after a domain redirect loop), Reddit's r/trampoline (blocked), and any Amazon or Walmart *product* listing page (blocked/not product pages) — so I cannot personally confirm which fields sit on a live retail listing versus only on brand pages, and I have marked facets `researched` rather than `listing` wherever I only confirmed a field on a brand's own site, per the standing lesson about that failure mode.

## Seed

Seed run (recorded from the brief, since `seed.py`'s output is not saved by the script itself):

- Example given: car category? No — olive-oil `harvest_date`: a fact experts rank first, that almost no listing carries, and that is expensive to backfill (needs a label read or producer page, limited to the top of the catalog).
- Persona given: a cycling mechanic, who thinks in compatibility, standards and the part that has to match.

1. The trampolines equivalent of `harvest_date` is **where the springs sit relative to the enclosure net**. Wirecutter's reviewer (who built and bounced on nine models) flagged this as the deciding safety difference between two trampolines he otherwise rated highly — one has springs and padding *inside* the net, within reach of a jumper's fall; the other has them *outside*. No retailer names this as a spec field; you can only see it in photos or a hands-on review. Survived the data check: kept as `spring_position_relative_to_net`, marked `researched`, high backfill cost, limited to top N, because the fact is real, safety-relevant and genuinely not listing data.
2. What the cycling mechanic would notice first: the enclosure net is not part of the trampoline's own standard. ASTM publishes it as a *separate* specification (F2225, "sold as an accessory to or packaged with" an F381 trampoline), and a replacement net has to match the frame's pole count and diameter, not just the advertised size number — the same "the part that has to match" problem as a bike derailleur needing the right cage length. Survived: this became the `backfill_note` on `enclosure_net` and a vocabulary entry, not a new facet (adding a "net compatibility" facet on top of `enclosure_net` would have been padding for a fact that's really a caveat on the one facet).

## Sources and what each supports

### Standards (fetched directly; both via `archive.org` because `astm.org` returned HTTP 403 to curl and to WebFetch)

**ASTM F381-24**, "Standard Safety Specification for Components, Assembly, Use, and Labeling of Consumer Trampolines." Read via `https://web.archive.org/web/20240810045549/https://www.astm.org/f0381-24.html` (the live astm.org product page, snapshotted 2024-08-10; the live page 403'd). **verbatim** (I fetched this HTML and read the text myself):
- "This safety specification covers the components, the assembly, and the use of consumer trampolines."
- "This specification is delimited in its application to trampolines of (1) a minimum bed size of 3300 in.2 (21 300 cm2), (2) a minimum height of 20 in. (51 cm), (3) intended for the purpose of continuous, vertical jumping activities and (4) intended for consumer use."
- "for trampolines used in a home environment by a single user; and (3) not to apply to institutional trampolines or trampolines intended for use on water."
- "Trampolines that adhere to this specification are not recommended for use by children under six years of age."
- "When a trampoline is offered for sale, it shall include a frame, a bed, a suspension system, frame padding, information packet and suitable markings. A trampoline ladder shall not be included as a component part or within the same packaging."
- "Shock attenuation test shall be performed on the frame padding... a drop test shall be performed for trampolines without frame padding... Padding attachment system test shall be performed to determine padding retention."

Used for: the category scope boundary (min bed size, min height, single-user home use, water trampolines explicitly out of scope), the age-6 floor (judgement, below), padding/drop-test as the thing F381 actually tests (supports `pad_thickness` mattering), and the ladder exclusion (vocabulary).

**ASTM F2225-15r20**, "Standard Safety Specification for Consumer Trampoline Enclosures." Read the same way, via `https://web.archive.org/web/20250205114015/https://www.astm.org/f2225-15r20.html`. **verbatim**:
- "This safety specification covers the components, assembly, use, labeling, and performance requirements of consumer trampoline enclosures (see Safety Specification F381)."
- "This specification is applicable to trampoline enclosures to be sold as an accessory to or packaged with trampolines of (1) a minimum bed size of 3300 in.2 (2.1 m2), (2) a minimum height of 20 in. (510 mm)..."

Used for: confirming the enclosure net is a *separate* standard from the trampoline itself, not a mandatory part of F381 — the basis for the seed's "part that has to match" finding and for not overstating "ASTM requires a net" (Wirecutter's own prose does overstate this slightly; I did not copy that framing into the register).

### Regulator data (CPSC SaferProducts.gov REST API — worked directly; cpsc.gov's own safety-guide pages all returned Akamai "Access Denied" or 403 to curl, WebFetch and an IA lookup)

`https://www.saferproducts.gov/RestWebServices/Recall?RecallTitle=trampoline&format=json`, fetched 2026-10-25. **verbatim** (raw JSON I read myself), 15 recalls, 1999–2026. Representative hazard text, quoted exactly from the `Hazards[].Name` field:
- "The welds on the metal railings (legs) can fail, posing fall and injury hazards." (Super Jumper, 2019)
- "The enclosure netting surrounding these trampolines can break, allowing children to fall through the netting and be injured." (Sportspower, 2013 and again 2012)
- "The straps supporting the top of the trampoline's enclosure to the poles can fail. The enclosure could drop if these straps break..." (Skywalker, 2009)
- "The metal support legs of the trampoline can bend or break and the bungee cords that secure the mat to the frame of the trampoline can fray or break..." (Aviva Sports, 2009)
- "Young children can become entangled in the straps of the hammock, punching bag and hand ring accessories, posing a strangulation hazard, which can result in serious injury or death." (SEGMART mini round toddler trampolines, 2026)
- "The folding trampoline's frame can forcefully hit the user, posing an injury hazard." (JumpSport mini trampolines, 2019)
- "The straps on the bottom of the net can break. Children can fall out under the net and off the trampoline..." (JumpSport safety net enclosures, 1999)

Used for: confirming that weld failures, net/strap failures and bungee-cord fraying are real, recurring failure modes across 25+ years and many brands (supports frame/spring/net facets being worth surfacing at all, and the toddler-accessory strangulation point as a reason `primary_use = toddler_bouncer` is a real, separate branch rather than "backyard, but smaller"). Not used for any numeric facet value — this source supports qualitative judgements and facet rationale only.

### Academic (NCBI PubMed E-utilities; `pmc.ncbi.nlm.nih.gov` and `publications.aap.org` themselves returned 403/404)

**Briskin & LaBotz for the AAP Council on Sports Medicine and Fitness**, "Trampoline safety in childhood and adolescence," *Pediatrics* 2012;130(4):774-9, PMID 23008455. Abstract fetched **verbatim** via `efetch.fcgi`:
- "Most trampoline injuries occur with multiple simultaneous users on the mat."
- "current implementation of safety measures have not appeared to mitigate risk substantially. Therefore, the home use of trampolines is strongly discouraged."

**Hussein et al.**, "Trampoline Injuries in Children and Adolescents: A Jumping Threat," *Pediatr Emerg Care* 2022;38(2):e894-e899, PMID 34339161 (NEISS data, 2009–2018). Abstract fetched **verbatim**:
- "There was a total of 800,969 meeting inclusion criteria, with 433,827 (54.2%) occurring at their own homes... Of the total, 36,789 (4.6%) were admitted to a hospital."
- "Injury at a sporting venue was not associated with hospitalization."

**Eager, Scarrott, Nixon & Alexander**, "Survey of injury sources for a trampoline with equipment hazards designed out," *J Paediatr Child Health* 2012;48(7):577-81, PMID 22404557. This is the academic study behind Springfree's own "eliminate 90% of injuries" marketing line (below) — note its data came from the manufacturer's own Australian customer database, surveyed by the researchers. Abstract fetched **verbatim**:
- "In Australia, trampolines contribute approximately one-quarter of all childhood play-equipment injuries."
- "A significantly lower proportion of the injuries caused by falling off or striking the equipment was found for this new design when compared with traditional trampolines."

Used for: the AAP home-use judgement (sources_disagree with brand marketing, below), the 800,969/36,789 injury figures (two independent fetches — this abstract and Wirecutter's paraphrase of "a 2022 study," which match exactly: see next section), and downgrading Springfree's 90% claim from a fact to a disclosed, low-confidence brand claim — the only number the underlying study actually supports is "a significantly lower proportion," not a percentage.

### Specialist review (Wirecutter/NYT; the live `nytimes.com` domain 403's with a DataDome bot challenge to both curl and WebFetch, so I used the IA snapshot)

**Burt Helm, "The 3 Best Trampolines," Wirecutter**, updated Feb 12, 2026. Read via `https://web.archive.org/web/20260722060309/https://www.nytimes.com/wirecutter/reviews/best-trampoline/`. **verbatim** (raw HTML I fetched and stripped myself, 555 KB page):
- "Note, however, that full-size trampolines are not to be used by children under the age of 6, according to the Consumer Product Safety Commission." — repeated later as "No child under the age of 6 should use a full-size trampoline." This is the second, independent source for the age-6 floor (first is ASTM F381 itself).
- "The JumpFlex features the largest springs of any sub-$1,000 trampoline that I tested, measuring 7.1 inches, compared with the 5.5-inch length of some budget-tier trampolines." / "Its 96 8.5-inch springs provide a much more satisfying jumping experience..." / "the Sportspower Bounce Pro has only 72 5.5-inch springs — the fewest of the 14-foot trampolines we tested. So the jumping experience on this model is noticeably less bouncy..." — spring length and count measured directly by the reviewer, tied to bounce quality.
- "We didn't love that its springs are inside the net, a seemingly unnecessary safety hazard... we appreciated that the springs of the Sportspower Bounce Pro are outside of the perimeter of the safety net, unlike on the Avyna Pro Line."
- "The padding covering the JumpFlex springs is 15-mm thick... almost half the thickness of our upgrade pick's padding" (Avyna's padding stated as "a cushy 25 mm thick — 10 mm thicker than that of our top pick").
- "All of the trampolines I tested (aside from the Springfree, which has no springs) used rust-resistant galvanized steel for the frame and springs."
- "I reviewed the ASTM safety standards, which mandate features such as padding over springs, a UV-resistant mat, and an enclosure" — I use this for padding and UV-resistant mat (both line up with F381's own padding/drop-test clauses); I do **not** repeat the "mandate... an enclosure" part in the register, because F2225's own scope (above) frames the enclosure as a separate, accessory specification, not a mandatory part of F381 — this looks like the reviewer conflating the two standards, so I did not carry that specific claim into `category.json`.
- "trampoline prices and quality levels vary widely, from around $200 for the cheapest models to over $20,000 for premium in-ground installations requiring extensive landscaping and excavation. This guide includes only above-ground trampolines that can be assembled without professional assistance."
- "I focused the majority of my tests on 14-foot round, above-ground trampolines (a common size available from nearly every recreational trampoline maker)."
- "A 2012 policy statement on trampoline safety, by the American Academy of Pediatrics, noted that the top cause of injury is multiple people jumping at the same time, particularly jumpers of disproportionate weights... the AAP states that those [nets and pads] may cause a 'false sense of security'... It's safer to allow only one jumper at a time."
- "The CPSC also recommends that trampolines be placed away from any other structures or trees and that they should never be used during high winds. The CPSC also advises against using a ladder with trampolines, since they may allow small children to access trampolines unsupervised." — this is the "why" behind F381's own "a trampoline ladder shall not be included" clause.
- "More than 800,000 children were injured as a result of trampoline use between 2009 and 2018, according to a 2022 study. And over 36,000 of them required hospitalization." — matches PMID 34339161 (800,969 / 36,789) almost exactly; two independent reads of the same underlying NEISS study, not two independent studies, and I say so wherever I use the number.
- "It can take a team of two between two and three hours to complete [assembly]... one wrong step can require you to remove 96 springs and untie and retie nearly 100 bow knots."

Used for: `spring_length`, `spring_count`, `spring_position_relative_to_net`, `pad_thickness`, the age-6 judgement's second source, the three trade-offs, `installation_type`, and the "common size" note on `bed_diameter`.

### Brand/spec-sheet pages (fetched directly with curl; live, not archived)

**Springfree Trampoline**, `/pages/safety` and `/pages/compare-trampolines`, fetched 2026-10-25. **verbatim** (raw HTML, large pages, read after stripping tags):
- Marketing claim, no study linked on the page itself: "Eliminates 90% of Injuries... THE ONLY TRAMPOLINE TO ELIMINATE 90% OF PRODUCT RELATED INJURIES." Shown with badges reading "ASTM F2225 & F381" and "10/10... THE ONLY TRAMPOLINE TO RECEIVE A 100% PERFORMANCE RATING BY INDEPENDENT BODIES CHOICE AND CONSUMER NZ." I treat the 90% figure as a disclosed brand claim, not a fact, because the one academic study that looks like its basis (PMID 22404557, above) only supports "a significantly lower proportion," not a specific percentage, and the study used the manufacturer's own customer list.
- "The galvanized steel trampoline frame is positioned safely beneath the jumping surface. It is 'hidden' from the jumper's point-of-view, making it impossible to land on." / "Flexible composite rods instead of metal springs eliminate pinch points..."
- Compare-models table, per size (price / footprint / jumping surface area / tested max weight capacity / single jumper weight capacity / height), e.g.: Jumbo Oval 12ft×19ft, 200 ft², $3,999, 1500 lb tested max, 220 lb single-jumper, 9'4" tall. Compact Round and Mini Round (6-8 ft): 1300 lb tested max, 175 lb single-jumper. Every size in the 8 ft+ range: 1500 lb / 220 lb. Full table recorded below under "Data points used for derived metrics."

**Skywalker Trampolines**, `/pages/faqs` and `/blogs/news/the-type-of-trampoline-thats-best-for-you-and-your-budget`, fetched 2026-10-25. **verbatim**:
- "By adding 12 additional springs to the 14ft and 16ft epic models, it boosted the load capacity from 800lbs to a whopping 1,600lbs." — second, independent confirmation (after Wirecutter's spring measurements) that spring count/size is a real engineering lever on weight capacity, not just bounce feel.
- "The bread and butter of what sets any Skywalker Trampoline apart... is our patented no-gap enclosure net... jump mats are threaded through buttonholes in the enclosure net that block fingers, toes, and bodies from ever reaching the springs."
- "Since 2005, Safety has been our main focus. Our founders chose to never sell a trampoline without an enclosure net."
- "the signature series enclosure poles are fitted with XPE foam, which adds to its water and degradation resistance."

**JumpSport**, `/pages/jumpsport-fitness-trampoline-buyers-guide`, fetched 2026-10-25. **verbatim** (this is the mini/fitness-rebounder branch of the category, a different product from backyard trampolines):
- "Weight capacity includes two factors: static load, the maximum weight the frame and cords can hold, and user weight rating, the highest weight for safe, active use during workouts. Depending on the model, our trampolines support weights from 225 to 325 pounds."
- "30x EnduroLast 2 elastic cords have 2 knots on each cord and are non-adjustable, providing a soft bounce experience" / "36x EnduroLast 4 elastic cords... can be adjusted across 7 different firmness settings."
- "Skirt-style mats offer a lay-flat extended skirt over the bungees, maximizing the jumping area... Padded petal mats provide extra padding over the cords for enhanced comfort and safety."

Used for: confirming `suspension_type = bungee_cords` as the mini/fitness branch's mechanism, the 225-325 lb capacity range for that branch, and `cord_firmness` / `mat_style` as the follow-on questions on that branch only.

### Could not reach

cpsc.gov's own safety-education pages (Akamai "Access Denied" to curl; 403 DataDome-style challenge to WebFetch); `publications.aap.org` (403) and `pmc.ncbi.nlm.nih.gov` full text (paywalled/403) for the AAP statement's full text — I have only its abstract, via PubMed; `orthoinfo.aaos.org` (404 after a domain-migration redirect to orthoinfo.org, which then 520'd); `healthychildren.org`'s trampoline-safety page (404, no IA snapshot available); Reddit's r/trampoline (403, "blocked due to a network policy"); Vuly (the old vuly.com.au domain now redirects to vulyplay.com and the buying-guide page I fetched was a near-empty stub, 7 KB of boilerplate); Amazon and Walmart product *listing* pages (Amazon returned 503 to curl; Walmart's browse page loaded but is not a product page, and I did not find a specific product URL I could cite a field from). This is why weight-capacity, spring and net fields below are marked `researched` rather than `listing` — I can show they're on brand pages, not that they're reliably on the retail listings the pipeline actually scrapes.

## Data points used for derived metrics

From the Springfree compare table (one source; see above), price and jumping surface area per model, used for the `jump_area_cost` derived metric:

| Model | Price | Jumping surface area | Tested max weight | Single-jumper weight |
|---|---|---|---|---|
| Jumbo Oval (12×19 ft) | $3,999 | 200 ft² | 1500 lb | 220 lb |
| Jumbo Square (13×13 ft) | $2,199 | 155 ft² | 1500 lb | 220 lb |
| Jumbo Round (13 ft) | $2,299 | 132 ft² | 1500 lb | 220 lb |
| Large Oval (11×11 ft, listed as 11 ft x 11 ft) | — | 113 ft² | 1500 lb | 220 lb |
| Medium Oval (8×11 ft) | $1,349 | 77 ft² | 1500 lb | 220 lb |
| Compact Round (8 ft) | $1,249 | 54 ft² | 1300 lb | 175 lb |
| Compact Oval (6×9 ft) | $999 | 47 ft² | 1300 lb | 175 lb |
| Mini Round (6 ft) | $849 | 30 ft² | 1300 lb | 175 lb |

For `structural_headcount` (tested max weight ÷ single-jumper weight): Jumbo sizes ≈ 1500/220 ≈ 6.8; compact/mini sizes ≈ 1300/175 ≈ 7.4. I did not put either computed number in the register itself (the formula is what's sourced, not a specific output value), to avoid implying a precision the one-brand data doesn't support across the whole market.

## Against the existing add-on schema

File: `zamana-expertise/data/schema-parts/supplies/play/outdoor-play-structures/add-ons/trampoline.jsonc`. Field-kind vocabulary from `zamana-expertise/AGENTS.md` (vertical anchor / category quality currency / hard filter / sizing).

| Add-on field | This register's view | Proposed kind |
|---|---|---|
| `trampoline_type` enum | Keep, but it conflates two axes: *use-case* (backyard/mini-fitness/toddler/water/swing-combo) and *shape* (round/rectangular, only meaningful for the backyard branch). This register splits them into `primary_use` and `shape`. Recommend splitting the enum the same way: drop `round_backyard_trampoline` and `rectangular_trampoline` as `trampoline_type` values and add a `shape` field (round/rectangular/oval/square) that only applies when `trampoline_type = backyard`. | Vertical anchor (use-case) + hard filter (shape) |
| `spring_type` enum (`metal_springs, bungee_cords, springfree_rods, unspecified`) | Confirmed real and well-sourced (this register's `suspension_type`). The comment "not photo-visible and safety-relevant" is correct — Wirecutter's spring-inside/outside-net finding is a *second*, closely related fact that is also not photo-visible on a listing photo (you'd need an unboxing or review photo) and isn't captured by this field at all. Recommend adding `spring_position_relative_to_net` as a sibling field, `researched`/top-N only. | Hard filter (existing) + new researched field |
| `sizing.diameter` (value + unit) | This only fits round trampolines. Rectangular/oval/square models need length × width, which is what Springfree and every brand I saw actually publishes. Recommend renaming to `sizing.footprint` with both a diameter (round) and length/width (other shapes) option, matching this register's `bed_diameter` facet, which I kept as one facet with a shape-dependent unit note rather than forcing it into a single diameter number. | Sizing (existing, needs a shape branch) |
| *(not present)* weight capacity | The outdoor-play-structures-wide `sizing.total_weight_limit` / `sizing.per_user_weight_limit` already exist one level up and apply here. This register's research (Springfree, Wirecutter) confirms both are real, brand-stated numbers and that the *single-jumper* number is the safety-critical one (AAP: "multiple simultaneous users... disproportionate weights" is the leading injury cause), more than the aggregate. I could not confirm either field is reliably present on a retail *listing* rather than only a brand page — recommend keeping `backfill_cost: medium`, not `low`, until that's checked against live listings. | Category quality currency (existing fields, backfill note only) |
| *(not present)* enclosure/net | Not in the add-on at all. This register treats it as a core split (`enclosure_net`, boolean) given the CPSC recall history (net/strap failures recur across 25 years and multiple brands) and Skywalker's framing of "never sell a trampoline without one" as a brand differentiator — meaning it still isn't universal. Recommend adding `has_enclosure_net: boolean` as a hard filter. | New hard filter |
| *(not present)* ASTM compliance | Not in the add-on. Springfree's own page visibly badges "ASTM F2225 & F381"; several of the CPSC-recalled products (Sportspower, Aviva, Bravo Sports) are generic/budget brands where I could not confirm an equivalent badge. Recommend a boolean `astm_compliant` as a hard filter, `backfill_cost: medium` (present on major-brand listings, probably absent on unbranded imports). | New hard filter |
| *(not present)* spring length / spring count / pad thickness | Not in the add-on. Wirecutter's own testing methodology treats these as the actual measurable proxies for "good bounce" and "good padding," which the add-on currently has no field for at all (nothing stands in for "bounce quality"). Recommend adding as researched, top-N-only fields rather than promising full-catalog coverage — these numbers only exist on spec sheets and in reviews, never on generic listings. | New researched fields (not category currency — too research-expensive for every row) |
| *(not present, by design)* warranty length | Explicitly out, per `AGENTS.md` rule 5 ("warranty blocks... cut on sight") and confirmed as the wrong axis by the research itself: Wirecutter found warranty length varies 1 to 10+ years *within* otherwise-similar trampolines and is partly a marketing lever (Avyna's "lifetime" frame warranty vs. JumpFlex's optional paid lifetime upgrade), not a reliable quality signal on its own. Agrees with the existing exclusion — noise. | Confirmed noise |
| *(not present, by design)* ladder / accessory bundle | F381 explicitly bars a ladder from being sold with the trampoline; "comes with ladder/anchor kit" is a bundling fact, not a product attribute, and is visually/textually obvious on a listing without a structured field. Noise. | Confirmed noise |

## Branches

Traced to the sentence or chain that supports each leg (schema requires `when` values to be values of the split facet; every leg below is checked against that).

- **`primary_use = fitness_rebounder` → `makes_irrelevant: [shape, enclosure_net]`, `then_ask: [cord_firmness, mat_style]`.** Chain: JumpSport's buyer's guide describes only round frames (39" and 44" diameter), never rectangular/oval/square, so `shape` has no values to ask about on this branch (JumpSport guide, "Mat Styles" and frame-size sections). JumpSport's guide never mentions an enclosure net for its mini trampolines at all (absence across the whole fetched page) — the product is indoor/adult-supervised and low off the ground, so the enclosure-net question that matters for backyard models doesn't apply. `cord_firmness` and `mat_style` come directly from the "EnduroLast" cord-knot system and the "skirt-style vs. padded petal" mat quote.
- **`primary_use = toddler_bouncer` → `then_ask: [enclosure_net]`.** Chain: the CPSC recall record for SEGMART mini round toddler trampolines (2026) is about accessory straps (hammock, punching bag, hand ring), not spring type — none of the 15 CPSC recalls I read name spring type as a toddler-trampoline issue. I kept `enclosure_net` on this branch because the strangulation hazard is specifically about what's attached *inside* the enclosure, making net/accessory choice the live safety question for this age group. **Revised 2026-10-25:** the blind check correctly flagged the original `makes_irrelevant: [suspension_type]` leg as WEAK — absence of spring-type mentions in toddler recalls is not an affirmative source that suspension type stops mattering for this age group, only that this particular recall set didn't happen to name it. I re-checked the same 15-record CPSC set and the AAP/NEISS abstracts for any toddler-specific suspension-type finding and found none, so rather than inventing one, I dropped the `makes_irrelevant` leg entirely. The branch now only adds `enclosure_net`, with no claim about suspension type either way.
- **`primary_use = water_dock` — removed 2026-10-25.** Was `makes_irrelevant: [shape, suspension_type, enclosure_net]`, `then_ask: []`. Chain: F381 itself excludes "trampolines intended for use on water" from its own scope (verbatim, above), so none of the backyard-trampoline facets this register sources to F381/F2225/Wirecutter/Skywalker apply — but with no `then_ask` and no redirect, the leg correctly disabled the wrong questions while supplying nothing in their place, and the blind check caught that `water_dock` was never offered in the `primary_use` cold-start question text in the first place (only 3 of 4 values were). Rather than add the missing `then_ask` or fourth question option (which would mean developing the water-trampoline branch this register deliberately scoped out — see the note at the top about leaving water trampolines to the `water-play` sibling), I dropped `water_dock` from `primary_use.values` and its branch entirely, and added a `skip_if_known` entry so a query naming a water or dock trampoline is handed to that sibling leaf instead of dead-ending here.
- **`suspension_type = composite_rods` → `makes_irrelevant: [spring_count, spring_length, spring_position_relative_to_net]`.** Chain: Springfree's own page states the rod design has "no springs," which the schema's `spring_type` field (and this register's `spring_count`/`spring_length`/`spring_position_relative_to_net`) already treats as `springfree_rods` vs. `metal_springs` — there is nothing to measure.
- **`suspension_type = metal_springs` → `then_ask: [spring_length, spring_count, spring_position_relative_to_net]`.** Chain: all three are Wirecutter's own measured/observed differentiators between spring-based models (7.1 in vs. 5.5 in vs. 8.5 in springs; 72 vs. 96 vs. 144 of them; inside- vs. outside-net placement).
- **`enclosure_net = no` → no `then_ask`, but carries a judgement, not a branch leg I could trace to a specific downstream facet.** I considered adding `then_ask: [governing standard]` here but could not trace a sentence saying anything *specific* changes when there's no net beyond "the AAP already says nets may give a false sense of security regardless" — that's a judgement about the whole category, not a fact that's only true on this branch, so I left it out rather than force a leg.
- **`enclosure_net = yes` → `then_ask: [spring_position_relative_to_net]`.** Chain: the question "is it inside or outside the net" is meaningless without a net to be inside or outside of.

Dropped (did not survive the "trace to a sentence" test): a leg from `shape` to anything. I could not find a sentence in any fetched source saying round vs. rectangular/oval changes which facet to ask next — Wirecutter's bounce-quality finding tracks spring length/count, not shape (the oblong Springfree bounced *worse* at the edges than the round trampolines it tested, the opposite of the "rectangular bounces better" claim I expected going in). `shape` stayed a split (it still narrows the catalog hard and is how every brand's own site lets you filter), just without any branch.

## Trimmed detail

- The full Springfree compare-table (all 8 current models, with box weights, box counts and box dimensions for shipping) is recorded above under "Data points used for derived metrics"; `category.json`'s `range.typical` text only needed the min/max and the 14 ft note.
- Wirecutter's full per-model write-up (JumpFlex Hero, Avyna Pro Line, Sportspower Bounce Pro, plus "other trampolines worth considering": Springfree 8×13 Large Oval, Berg Grand Champion 17' Oval) has far more brand/model detail (specific warranty years per part, specific accessory prices) than belongs in a register that's meant to stay brand-neutral; I kept only the measurements (spring length/count, pad thickness, price band) that generalise across brands.
- The full CPSC recall list (15 records, 1999–2026) is in the "Sources" section above; `category.json`'s judgements use only the pattern across them (weld/net/strap/bungee failures recur; toddler-accessory strangulation is a distinct, newer pattern), not any single recall's brand name.
- Skywalker's "Classic / Signature / Epic / Premium" series comparison (price bands, specific warranty years per series) was read in full but not carried into the register — it's one brand's own tiering, not a category-wide fact, beyond the spring-count-vs-capacity data point already used.

## Corrections

None yet — this is the first pass, not a revision after a blind check.

## Corrections after the blind check (2026-10-25)

Checker's file: `check.md`. All nine required fixes applied; none rejected. Sources re-fetched live this round (not reused from the first pass): the Skywalker FAQ and blog pages, the JumpSport buyer's-guide page; the archived Wirecutter page could not be re-fetched (`web.archive.org` unreachable this round) so fix 1's number is taken from the checker's own verified quote of that page, not re-verified independently by me.

1. **`spring_count.why_experts_care`**: changed the misattributed "144 gave the most satisfying jump" to "96" (Avyna Pro Line, 8.5 in), per the checker's quote of Wirecutter's text. Also changed `range.max` from 150 (unsourced) to 144, the one figure actually found (Berg Grand Champion 17′ Oval, a larger, non-14-ft model) — added a `backfill_note` flagging that it's off the 14 ft typical band, so it isn't confused with the 72–96 figures that are directly comparable.
2. **`cord_firmness` and `mat_style`**: reclassified `source` from `listing` to `researched`. Re-fetched JumpSport's buyer's-guide page live; found no second brand and no retail listing stating either field, so reclassifying (not re-confirming on a listing) was the honest fix. Added a `backfill_note` naming the single-brand basis on both.
3. **`suspension_type.why_experts_care` and the `suspension_type` split's `rationale`**: rewrote both to state the actual CPSC breakdown (8 of 15 recalls are frame/weld failures, 5 are net/strap failures, only 1 is a spring/cord failure) instead of bundling frame and net failures under a sentence nominally about "the part" (springs).
4. **`primary_use`**: dropped `water_dock` from `values` and removed its branch (it had no `then_ask` and was a dead end). Added a `skip_if_known` entry so a water/dock query is handed to the `water-play` sibling leaf instead of entering this facet. This also resolves the checker's fix 5 (the cold-start question already named only the three remaining values, so no question-text change was needed once the fourth value was dropped).
5. See fix 4 — no separate change needed.
6. **`skywalker_guide` reference**: re-fetched the FAQs page live and confirmed it contains neither the "no-gap"/"buttonhole" quote nor the 800-to-1,600-lb quote (zero matches for either). Re-fetched the blog post (`/blogs/news/the-type-of-trampoline-thats-best-for-you-and-your-budget`) live and confirmed both quotes are there verbatim. Repointed the reference's `url` to the blog post and updated `title` to match, rather than splitting into two references, since neither claim actually needed the FAQ page.
7. **`tested_weight_capacity.range`**: narrowed `min`/`max` from 800/1600 to 1300/1500, matching Springfree's own compare table exactly (the only range actually observed across models). Moved the Skywalker 800-to-1,600-lb figure into `backfill_note`, labelled explicitly as one model line's before/after spring upgrade, not an observed catalog range — per the checker's suggested resolution, since I could not find a second source for either extreme (WebSearch's session budget was already exhausted and direct fetches of other brand sites turned up nothing further).
8. **`per_user_weight_limit.range`**: re-fetched JumpSport's buyer's-guide page live and confirmed its own 48″ PRO model is rated 425 lb against the same page's summary sentence of "225 to 325 pounds." Widened `range.max` from 325 to 425 and the `typical` text to match, and updated `backfill_note` to flag the summary-vs-catalog gap rather than silently averaging over it.
9. **`primary_use = toddler_bouncer` branch**: dropped the `makes_irrelevant: [suspension_type]` leg. Re-checked the same 15-record CPSC set and the AAP/NEISS abstracts for any affirmative statement that suspension type stops mattering for toddler bouncers and found none — the original leg's only support was an absence of counterexamples, which the checker correctly called an unstated inferential step, not a sourced fact. The branch now asks `enclosure_net` only and makes no claim about `suspension_type` either way.
