# Canes, Walking Sticks, Walkers & Crutches: research notes

Date: 2026-10-25. Scope: hand-held and hand/arm-braced walking aids a person buys for themselves or a family member — single-point and quad canes, offset and hemi-walker canes, axillary and forearm (Lofstrand) and platform/gutter crutches, and walkers from standard (no-wheel, pickup) through front-wheeled and three/four-wheel rollators. One register, three families, because the label bundles products experts treat very differently (a cane and a rollator share almost no facets) and the brief for this run says to let the splits do that dividing rather than write three registers.

Not in scope, left to the sibling leaf that owns it (`catalog.json`, `taxonomy_path` prefix `supplies > personal`): `wheelchairs` (Wheelchairs & Mobility Scooters) owns manual and powered wheelchairs, transport/transfer chairs, and knee scooters/knee walkers even though Drive Medical files "knee walkers" under its own Walkers category — a knee scooter does not fit this register's fitting rule (wrist-crease height, elbow flexion) or its weight-bearing logic, it's a seated/kneeling device, so it stays with wheelchairs. `support_braces` (Supports & Braces) owns orthoses (knee braces, back braces) that a cane or walker buyer might also own but that are a different product. `shower_benches` and `bed_pans` are unrelated bathroom aids and were not touched.

Quote labels: **verbatim** = read myself from raw text (curl + a script that strips tags, or pdftotext), including every Cornell LII, Drive Medical, Carex, and en-standard.eu quote below. **fetched excerpt** = a WebFetch tool call summarised the page (used only for the ISO 11334 part numbers via en-standard.eu, cross-checked against a second, raw curl of the same site's search results). No number in category.json rests on a search-excerpt-only source; WebSearch reported its budget was exhausted before any query ran in this session, so all research here is direct fetches, curl, and links found inside fetched pages.

## Seed

Seed run (recorded verbatim):

```
=== Example entry (from an unrelated category) ===
category: olive-oil
what this shows: a facet that experts rank first, that almost no listing carries, and that is
expensive to backfill... [harvest_date example + months_since_harvest derived metric]
=== Persona ===
A pharmacist, who thinks in concentration, delivery form and interactions
```

1. **The canes equivalent of `harvest_date`: `weight_capacity_lb`.** It is the one number that actually governs whether the device is safe for a given buyer, it is rising in importance (bariatric lines are a real, separate product tier, not a marketing add-on), and — like harvest date on an olive oil bottle — it is inconsistently present and never explained to the buyer, who usually has no idea their own weight should be checked against a 250–350 lb standard ceiling before they even look at style. **Kept** as `weight_capacity_lb`, with `heavy_duty_capacity` as the plain-English split on top of it.
2. **What a pharmacist would notice first.** Sadowski & Jones (2014, cited by Physiopedia) found pharmacists don't feel equipped to fit a cane, crutch or walker, yet pharmacies are exactly where these are sold over the counter with no prescription and no professional check. A pharmacist's-eye view pushed two things to the front that a typical buyer (or a typical e-commerce listing) ignores: (a) FDA treats all three families as Class I devices **exempt from premarket review** (21 CFR 890.3075/890.3150/890.3825), so the weight rating on the box is nobody's independently verified number; (b) the single universal "dose": the wrist-crease / 15–30° elbow-flexion fitting rule. AAFP's own sentence is "up to 70 percent of canes are faulty, damaged, or the wrong height" — three disjoint conditions, not a height-only figure — and sizing is only one of the three. **Kept** both as judgements and as the `height_adjustable_range` facet's `why_experts_care`, stated as AAFP's three-way figure rather than narrowed to height alone (fixed 2026-10-25 after the blind check flagged the original narrowing). **Dropped**: a literal drug-interaction-style facet ("does this aid interact with another aid you own") — no sourced product data behind it, and it fails the generic test (reads like something invented, not observed in the sources).

## Sources and what each supports

### Regulators (FDA, 21 CFR Part 890 — Physical Medicine Devices)

All four fetched directly via Cornell LII (`law.cornell.edu/cfr/text/21/<section>`), verbatim, 2026-10-25. An earlier full-Part-890 fetch (present in the scratchpad before this session's research began, `cfr890.txt`) was cross-checked against these individual section fetches and matches word for word.

- **§ 890.3075 Cane**: "A cane is a device intended for medical purposes that is used to provide minimal weight support while walking. Examples of canes include the following: A standard cane, a forearm cane, and a cane with a tripod, quad, or retractable stud on the ground end." Classification: "Class I (general controls). The device is exempt from the premarket notification procedures... The device is also exempt from the current good manufacturing practice requirements... except for requirements concerning records and complaint files."
- **§ 890.3150 Crutch**: "A crutch is a device intended for medical purposes for use by disabled persons to provide minimal to moderate weight support while walking." Same Class I / exempt classification language.
- **§ 890.3825 Mechanical walker**: "A mechanical walker is a four-legged device with a metal frame intended for medical purposes to provide moderate weight support while walking. It is used by disabled persons who lack strength, good balance, or endurance." Same Class I / exempt language.
- **§ 890.3790 Cane, crutch, and walker tips and pads**: "rubber (or rubber substitute) device accessories... applied to the ground end of mobility aids to prevent skidding or that are applied to the body contact area of the device for comfort." Its own exempt device category, separate from the aid itself.
- Supports: `aid_family` definition and the FDA-exemption judgement; `tip_diameter_in`'s regulatory framing. Confidence high — primary regulatory text, read directly, four independent section fetches.

### Standards (ISO, via en-standard.eu reseller listings)

iso.org itself returned HTTP 403 on every attempt (direct curl and WebFetch) in this session, so these three are confirmed via en-standard.eu's own catalog pages, fetched **verbatim** with curl (not just the WebFetch summary, which I cross-checked against the raw text and found consistent).

- **ISO 11334-1:2007** — "Assistive products for walking manipulated by one arm - Requirements and test methods - Part 1: Elbow crutches" (raw grep of `en_std_11334.raw`).
- **ISO 11334-4:2024** — "Assistive products for walking, manipulated by one arm - Requirements and test methods - Part 4: Walking sticks with three or more legs" (same page).
- **ISO 11199-2:2021+A1:2024** — "Assistive products for walking manipulated by both arms - Requirements and test methods - Part 2: Rollators" with a second listed row: "ISO 11199-2:2021/Amd 1:2024 ... Amendment 1: Removal of brake requirements" (raw grep of `en_std_11199.raw`). A companion **ISO 11199-1:2021** ("Part 1: Walking frames") also appears but was not cited in category.json because no facet needed it directly; recorded here for completeness.
- I searched (via the same site's search box) for parts 2 and 3 of ISO 11334, which would logically cover axillary crutches and simple single-point canes, and found none — only parts 1 and 4 are listed. I'm treating this as "no test-method part found for these two sub-types" rather than "none exists," since I could not query ISO's own catalog directly (403). This asymmetry is logged as judgement 5 with `sources_disagree: true` and confidence medium.
- Completeness note added 2026-10-25 after the blind check: the *11199* family (walking frames/rollators) also has a third part not mentioned above — **ISO 11199-3:2005**, "Walking aids manipulated by both arms — Requirements and test methods — Part 3: Walking tables" (confirmed on en-standard.eu's catalog, 2026-10-25). It isn't cited anywhere in category.json and doesn't change any current claim; recorded here only so the next pass knows the family has three parts, not two.
- No numeric load-test values, pass/fail thresholds, or stability-test angles were recoverable from any of these pages (the actual standard text sits behind a paywall at every reseller tried: en-standard.eu, iteh.ai, SAI Global, ANSI webstore — all either 403'd or returned only a title/abstract page). **I did not put any ISO-sourced number into category.json; only the standards' existence and scope.** This is the one place I most wanted a number and could not get one — flagged for whoever has institutional access to iso.org or a paid standard.
- Supports: the ISO references and judgement 5. Confidence medium — titles/scope confirmed on two independent catalog sites' worth of search, but never the primary ISO document.

### Academic / primer (the core clinical sources)

- **Bradley SM, Hernandez CR. "Geriatric Assistive Devices." American Family Physician 2011;84(4):405-411.** (`aafp.org/pubs/afp/issues/2011/0815/p405.html`, verbatim via curl.) This is the single richest source in the register: the wrist-crease/15–30° fitting rule; the precise axillary-crutch fit (1.6–2 in / 4–5 cm below the axilla, 30° elbow flexion, 2 in lateral/5.9 in anterior to the foot) and forearm-crutch fit (cuff 1–1.6 in below the olecranon); Table 1's full pros/cons/indications for every sub-type (standard, offset and quadripod canes; axillary, forearm and platform crutches; standard, front-wheeled and four-wheeled/rollator walkers); the 80%/100% one-crutch/two-crutch weight-bearing figure (citing Bateni & Maki 2005, not independently re-verified by me); the handle-type carpal-tunnel note; the "up to 70 percent... wrong height" finding. I originally mis-filed this as the newer 2021 Sehgal et al. article (same journal, similar title, "a more recent article... is available" link on the page itself) — caught by checking the byline and page-range before citing. Confidence high.
- **OrthoInfo (AAOS), "How To Use Crutches, Canes, and Walkers."** (`orthoinfo.aaos.org/en/recovery/how-to-use-crutches-canes-and-walkers/`, verbatim.) Patient-facing confirmation of the same wrist-crease rule ("the top of your walker should reach to the crease in your wrist... elbows should be slightly bent") and that a pickup (standard) walker "will give you the most stability." Confidence high.
- **Physiopedia, "Canes."** (`physio-pedia.com/Canes`, verbatim.) Handle-type table (crook, derby, Fritz, contour, palm grip/Fisher) with the stated benefit of each; the fitting procedure (tip beside the small toe opposite the weak side, handle at the ulnar styloid/wrist crease); the quad-cane gait-speed limitation ("all four legs... must be in contact with the floor... can greatly limit gait speed"); the cold-climate metal-cleat accessory, single-sourced (see Dropped). Confidence high for everything except the cleat.
- **Physiopedia, "Crutches."** (`physio-pedia.com/Crutches`, verbatim.) The three crutch types including gutter/forearm-support crutches; adjustable ranges — axillary "approximately 48 to 60 inches / 122 to 153 cm" overall, forearm "29 to 35 inches / 74 to 89 cm" handgrip-to-floor; 20–30° axillary elbow flexion and 2–3 finger gap to the axilla pad (slightly different numbers from AAFP's 1.6–2 in / 30°, logged under Data points below). Confidence high.
- **Physiopedia, "Walking Aids."** (`physio-pedia.com/Walking_Aids`, verbatim.) The weight-bearing status vocabulary (FWB/NWB/PWB/TTWB/WBAT) and the explicit "temporary... or a more long-term option" prescription framing, which I considered as a possible fourth split and dropped (see Dropped). Confidence high.
- **Wikipedia, "Cane."** (`en.wikipedia.org/wiki/Cane`, verbatim.) "Canes made of carbon fiber or aluminium are stronger than those of the same weight made of other materials such as hardwood"; the cold-climate metal-cleat line. Confidence medium (encyclopedia, but the hardness claim matches the material facet's framing and isn't a load-bearing number).
- **Wikipedia, "Walker"** and **"Crutch"** (both verbatim) supplied background on rollator mechanics (hand brakes, basket, Aina Wifalk's 1978 invention) and crutch-palsy risk, but nothing from either was load-bearing enough to need its own reference entry beyond what AAFP/Physiopedia already supported with a second source; not cited directly in category.json to avoid an uncited-reference validator error, but kept here for the mechanism section's background.
- Could not fetch (Physiopedia mirrors of the same three pages, requested a second time under a different file name, returned Cloudflare's "Just a moment" interstitial rather than the article — the successful fetches above came from a different attempt that got through).

### Spec sheets (brand stores — confirming what's on a listing, not what matters)

- **Drive Medical**, canes/crutches/walkers/rollators category pages (`shop.drivemedical.com/us/en/Products/Mobility/...`), fetched verbatim with curl; the page is server-rendered enough that `data-facetselection="..."` attributes carry real filter values straight into the raw HTML (confirmed by grepping the raw file, not trusting the WebFetch summary for these numbers, per this run's lessons-learned). Weight capacities seen: 250, 300, 330, 350, 450, 500, 600 lb. Height-adjustable ranges: canes/walkers roughly 25.5–41 in; axillary crutches 39.75–62.75 in. Wheel diameters 6–10 in. Seat-to-floor 18–23.5 in. Device weight 1–1.44 lb (canes) to 11–30 lb (rollators) to 3–23 lb (walkers). One HCPCS billing code pair (`E0143 + E0156`) appeared on exactly one rollator listing — not dense enough to be a facet, dropped (see Dropped).
- **Carex**, canes category page (`carex.com/collections/canes`), fetched verbatim with curl and tag-stripped. Confirms, independently, weight capacities 250/300/500 lb; a "Height Range" filter with bands 28–37, 29–38, 30.5–39.5, 31–40, 33–37 in and a fixed 36 in; handle-type filter (Derby, Ergonomic, Offset, Round, "Secondary"); material filter (Aluminum, Carbon Fiber, Steel, Wood); and — the one filter neither I nor the earlier scratchpad fetches had found elsewhere — a **tip size** filter at exactly two values, 3/4 in and 7/8 in, which became `tip_diameter_in`. Also carries an "HSA/FSA Eligible" filter and "Condition" tags (Bariatric, Hip Injury, Muscle Weakness, Osteoporosis) — marketing/indication tags, not facets, dropped.
- **Carex**, rollators category page (`carex.com/collections/rollators`), fetched verbatim with curl 2026-10-25 after the blind check flagged `wheel_diameter_in` as single-sourced (only `drivemedical_mobility_spec`). Product names on this page repeat "6-inch Wheel" and "8-inch Wheel" verbatim, giving a genuine second, independent source for the facet's 6–10 in range. Added as reference `carex_rollators_spec` and cited on `wheel_diameter_in`.
- **Drive Medical**, walkers and crutches category pages re-fetched directly 2026-10-25 (`.../Products/Mobility/Walkers/c/Walkers`, `.../Crutches/c/Crutches`) to re-verify `height_adjustable_range`. The site's own `Handle Height` facet (distinct from a separately-tagged, inconsistently-populated `Height` facet that mixes in user-stature text like "Adjustable for users 4'9\" - 6'7\"") gives canes 28.75–37.75 in with one extended 37–46 in variant, and walkers 25–41 in including a 25–32 in short/hemi band — confirming the register's existing 25 in floor is a real Drive Medical value, not a rounded compromise. The `Dimensions Assembled` field on the crutches page gives 39.75–62.75 in verbatim, confirming the 63 in ceiling.
- Both brand stores agree closely enough on weight-capacity tiers (250/300/330–350 standard, 450–600 bariatric) that I'm treating `weight_capacity_lb`'s range and `heavy_duty_capacity`'s ~300–350 lb threshold as two-sourced.
- **Could not reach**: Nova Medical Products (DNS/connection failure on both attempts), Hugo Mobility (timeout), Vive Health's collection page specifically (404 — the site exists, 312 KB homepage fetched fine, but this exact URL path was wrong and I did not have budget left to hunt for the right one). ISO.org (403, every attempt, both IP paths tried). iTeh, SAI Global, ANSI webstore (403). Wayback Machine snapshot of Physiopedia's "Walking Frames" article: not archived at all (`pp_frames.txt` is a Wayback "has not archived that URL" page, kept as evidence of the attempt).

## Data points used for derived metrics

No `derived_metrics` array is in category.json. I looked for a sourced, buyer-usable arithmetic formula (the skill's model is "price / servings"-style) and didn't find one I could stand behind:

- A folk "cane length = height × some fraction" ratio is widely repeated in retail copy but I found zero instances of it in a clinical or standards source — every real source (AAFP, Physiopedia, OrthoInfo) gives the fitting rule as a **landmark** (wrist crease, 15–30° elbow flexion) measured on the person standing with the device, not a formula from stature. Inventing a ratio to manufacture a derived metric would violate "do not invent ranges, deltas or bounds," so I didn't.
- The 80%/100% crutch weight-bearing figure (AAFP, one source) is a lookup, not an arithmetic formula over listing fields, so it's recorded as a judgement instead of a derived metric.
- `heavy_duty_capacity` is the closest thing to a derived field in the register (a simple threshold rule over `weight_capacity_lb`), and it's modeled as its own boolean facet with `source: derived` rather than forced into the `derived_metrics` array, which the schema describes as "plain arithmetic" producing a new number, not a yes/no threshold.

## Against the existing add-on schema

`zamana-expertise/data/schema-parts/supplies/personal/add-ons/cane.jsonc` currently holds exactly one field: `sizing.height_range_raw` (a free-text string). `personal-standard.jsonc` (shared across personal-care sub-verticals) already has `sizing.weight_capacity` (`{value, unit: lb|kg}`) explicitly flagged "mobility & bathroom-safety aids" and `replacement_compatibility_raw` ("heads, blades, refills, pads the item takes or fits"). `supplies-standard.jsonc` gives the generic `high_signal_markdown`, `sizing.dimensions`, `sizing.weight`, `sizing.pack_count`.

Reading these against AGENTS.md's four kinds (vertical anchor / category quality currency / hard filter / sizing) and rule 5's "cut on sight" list:

| This register's facet | Kind under AGENTS.md | Verdict against current schema |
|---|---|---|
| `aid_family` | Vertical anchor | Not a schema field at all today — it's the taxonomy/title, already implicit. No change needed. |
| `weight_capacity_lb` | Hard filter (we'd augment it; hospitals/caregivers filter on it) | **Already modeled**: `personal-standard.jsonc`'s `sizing.weight_capacity` is exactly this field, correctly placed in `sizing` per rule 2 (it's the one number that genuinely varies by size variant — a "tall" or "bariatric" variant of the same model carries a different rating). No new field needed; the cane add-on just needs to actually populate it. |
| `height_adjustable_range` | Sizing (rule 2: differs per size variant; rule 4's "bought-by-number dimension" test — a buyer picks by this number the way they pick cable length, not the way they eyeball a drawer count) | `cane.jsonc`'s `height_range_raw` is a free-text string version of exactly this. **Proposal: replace with `sizing.height_adjustable_range: {min, max, unit}`** (numeric, like `weight_capacity`) so it's actually comparable instead of a string a ranker has to parse. |
| `tip_diameter_in` | Hard filter (fit/compat fact a buyer filters by literal value, per rule 4's example "bulb base") | Not modeled anywhere. **Proposal: add `tip_diameter_in` (enum `3_4_in`/`7_8_in`/`other`) to `cane.jsonc`** — it is the direct analogue of `bulb_base_required` in the lamps add-on: a small, closed, compatibility-critical enum that is "on most product pages" the way a replacement-tip SKU states it, even if the cane listing itself often doesn't. |
| `cane_base_type`, `crutch_type`, `wheel_count` | Vertical anchor / category quality currency, but see rule 1 | These differentiate the single-point-vs-quad cane, crutch sub-type, and walker wheel count — real, structural, not cosmetic. I'd keep them as text/title signal rather than new schema fields, because rule 1 ("visually-derived fields stay OUT of schemas... anything a photo answers") plus the fact that these are near-always stated unambiguously in the *title* (every brand catalog I fetched names it there) means the existing `high_signal_markdown` pass is the right home, not a new enum field. |
| `handle_type`, `material` | Visually-derived (rule 1) / material could be a vertical-anchor-style enum | `handle_type` is explicitly cut per rule 1 — shape is a photo fact. `material` is borderline: AGENTS.md's furnishings example treats a materials enum as a vertical anchor, and Carex's own filter proves it's a real axis, but for this category it mostly only varies within canes (walkers/crutches were almost all "Anodized Aluminum" on both brand sites), so I would not add a dedicated field; it's `high_signal_markdown` material. |
| `seat_included`, `wheel_diameter_in` | Category quality currency (rollators specifically) | Niche enough (only matters for the rollator sub-type of one of three families) that I would not add dedicated fields to the shared `cane.jsonc` add-on; if Zamana ever splits a `rollator.jsonc` add-on out from the generic walker/cane add-on, these would belong there. |
| `folds_for_storage` | Explicitly dead under rule 5 ("foldable booleans") | **Do not add.** AGENTS.md names this exact pattern as cut-on-sight. I originally kept it as a register-level split because an assistant still benefits from knowing to ask about it, but the blind check correctly found the cold-start question itself fails the generic test (it would read unchanged for a stroller or a camp chair) — demoted from `splits` to a plain `filter` facet on 2026-10-25 (see Corrections log). It should still live in `high_signal_markdown`, never as a schema boolean. |
| Weight-bearing status (FWB/NWB/PWB/TTWB/WBAT), the fitting rule itself | Not a product fact at all | These describe the *user*, not the product — correctly outside any schema; they're vocabulary/mechanism content for the assistant's reasoning, not something a PDP states. |

Net proposal, concretely: promote `cane.jsonc`'s `height_range_raw` string to a numeric `sizing.height_adjustable_range {min, max, unit}`; add a small `tip_diameter_in` enum to `cane.jsonc`; confirm `personal-standard.jsonc`'s existing `sizing.weight_capacity` actually gets populated for this category (it looks like it was added for exactly this purpose and may be under-used); add nothing else. `folds_for_storage`, `handle_type`, `cane_base_type`/`crutch_type`/`wheel_count`, and `seat_included` are this register's noise against the *current schema regime*, even though they're real expert facets for the register itself — the register and the strict PDP-extraction schema are different documents with different jobs, which is exactly why this section exists.

## Branches

Traced against the register's own sentences, per split, in `aid_family`, `heavy_duty_capacity` and `wheel_count` order (the order they appear in category.json):

- **`aid_family = cane` → ask `cane_base_type`, `handle_type`, `material`, `tip_diameter_in`, `height_adjustable_range`; skip `crutch_type`, `wheel_count`, `seat_included`, `wheel_diameter_in`.** Chain: a cane by definition (21 CFR 890.3075, "a cane with a tripod, quad, or retractable stud") has a base-type choice and a handle; it has no armpit/forearm brace (that's what makes it not a crutch) and no wheels (that's what makes it not a walker). `height_adjustable_range` added 2026-10-25 after the blind check: the facet's own `range.typical` and the mechanism section both say the wrist-crease fitting rule applies to a cane too, and the cane branch had never routed to it — this was an unintentional omission, not a reasoned exclusion. SUPPORTED.
- **`aid_family = crutch` → ask `crutch_type`, `height_adjustable_range`; skip everything cane- and walker-specific** (including `material`). Chain: 890.3150 defines a crutch generically, and AAFP/Physiopedia's three-way split (axillary/forearm/platform) is the next real choice; a crutch has no "base type" the way a cane does, and no wheels. SUPPORTED, but the `material`-irrelevant leg rests on the identical absence-of-variation observation flagged WEAK below for the walker branch (both brand catalogs showed crutches, like walkers, as almost entirely anodized aluminum, not a stated rule) — logged WEAK here too as of 2026-10-25; the earlier pass only flagged the walker leg and undercounted by one.
- **`aid_family = walker` → ask `wheel_count`, `height_adjustable_range`; skip `cane_base_type`, `handle_type`, `tip_diameter_in`, `crutch_type`, `material`.** Chain: 890.3825 defines a walker as "four-legged," and AAFP's Table 1 only differentiates walkers by wheel count from there; both brand catalogs showed walkers/crutches as almost entirely anodized aluminum, so `material` stops being a real axis once you're not choosing a cane (two-source chain: Drive Medical's and Carex's own material filters). SUPPORTED, with the material leg resting on an absence-of-variation observation across two brand catalogs rather than a stated rule — logged as WEAK (one of two WEAK-ish legs in this split now that the crutch branch's identical leg is logged too; see above), kept because the underlying data (every walker/crutch SKU seen was aluminum) is itself from two sources.
- **`heavy_duty_capacity = yes` → ask `weight_capacity_lb`.** Chain: "yes" only means something if the assistant then surfaces which specific rating (450/500/600 lb) the model carries, since "over 300" spans a 150 lb-wide tier on both brand sites. SUPPORTED.
- **`wheel_count = three_or_four_wheel_rollator` → ask `seat_included`, `wheel_diameter_in`.** Chain: AAFP's own Table 1 states the rollator "typically has seat and basket," and Drive Medical's rollator-only facet set is where seat dimensions and the full 6–10 in wheel range actually appear (the cane and standard-walker pages carry neither). SUPPORTED.
- **`wheel_count = two_wheel_front` → ask `wheel_diameter_in`; skip `seat_included`.** Chain: front-wheeled walkers in both AAFP's table and the Drive Medical catalog have wheels but are never described or filtered as carrying a seat. SUPPORTED.
- **`wheel_count = no_wheels_pickup` → skip `seat_included`, `wheel_diameter_in`.** Chain: a standard (pickup) walker has no wheels by AAFP's own description ("results in a slower gait because the patient must completely lift the walker off the ground"). SUPPORTED, trivially.

No leg needed dropping; the one I flagged as weakest (`material` going irrelevant on the walker/crutch branches) is logged above rather than silently kept.

## Trimmed detail

- `height_adjustable_range`: AAFP's precise axillary-crutch fit (1.6–2 in / 4–5 cm below the axilla, 2 in lateral/5.9 in anterior to the foot, 30° elbow flexion) and forearm-crutch fit (cuff 1–1.6 in below the olecranon) didn't fit the 80-word cap; Physiopedia's slightly different axillary numbers (2–3 finger-widths, 20–30° flexion, 48–60 in / 122–153 cm overall adjustable range) are a second, independently-sourced but not identical set of figures for the same landmark — both are real clinical conventions, not a contradiction, and are recorded here rather than averaged into a false-precision single number in the JSON.
- `aid_family`: the 2011 AAFP figure that "an estimated 6.1 million community-dwelling adults use mobility devices... two-thirds... older than 65... 10 percent use canes and 4.6 percent use walkers" is good context for why this category skews toward older buyers, but didn't fit any 80-word cap and isn't itself a product fact.
- `weight_capacity_lb`: the one HCPCS billing code pair (`E0143 + E0156`) seen on a single Drive Medical rollator listing is a US durable-medical-equipment insurance code, not a product spec; interesting for a future "is this covered by Medicare" feature, not this register.

## Dropped

- A fourth split on "temporary recovery vs. long-term use" (directly sourced: Physiopedia's "whether the walking aid is a temporary requirement... or a more long-term option"). Dropped because it reads generically — the same question could sit unchanged under a knee brace, a blood-pressure cuff, or a back brace — and because I could not state a clean rule mapping its two answers to specific facet values the way the schema requires for a branch's `when`.
- "Indoor vs. outdoor terrain" as a split, which would have driven `tip_type` (a weighted/ice-cleat tip for a cane) — Wikipedia's "Cane" article verbatim describes a cold-climate metal cleat accessory, but I found no second source and neither Drive Medical's nor Carex's catalog labels any product "indoor" or "outdoor," so there was no second source and no listing signal to back a facet. Logged, not built.
- A colour-consistency-style facet is not applicable here (that was a lamps concern); no equivalent found.
- `handle_type` as a cold-start split question: AAFP and Physiopedia both describe real grip trade-offs (carpal-tunnel risk with a crook handle; arthritis-friendly Fritz/palm grips), but picking among five handle shapes isn't something a novice can do from a one-line question without seeing the shapes, and the shapes are visible in a photo anyway (see Against-the-existing-schema). Kept as an annotation facet, not promoted to a split.
- HSA/FSA-eligibility and the "Condition" indication tags (Bariatric, Hip Injury, Muscle Weakness, Osteoporosis) seen on Carex's own filter sidebar: marketing/indication tags, not expert facets; fail the generic test and AGENTS.md rule 5 ("curated feature/claim vocabularies").
- A `brake_type` facet for rollators: real mechanism detail (Wikipedia: hand brakes "can be lifted or pushed downward to instantly stop the rollator"), but every rollator in the sources has hand brakes by definition of being a rollator — it's mechanism text, not a differentiating facet, and ISO 11199-2's 2024 amendment literally *removed* brake requirements from the standard, which suggests even standards bodies don't treat brake design as a fixed spec worth regulating tightly. Folded into mechanism/vocabulary instead of made a facet.

## Script notes

`validate.py`, `render.py` and `viewer.py` all ran clean on the first validate pass after four straightforward fixes (a visual-grammar name needing to match its `visual_grammars` entry exactly, a `source: researched` + `backfill_cost: none` combination the validator correctly rejected, and one reference that needed citing somewhere). No bug found in the scripts themselves; nothing to report upstream.

## Corrections

First pass (this category, built in one session with no prior blind check). An earlier, same-session attempt at this task had fetched raw source pages into the scratchpad — `/private/tmp/.../scratchpad/canes/` — but had not yet written any notes.md, category.json, category.md or viewer.html; this pass verified every one of those fetched pages against the claims actually drawn from them before reusing any of them, re-fetched the four FDA CFR sections individually by their correct section numbers after finding the original fetch had been filed under the wrong section numbers in this note, and added the Carex, ISO/en-standard.eu, AAFP and OrthoInfo research that the earlier attempt had not yet reached.

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

A checker who did not write this register graded it against `check.md`; nine required fixes, plus a single-source flag. Each line below is one change, re-verified against a fresh direct fetch of the underlying source before being applied (see the re-fetch notes added above under Sources), not just taken on the checker's word.

1. **Fixed the 70-percent overstatement.** `height_adjustable_range.why_experts_care` and the Seed section both narrowed AAFP's "up to 70 percent of canes are faulty, damaged, or the wrong height" to "70 percent are the wrong height." Re-fetched AAFP directly (`aafp2.html` in scratch dir) and confirmed the verbatim sentence; rewrote both places to state the three-way figure and say sizing is one of three causes, not the whole 70 percent.
2. **Fixed `crutch_type.cold_start_question`.** Was "Brace under the armpit, or a forearm cuff?" — two options for a three-value facet, leaving platform/gutter buyers unrepresented. Changed to "Armpit, forearm cuff, or platform?" (5 words, all three values named).
3. **Fixed the `wheel_count` question/value mismatch.** Both `splits[].question` and the facet's `cold_start_question` said "four with a seat," not matching the facet value `three_or_four_wheel_rollator`. Changed both to "No wheels, two up front, or three or four with a seat?" (12 words, at the cap).
4. **Re-cited `height_adjustable_range` and partially rejected the specific number change.** `physiopedia_crutches` was evidence for a clause about canes and walkers, but that source's figures are crutch-only — a real miscite, fixed by adding `carex_canes_spec` so the cane/walker clause has two genuine sources (Drive Medical + Carex), independent of `physiopedia_crutches` (kept, since it legitimately supports the crutch portion of the same `typical` text). **Rejected in part**: the checker said the stated floor of 25 in "matches neither site's actual lowest value" and should tighten toward 21 or 28. I re-fetched Drive Medical's walkers page directly and found the floor of 25 in *is* a real value on its own `Handle Height` filter (a 25–32 in short/hemi band) — the checker's own "21 in" figure came from a separately-tagged, inconsistently-populated `Height` facet on the same page that mixes in unrelated user-stature text ("Adjustable for users 4'9\" - 6'7\""), which I don't trust as a handle-height number. Kept `range.min: 25`, `range.max: 63` (the 63 in ceiling re-confirmed against Drive Medical's crutch page, 39.75–62.75 in verbatim); only reworded `typical` for precision.
5. **Added `height_adjustable_range` to the cane branch.** The `aid_family = cane` branch never asked it, despite the facet's own text and the mechanism section saying the wrist-crease rule applies to canes too. Added it to that branch's `then_ask` (see Branches section above).
6. **Demoted `folds_for_storage` out of the top-level `splits`.** Its cold-start question ("Need it to fold flat for the car?") would read unchanged for a stroller or a camp chair — the checker's generic-test failure is correct, and notes.md's own schema-table section had already flagged the identical pattern as an AGENTS.md cut-on-sight item without acting on it for the register. Removed it from `splits` (no longer claims to be a top-level expert division) and changed its `roles` from `["split", "filter"]` to `["filter"]`; it keeps its `cold_start_question` as an available on-demand filter question, and its `why_experts_care` already carries the category-specific AAFP pro/con detail. `splits` now has 3 entries (`aid_family`, `heavy_duty_capacity`, `wheel_count`), still within the schema's 2–4 range.
7. **Logged the crutch branch's `material`-irrelevant leg as WEAK.** It rests on the identical "every walker/crutch SKU seen was aluminum across two catalogs" observation already logged WEAK for the walker branch, but the original Branches section only flagged the walker leg (calling it "the one WEAK-ish leg"). Updated both branch entries in the Branches section above.
8. **Reconsidered two `backfill_cost` ratings.** `heavy_duty_capacity` was `"none"`; changed to `"low"` with a note that it's only free when `weight_capacity_lb` is already known, and that field is itself unconfirmed on third-party listings — "none" overstated how often this is actually free. `handle_type` was `"low"`; changed to `"medium"` since its own `backfill_note` says it needs an image-classification pipeline, a different and costlier tier than the text-field "low" facets around it.
9. **Logged the ISO 11199-3 completeness gap.** Re-fetched en-standard.eu directly and confirmed ISO 11199-3:2005 ("Walking tables") exists alongside the cited -1 and -2 parts; added to the ISO section above. No claim in category.json changes.
10. **Fixed the `wheel_diameter_in` single-source flag** (not one of the 9 numbered required fixes, but raised in Part A and covered by the house rule that every number needs two sources). Re-fetched Carex's rollators collection page directly, confirmed "6-inch Wheel" and "8-inch Wheel" repeat in product names, added it as reference `carex_rollators_spec`, and cited it on `wheel_diameter_in` alongside `drivemedical_mobility_spec`.
