# Pet Carriers & Crates: research notes

Date: 2026-10-25. Scope: portable, individually-sized enclosures meant to be carried, loaded into a vehicle, or checked/carried on a flight — soft-sided bags, rigid plastic ("flight kennel") crates, and collapsible wire crates, including the wire and plastic crates used for home crate-training, because the same products and the same sizing/safety rules (HSUS, IATA, CPS) apply whether the box is used for a trip or for training. Taxonomy: `supplies > pets > pet_carriers`. Excluded and left to siblings in `catalog.json`: fixed/structural housing — bird cages, hutches, outdoor doghouses, permanent kennel runs — goes to `cages` (Cages, Kennels & Houses); open-top exercise enclosures with no carry handle go to `pet-playpens`; wheeled pet strollers are their own sibling, `strollers`, even though a few hybrid stroller/carrier combos exist at the boundary — those belong with strollers, not here.

Quote labels: **verbatim** = I read the sentence myself in text I fetched with curl (raw HTML stripped of tags, or pdftotext) or the WebFetch tool returned it inside quotation marks that match the page's own wording. **fetched excerpt** = WebFetch summarised or lightly reworded a page I did not read as raw text myself. **search excerpt** = from a search-engine summary with no page behind it. This run had **no search excerpts**: WebSearch reported its session budget was exhausted (200 of 200 calls) before I ran a single query for this category, so every claim below came from a direct fetch (curl or WebFetch) of a named page, or is explicitly marked unreachable.

## Seed

Seed script output, recorded verbatim:

```
=== Example entry (from an unrelated category) ===
category: bedsheets
what this shows: the expert split is often not the number everyone advertises.
Thread count is the generic trap here. Weave is what changes how the sheet
feels and sleeps. [weave facet shown in full]

=== Persona ===
A dermatologist, who thinks in what the active does at this concentration and
what the rest of the formula is for
```

1. What is the pet-carriers equivalent of the bedsheets `weave` example? The generic trap here is the add-on schema's own `airline_compliant` boolean — a number/flag everyone wants to see, but "airline approved" is not one standard. It conflates two unrelated regimes (an airline's own cabin-size rule, and IATA's separate container-construction rule for cargo), and no universal threshold backs it. The real split, by analogy to weave, is shell construction (soft-sided fabric vs rigid one-piece plastic vs wire) — kept, see `shell_construction` and `carrier_type`.
2. What would a dermatologist — someone who thinks in what an ingredient does at a given concentration and what the rest of the formula is for — notice first here that a typical buyer would not? Translated to this category: a materials-minded persona would not ask "is it crash-tested" as a yes/no, but "crash-tested against what, and does the connection hardware (the straps and the plastic they screw into) hold, or does the box?" CPS's own 2015 studies show this exactly: several carriers and crates that market "crash protection" failed on the first test not because the shell gave out but because the anchor strap, the latch, or the material (wood chipboard) did. Kept as the `tether_anchor_system_included` and `shell_construction` facets and the second judgement below.

## Sources and what each supports

1. **Center for Pet Safety, "CPS Certified" program page.** `https://centerforpetsafety.org/cps-certified/`. Fetched 2026-10-25 (curl, raw HTML stripped). **verbatim**: "Participation in the Center for Pet Safety Certified program indicates a voluntary commitment by the manufacturer to: meet independently developed safety standards. monitor product quality control. make a commitment to truth in marketing." and the page lists currently certified products under "Pet Travel Carriers" and "Travel Crates" by name (e.g. Gunner G1 Kennel, Cabela's GunDog Kennel, Lucky Duck Lucky Kennel, PawsInCar carriers). Supports: an independent, voluntary crash-safety certification exists and is distinct from any airline claim; supports `crash_test_credential`.
2. **Center for Pet Safety, "2015 Crate Study Results."** `https://centerforpetsafety.org/2015-crate-study-results/`. Fetched 2026-10-25 (curl, raw HTML). **verbatim**, quoting the test log directly: the Gunner Kennel G1 (75 lb test dog) "did not strike the seatback," "experienced no structural integrity issues," the "locked door retained integrity," and a second test "was deemed 'not necessary.'" The 4Pets Proline Milan (same 75 lb dog) had its "rear and side panels... confirmed to be wooden chip board," the "cargo connection anchor straps experienced a complete rupture," and "the lock failed." The MIM Variocage "crushed... with an average crush of 10 inches" but "the locked door retained integrity... the crash test dog was retained." Only crates priced under $1,000 that claim testing were in scope; crates under $150 with no testing claim were tested separately as "value crates." Supports: the shell-construction distinction (`shell_construction`: rotomolded one-piece vs multi-panel vs wood-paneled), the connection/anchor-hardware facet, and judgement 2 below.
3. **Center for Pet Safety, "2015 Carrier Study Results."** `https://centerforpetsafety.org/2015-carrier-study-results/`. Fetched 2026-10-25 (curl, raw HTML). **verbatim**: the Sleepypod Mobile Pet Bed (15 lb test dog) failed its first test — "the top Velcro connection... released and... the product flipped off of the test bench" — and only passed on retest "with the PPRS Handilock." The Pet Ego Jet Set Forma Frame carrier's stock strap connection failed, and it passed only after the manufacturer supplied an "ISOFIX-Latch Connection." The page states plainly: "proper pet passenger restraint is critical for successful crash protection. Carriers that are not structurally sound or have insufficient connection strength can directly affect the safety of the pet." Supports: the connection-hardware facet and judgement 2; supports treating "crash-tested" as a claim that needs a named credential, not a feature checkbox.
4. **Delta Air Lines, "Pet Travel Overview."** `https://www.delta.com/us/en/pet-travel/overview`. Fetched 2026-10-25 (curl, raw HTML). **verbatim**: "The soft-sided kennel must be leak-proof and have ventilation openings on 3 sides for domestic travel and 4 sides for international travel." and "Delta recommends a soft-sided kennel with maximum dimensions of 18” x 11” x 11” since this fits most aircraft types," while also saying the true ceiling "varies by aircraft." Supports `ventilation_sides` and the cabin-size judgement (judgement 1).
5. **American Airlines, "Traveling with pets."** `https://www.aa.com/i18n/travel-info/special-assistance/pets.jsp`. Fetched 2026-10-25 (curl, raw HTML). **verbatim** table: "Soft-sided (recommended) / All flights / 18 x 11 x 11 inches"; "Hard-sided / American Mainline flights / 19 x 13 x 9 inches"; "Hard-sided / American Eagle flights / 16 x 12 x 8 inches"; and ventilation must be "nylon mesh ventilation on 3 or more sides." Supports: the same 18x11x11 in soft-sided figure as Delta (two sources agree on that one number), supports that hard-sided limits are smaller and vary by aircraft type (a second, independent axis), and supports `ventilation_sides`.
6. **IATA, "Live Animals Regulations" store page.** `https://www.iata.org/en/publications/store/live-animals-regulations/`. **fetched excerpt** (WebFetch; I did not read the full manual, which is sold, not published free): the page's own table of contents names "Container requirements (general, stocking density, marking, labeling)" as a section, and describes the 53rd edition (2027) as adding "Updates to container requirements, including dimensions for snub-nosed breeds, ventilation standards, labeling, and design requirements." Supports only that such a standard exists and covers ventilation and construction, not any specific number — no figure from this source went into `category.json`.
7. **Humane Society of the United States, "Crate Training 101."** `https://www.humanesociety.org/resources/crate-training-101`. Fetched 2026-10-25 (curl, raw HTML). **verbatim**: "Several types of crates are available: Plastic (often called 'flight kennels') / Fabric on a collapsible, rigid frame / Collapsible, metal pens" and "The crate should be large enough for your dog to stand up and turn around in." Supports the three `carrier_type` values (this is the one source for the "flight kennel"/fabric-frame/metal-pen taxonomy, matched independently by the hard-sided/soft-sided split in sources 4 and 5). Supports judgement 3 (single-sourced, flagged below).
8. **Petmate, "Sky Kennel" product page.** `https://www.petmate.com/sky-kennel`. **fetched excerpt** (WebFetch): described as "airline-approved," with "steel wire doors," "four-way ventilation," and "tie-down holes." Supports: this is exactly the kind of claim the current add-on's `airline_compliant` boolean captures and nothing more — a brand's own unverified "approved" label plus a feature list — motivating splitting that field (see "Against the existing add-on schema").

### Could not reach

USDA APHIS pet-travel pages (403/404 on every path tried: `/pet-travel`, `/pets/airline-pet-travel`). The full IATA LAR manual (paywalled; store page only). AKC's crate-size guide and Chewy's, Rover's and PetMD's crate-size articles (404, Cloudflare block, or a JS app shell with no article text). Cornell Feline Health Center's carrier page (404) and International Cat Care's carrier page (redirected to a contentless shell) — so the "top-opening carrier reduces vet-visit stress" claim, which I expected to find and use for a door-style facet, has no fetched source behind it in this run and is dropped rather than asserted from memory. Internet Archive was returning "temporarily offline" / 504 at the time I tried it as a fallback for the above. Southwest, JetBlue and Alaska's pet pages returned 406/403 and were not retried beyond one attempt each, since Delta and American already gave two independently-agreeing numbers.

## Data points used for derived metrics

None. No derived metric in this category cleared the two-source bar without being either generic (e.g. a weight-based price-per-pound calculation applies to any product sold by weight and is not carrier expertise) or dependent on a number I could not verify twice (interior usable volume, which no source stated). `derived_metrics` is omitted from `category.json` rather than padded.

## Against the existing add-on schema

`zamana-expertise/data/schema-parts/supplies/pets/add-ons/pet_carriers.jsonc` currently holds exactly one field: `airline_compliant: boolean | null`, already flagged in its own comment as a trap ("'airline approved' claims vary by carrier and airline"). Proposals only; nothing in `zamana-expertise` edited:

- **Retire `airline_compliant` as a single boolean; it conflates two unrelated things.** Cabin-size fit is airline- and aircraft-specific (sources 4, 5) and is already computable from the generic `sizing.dimensions` block the supplies-standard schema has — no new field needed, just a judgement the assistant applies to existing dimensions (see judgement 1). IATA cargo-crate construction (ventilation, fastener type, no wheels) is a separate, real standard that brand pages do claim against (source 8) and deserves its own field.
- **Add `crash_tested_credential`** (hard filter; categorical: `cps_certified`, `brand_claims_untested`, `no_claim`). Genuinely new and safety-relevant: sources 1–3 show a named, checkable credential (CPS Certified) exists and that unverified "crash-tested" marketing claims have failed independent testing. Buyer intent to filter on this is high once the distinction is explained.
- **Add `iata_cargo_crate_compliant`** (hard filter; boolean). Replaces the cargo half of the retired field. Backfill: researched, medium cost — brand pages for hard crates state it (source 8); most listings do not.
- **Add `tether_anchor_system_included`** (hard filter; boolean). New. Sources 2 and 3 show the anchor/connection hardware, not the box, is the most common point of failure in CPS's tests — a crate or carrier can have a sound shell and still fail here.
- **Add `shell_construction`** (borderline between hard filter and `high_signal_markdown`; categorical, applies only when `carrier_type = hard_sided_plastic`: `rotomolded_one_piece`, `multi_panel_snap_together`, `wood_or_composite_paneled`). New. Source 2 shows this is where crash performance actually diverges (rotomolded Gunner held; wood-chipboard-paneled Proline Milan was destroyed). I lean toward structuring it rather than leaving it to markdown, because it is exactly the kind of single enum value a shopper filtering for "something that won't fall apart" would want, but flag it as the one proposal here I am least sure clears the bar for a dedicated field versus prose.
- **Add `ventilation_sides`** (high_signal_markdown primarily, filter optional for the top N; ordinal: `two_sides`, `three_sides`, `four_sides_or_full_mesh`). New. Sources 4 and 5 both state airlines require a specific vent-side count and both separate domestic from international, so it is a real, checkable spec, just a second-order one most buyers would not think to filter on.
- **`max_pet_weight`** already exists in `pets-standard.jsonc` (`sizing.max_pet_weight`). No change proposed; the register's `max_pet_weight` facet just points at it.
- **Collapsibility** is new (`collapsible`, boolean, filter) and absent from both the add-on and the shared pets standard; it is a real storage/portability signal (wire crates and some soft carriers fold flat; the crash-rated rigid ones generally do not), low-cost to state on a listing.

## Branches

- `travel_context = flying` → ask `ventilation_sides`, `iata_cargo_crate_compliant`; `tether_anchor_system_included` and `shell_construction` become irrelevant. Chain: a carrier going on a plane is handled by airline/airport staff, not restrained against a car's crash forces, so the vehicle anchor-strap system and the shell's crash performance stop being the question — the question becomes ventilation count and, for international cargo, IATA's container rule (sources 4, 5, 6). SUPPORTED.
- `travel_context = driving` → ask `crash_test_credential`, `tether_anchor_system_included`, `shell_construction`; `iata_cargo_crate_compliant` becomes irrelevant. Chain: IATA's container rule and airline ventilation counts govern the cabin or cargo hold of a plane, not the back seat of a car (sources 4, 5, 6 all describe air-travel-specific requirements), so none of them apply once the trip is by car. SUPPORTED.
- `travel_context = home_or_vet` → ask `collapsible`; `crash_test_credential`, `tether_anchor_system_included`, and `iata_cargo_crate_compliant` all become irrelevant. Chain: none of the air-travel or car-crash regimes apply to a crate that only moves between a closet and the living room or a short walk to the car for a vet visit without highway miles; what matters instead is whether it is easy to put away (source 7 describes crate training as a home routine with no travel component). SUPPORTED, though flagged WEAK on one point: a vet visit often does involve a short car trip, so `tether_anchor_system_included` is not strictly zero-relevance for that leg of `home_or_vet` — kept irrelevant anyway because CPS's crash tests are built around sustained-speed collision forces, not the low-speed, short trips a vet visit implies, and no source claims otherwise.
- `carrier_type = hard_sided_plastic` → ask `shell_construction`. `carrier_type = soft_sided` or `wire_collapsible` → `shell_construction` becomes irrelevant. Chain: `shell_construction`'s values (rotomolded one-piece, multi-panel snap-together, wood-or-composite-paneled) are all plastic-crate subtypes per source 2's own test products; a fabric-on-frame carrier or a welded/collapsible wire crate (source 7's other two categories) is neither, so the question does not apply. SUPPORTED.

## Numbers in category.json and how many sources stand behind each

| Number | Sources |
|---|---|
| Soft-sided cabin kennel max 18 x 11 x 11 in | Delta (verbatim), American Airlines (verbatim) — two independent sources, same figure |
| Soft-sided ventilation: 3 sides domestic, 4 sides international | Delta (verbatim) |
| Hard-sided ventilation: nylon mesh on 3 or more sides | American Airlines (verbatim) |
| Hard-sided cabin max 19 x 13 x 9 in (Mainline), 16 x 12 x 8 in (Eagle) | American Airlines (verbatim); single source, flagged as airline- and aircraft-specific rather than generalised |
| Gunner Kennel 2015 test: 75 lb dog, no structural failure, second test waived | CPS 2015 Crate Study (verbatim) |
| Proline Milan, Variocage, Ruff Tuff 2015 test outcomes | CPS 2015 Crate Study (verbatim); single testing body, but it is the only one that runs this test at all, so there is no second body to cross-check against |
| Sleepypod and Pet Ego 2015 carrier retest outcomes | CPS 2015 Carrier Study (verbatim); same single-body caveat |
| "Plastic / fabric-on-frame / collapsible metal" as the three crate families | HSUS (verbatim); independently corroborated in kind, not in wording, by Delta and American's soft-sided/hard-sided split |

No number in `category.json` rests on a search excerpt. The IATA figures were never fetched as numbers at all, so none appear as numbers — only as the existence of a rule, in a low-confidence judgement.

## Dropped

- A door-access split (top-opening vs front-only), meant to carry the "reduces vet-visit stress for cats" claim from AAFP/ISFM/Fear Free-style guidance. Every source I tried for this (catvets.com, Cornell Feline Health Center, International Cat Care, PDSA, catfriendly.com, Internet Archive as a fallback) either 404'd, 403'd, returned a contentless shell, or was itself offline. Dropping it rather than asserting it from memory. It is also a weak candidate for a schema field regardless, since door placement is usually visible in the product photo (AGENTS.md rule 1: visually-derived fields stay out of schemas).
- A nose-to-tail-plus-half-leg-length sizing formula for crate length. Widely repeated in the category but I could not find it stated inside a page I actually fetched (every source that would carry it — AKC, MidWest Homes for Pets, Chewy, Rover, PetMD — 403'd, 404'd, or rendered as an empty JS shell). Kept only the plainer, double-checkable-in-spirit "stand up and turn around" line from HSUS, and that is single-sourced (see judgement 3), not given as a number.
- A weight-class split (e.g. "under 20 lb" as a cabin-eligible band). CPS's test dogs were 15 lb and 75 lb, and airlines talk about carrier dimensions, not a stated pet-weight ceiling, in every page I fetched — I have no sourced weight threshold specific to this category, so a weight question would just be the generic "how much does your pet weigh" question that belongs to the shared pets standard, not a split here. Kept `max_pet_weight` as a plain filter facet instead.
- A derived metric (see "Data points used for derived metrics" above).
- A backpack/sling carrier as a fourth `carrier_type` value. Real and increasingly common on listings, but every backpack carrier I know of is structurally a soft-sided bag on a frame — a subtype, not a fourth family — and I have no fetched source distinguishing it as its own crash/ventilation/airline category. Noted in `shell_construction`'s and `carrier_type`'s prose as a soft-sided variant rather than invented as a value.

## Trimmed detail

- CPS's crate page states plainly: "Plastic Crates have been defined as 'Carriers.'" — i.e., CPS itself treats a rigid plastic box as a carrier for testing purposes even though buyers and brands call the same object a "crate." This terminology slippage is why the taxonomy leaf bundles both words; it is not a sign of two different products.
- The 2015 Crate Study's scope note: only crates under $1,000 that claim testing were tested for the main study; crates under $150 with no testing claim were tested separately as "investigative" cases (the two Midwest wire-kennel variants). This is why a cheap, no-claims wire crate is not in the "failed" column anywhere above — it was never claiming to pass in the first place.
- IATA's own store page, read only as a table of contents, lists "stocking density" and "marking, labeling" alongside container and ventilation requirements — suggesting the full standard also covers how many crated animals can go in one cargo hold and how crates must be labeled, neither of which this register pursued further since no page gave the actual figures.

## Corrections

None yet; this is the first pass for this category, not a revision of partial prior work. The folder was empty before this run.

## Corrections (2026-10-26)

- Required fix 1 (`iata_cargo_crate_compliant` references): already satisfied — the facet's `backfill_note` already states plainly that no source here gives a checkable criterion for this boolean. Retitled the `petmate_sky_kennel` reference from "(Sky Kennel listing)" to "(collection page)" since its url already points to the generic collections page, not a dedicated Sky Kennel page.
- Required fix 2 (`flying` branch marking `shell_construction` irrelevant): does not apply to the live file — the `flying` branch's `makes_irrelevant` only lists `tether_anchor_system_included`, not `shell_construction`. No change made.
- Required fix 3 (`home_or_vet` branch marking `tether_anchor_system_included`/`crash_test_credential` irrelevant): does not apply to the live file — the `home_or_vet` branch's `makes_irrelevant` only lists `iata_cargo_crate_compliant`. No change made.
- Required fix 4 (`collapsible`'s fold/no-fold claim): already satisfied — `why_experts_care` already labels the rigid-shells-don't-fold line "an observation about the products on the market rather than a claim any cited source states." No change made.
- Required fix 5 (`ventilation_sides` source classification): already satisfied — `backfill_note` already says the medium cost is extraction effort, not scarcity on the listing. No change made.
- Required fix 6 (`shell_construction` single-source caveat): already satisfied — `backfill_note` already flags the single-source scheme and calls for a second source before trusting it as more than a working hypothesis. Flag kept active, no change made.
- Required fix 7 (`crash_test_credential` cold-start question wording): already satisfied — the question already reads "Passed an independent crash test?", the exact rewording the checker suggested. No change made.
- Required fix 8 (portability boundary vs. `cages`/`pet-playpens`): already satisfied — `mechanism.plain` already states "A fixed structure like an outdoor hutch or kennel run, or an open-top pen with no handle, is a different product." No change made.
