# Camping Stoves & Tools: research notes

Date: 2026-10-25. Scope: camp stoves (canister, liquid/multi-fuel, two-burner propane, wood/alcohol/solid-fuel), the cookware bought to go with them, and the hand tools sold under the same taxonomy leaf: axes/hatchets, folding saws, multitools and fire starters. This matches the scope comment already in `zamana-expertise/data/schema-parts/supplies/active/add-ons/camping_tool.jsonc` ("stoves, fuel, cookware, multitools, axes, fire starters") with one correction: that file's comment also lists trekking poles, but the catalog has a separate sibling leaf, `poles` ("Hiking & Camping Poles"), with its own add-on file (`poles.jsonc`, material + length). Trekking poles are left to that sibling and not swallowed here. Lanterns, headlamps and flashlights are explicitly routed elsewhere by the same comment (`machines/electronics/emergency_camping_light`), as is GPS (`machines/electronics/gps_device`); I did not research those. Folding saws are not named in the add-on's scope comment but are sold under "camping tools" everywhere I looked, so I added them to `hand_tool_type` and flag the addition here. Other `supplies > active` siblings I deliberately left alone: `camp-furniture` (chairs/tables), `sleeping-bags`, `tents-shelters`. `outdoor-water` ("Outdoor Water & Hygiene") covers water filters/bottles, not fuel or cooking, so no overlap there. **Added 2026-10-25, after the blind check:** one `supplies > kitchen` sibling does overlap in label, not in substance — `cookware-stove-accessories` (`supplies > kitchen > cookware_stove_accessories`, "Cookware & Stove Accessories"). Its own register (read 2026-10-25) scopes itself to four home-kitchen-stove jobs: lids and splatter screens on the pan, steamers in the pot, induction discs/diffusers/wok rings under the pan, and drip bowls/burner covers protecting the stove — none of which are a camp pot, kettle or mug sold to pair with a portable stove. `cookware-sets` (`supplies > kitchen > cookware_sets`) is general home cookware, also not camping-specific. This register's `pot_material` facet and the `cookware` value of `tool_type` own the camp-specific vessel; neither kitchen sibling claims that ground, so `pot_material`'s definition now says "the camp pot, kettle or mug sold to pair with a portable stove" rather than the bare "cooking vessel."

Quote labels: **verbatim** = I read the sentence myself in text extracted from a raw fetch (curl + a Python tag-stripper, saved under the scratchpad's `camping-tools/` folder) or a Wikipedia article's rendered text; **fetched excerpt** = the WebFetch tool summarised or lightly reworded the page; **search excerpt** = from a search-engine summary, page itself unread. A search-excerpt-only number does not go in `category.json`. In this run nearly everything is verbatim or fetched excerpt, because WebSearch's own budget was exhausted before I started (see "Could not reach" below), so I worked entirely from direct fetches.

## Seed

Seed run (recorded verbatim from `seed.py --category camping-tools`):

> Example: car-tyres `treadwear_grade` — "a number that is on every listing and still needs a judgement attached, because experts know it only compares within one manufacturer's range." Also shown: olive-oil `harvest_date` — "a facet experts rank first, that almost no listing carries, and that is expensive to backfill... list it, mark it researched, and limit backfill to the top of the catalog... also shows a derived metric hanging off a researched facet."
> Persona: "A rock climber, who thinks in failure modes and in what certification actually tested."

(The tool printed the olive-oil example in its own output text even though the generic template names only one `<example>` block; both appeared, so I answered against the one actually shown in the block, olive-oil `harvest_date`, and treated the treadwear line as background.)

1. The camping-tools equivalent of `harvest_date` is `canister_valve_standard`: a compatibility fact that decides whether the product even works with your stove, that is almost never named on a listing or even a spec sheet (I found it only by reading a Wikipedia standards page, never on a single brand product page), and that is cheap to backfill once you know "nearly everyone uses the threaded Lindal valve; flag only the exceptions." Survived the data check: EN 417/Lindal B188 is real and sourced (see below), and it is a genuine hard filter, not a vanity number.
2. The rock climber's instinct — "what did the certification actually test, and what fails first" — applied here to a question I would not otherwise have asked: not "which stove is strongest" but "where would this fail and who tested that." That produced the carbon-monoxide judgement (the failure is not the stove breaking, it is the place you run it — inside a sealed tent) and the piezo-igniter judgement (specialist reviewers reporting this exact failure mode by name, "igniter breaks," which is the kind of thing a mechanic/climber persona notices and a typical buyer skims past as a bullet point). Both kept, below.

Dropped: a chain-strength/carabiner-style "rated load" facet for the axe/hatchet head, by direct analogy to the climber persona's certification instinct — I could not find a consumer hatchet safety-testing standard (ANSI, EN or otherwise) that is actually enforced or commonly cited the way carabiner ratings are, and I was not willing to invent one. The hand-tool side of this register stays with what is sourced: edge material only.

## Sources and what each supports

### Standards and regulatory

**Wikipedia, EN 417 (page title; the URL `/wiki/Gas_cartridge` redirects here)**
https://en.wikipedia.org/wiki/EN_417
- verbatim (read from the page's own text, via curl): "EN 417 is a European Standard concerning non-refillable metallic cartridges for liquefied petroleum gases... for use with portable appliances which comply with the requirements of EN 521."
- verbatim: "The term is used colloquially to refer to cartridges with the 7/16\" UNEF threaded valve used on disposable butane and butane/isobutane/propane mix cartridges... The correct name for this is Lindal B188 valve."
- verbatim: "This informal use is improper, as the EN 417 standard applies also to cartridges that do not have a Lindal valve, such as the valveless, pierceable Epigas canisters often used in Europe."
- verbatim: "Unlike a pierceable, disposable canister, a Lindal valve should seal itself if the fuel container is unscrewed... However, the self-sealing action cannot be relied upon as a safety feature. A dirty valve can leak, and the thread can be damaged by external force."
- Caveat: the page itself carries a "may contain original research... (October 2018)" banner. I did not reach the actual EN 417 or EN 521 text (CEN standards are paywalled) and could not reach a second, independent confirmation beyond the `camping_stove` Wikipedia article (different page, below), which agrees on the Lindal valve name and gives a 1992 approval date. Judgement below is marked confidence medium for this reason.
- Supports: `canister_valve_standard` facet and its values; the EN 417 vocabulary entry.

**Wikipedia, Camping stove**
https://en.wikipedia.org/wiki/Camping_stove
- verbatim (read via curl + tag-stripping): "Gas cartridges for camping stoves tend to be costly and usually are not refillable... They perform poorly in cold weather. Until the approval of EN 417-specification Lindal valve cartridges of 1992 there was little compatibility between different makers and systems."
- verbatim, fuel-comparison table: "Propane − 104 °C/− 155 °F [flash point]... Better than butane in cold weather... Boiling point: − 42.2 °C/− 44.1 °F"; "Butane − 60 °C/− 76 °F... Poor performance in cold weather... Boiling point: − 1 °C/30 °F"; alcohol "Must be pre-heated in cold weather (not required for jellied alcohol)"; wood "May require skill or additives to ignite when moist."
- verbatim, mechanism/history: unpressurized solid/liquid-fuel stoves, pressurized-liquid stoves, bottled gas stoves, gravity-fed spirit stoves as the four broad families; white gas/naphtha history (Svea 123); alcohol stove history (Nansen, Trangia's basis).
- Supports: `fuel_format` facet and its `why_experts_care`; the mechanism families; the 1992 EN 417 date (second source, with the caveat above); the cold-weather judgement (second source alongside the isobutane infobox).

**Wikipedia, Isobutane (chemical infobox)**
https://en.wikipedia.org/wiki/Isobutane
- verbatim: "Boiling point −11.78 °C (10.80 °F; 261.37 K) [2]" and "Vapor pressure 3.1 atm (310 kPa) (at 21 °C...) [4]", both footnoted to external chemistry references (not read directly, but the Wikipedia infobox is a distinct article/dataset from `camping_stove`, so I am treating these as two independent sources for the same physical fact: isobutane's boiling point sits just below 0°F).
- Supports: the precise -11.78°C figure used (rounded to -12°C) in `fuel_format`, `cold_weather_rated`, and the cold-weather judgement.

### Brand spec sheets

**MSR, PocketRocket 2 Stove**
https://www.msrgear.com/products/pocketrocket-2-stove
- verbatim (fetched the live page with curl, a browser user-agent, and stripped tags myself; the page's own "Tech Specs" table): "Minimum Weight: 2.6 oz (73 g)"; "Boil time (MSR IsoPro), 1 liter: 3.5 minutes"; "Burn time (MSR IsoPro) per 227-g / 8-oz. canister: Appx. 60 minutes"; "Water boiled (MSR IsoPro) per 227-g canister: 16 liters"; "Water boiled (MSR IsoPro) per 1 oz. of fuel: 2 liters."
- verbatim, FAQ widget on the same page: "Which WindBurner® Pots can I use with which stoves?... WindBurner pots must be used only with WindBurner stoves. This is because the pot and stove are specifically engineered to create an integrated system." Also: "Is the Switch stove compatible with all cookware?... With the pot supports flipped out... can support any flat-bottom pot... In 'system mode'... only compatible with the Switch Pot."
- Supports: `boil_time_1l_min`, `water_boiled_per_canister_l` (canister-stove family), the `fuel_efficiency_l_per_100g` derived metric's inputs, and `burner_format`'s "integrated systems often cannot be paired with any pot but their own" claim.

**MSR, WhisperLite Universal Stove**
https://www.msrgear.com/products/whisperlite-universal-stove
- verbatim: "Minimum Weight: 11.2 oz (318 g)"; "Boil time (white gas), 1 liter: 3.5 minutes"; "Boil time (kerosene), 1 liter: 4.4 minutes"; "Boil time (MSR IsoPro), 1 liter: 3.75 minutes"; "Water boiled (MSR IsoPro) per 227-g canister: 15 liters."
- verbatim, marketing copy on the same page: "Canister Liquid Feed: Delivers better cold weather and low-fuel performance with a more consistent output over the life of each canister."
- Note: this is the brand's own claim about its own hybrid design, not an independent measurement; I used it only for the directional cold-weather claim (liquid-feed beats upright canister in the cold), paired with the isobutane boiling-point fact for the underlying mechanism, not for a specific number.
- Supports: `fuel_format`, `cold_weather_rated`, `boil_time_1l_min`, `water_boiled_per_canister_l`, mechanism families.

**MSR, WindBurner Personal Stove System**
https://www.msrgear.com/products/windburner-personal-stove-system
- verbatim: "Minimum Weight: 15.3 oz (433 g)"; "Boil Time (MSR IsoPro), 1 Liter: 4.5 minutes"; "Water Boiled (MSR IsoPro) per 227-g Canister: 18 Liters"; "Water Boiled (MSR IsoPro) per 1 oz. of Fuel: 2.3 Liters."
- verbatim, marketing copy: "Windproof radiant burner and pressure regulator maintain stove performance in windy and cold conditions; faster boil times & more fuel efficiency than conventional stoves," and "1.0 L Hard-Anodized Aluminum Pot With Integrated Heat Exchanger."
- Judgement call: the WindBurner's own 1 L boil time (4.5 min) is slower on paper than the open-burner PocketRocket 2's (3.5 min) despite the "faster boil times" marketing line. I read this as a no-wind-test-condition artifact (WindBurner's real advantage is holding that time steady in wind, which the flat spec number cannot show) rather than a contradiction, and did not state the marketing line as if it were the measured number.
- Supports: `boil_time_1l_min`, `water_boiled_per_canister_l` (highest of the three MSR canister stoves on this metric), `burner_format`'s integrated-system entry, the fast-boil/simmer trade-off.

**MSR, Trail Lite Duo Cook Set (cookware materials FAQ, a sitewide widget that also appears on the Ceramic 2-Pot Set and Titan Kettle 900mL pages)**
https://www.msrgear.com/products/trail-lite-duo-cook-set
- verbatim: "Aluminum is the cookware of choice for all-around backcountry use. It conducts heat evenly, is easy to clean when hard anodized... Stainless steel is very durable... lies somewhere between aluminum and titanium... Titanium cookware's biggest advantage is its light weight... They tend to develop hot spots, however, making them less than ideal for cooking temperature-sensitive foods like eggs or pancakes... darker pots (esp. the bottom) are the most fuel efficient. Older cookware, which blackens through use, becomes more efficient than new cookware."
- Also read on this page: "Weight: 1 lb 5 oz (0.61 kg)," "Material(s): Aluminum / Plastic" for the 2.0 L Trail Lite Duo pot, and on the companion Titan Kettle 900mL page, "Weight (Metric): 0.13 kg," titanium, 0.9 L — kept as background for the weight contrast between aluminum and titanium cookware, not cited as a number in the JSON since it is not load-bearing there.
- Supports: `pot_material`'s `why_experts_care`, the titanium-hot-spots judgement, and the fuel-efficiency-by-colour note (dropped from the JSON as a fact the register could not turn into a facet — see "Dropped" below).

**Wikipedia, List of thermal conductivities**
https://en.wikipedia.org/wiki/List_of_thermal_conductivities
- verbatim: "Aluminium 237 [W/(m·K)]"; "Titanium, pure 15.6–19.0 / 21.9 / 22.5 [W/(m·K)]."
- Independent, non-brand confirmation that titanium conducts roughly ten times more slowly than aluminium, which is the physical mechanism behind MSR's "hot spots" claim above. Used as the second source for that judgement.

**OutdoorGearLab, The Best Camping Stoves of 2026** (updated 17 July 2026)
https://www.outdoorgearlab.com/topics/camping-and-hiking/best-camping-stove
- verbatim: "Since 2012, we've tested over 50 camping stoves... Beyond measuring raw power, we cooked real meals to test setup, simmer control, and cleanup. What we found was somewhat surprising: BTU rating alone doesn't determine how fast they boil water, simmering ability can vary wildly."
- verbatim, Camp Chef Everest 2X spec block: "Total BTUs 40,000... Piezo Ignitor Yes... Measured Weight 6.34 kg | 13.97 lbs."
- Supports: the BTU-does-not-predict-boil-time judgement; `output_btu`'s range and `why_experts_care`; the two-burner propane family's typical weight and output.

**OutdoorGearLab, The Best Backpacking Stoves of 2026** (updated 8 May 2026)
https://www.outdoorgearlab.com/topics/camping-and-hiking/best-backpacking-stove
- verbatim, Soto Windmaster: "Boil Time .5 liters 2 min 27 sec... Measured Weight 108 g | 3.8 oz... Fuel Type Isobutane."
- verbatim, MSR Whisperlite Universal: "Measured Weight 309 g | 10.9 oz... Boil Time .5 liters 3 min 23 sec... Liquid fuel stoves are known for their field repairability, durability, and ability to cook larger meals... Most American backpackers are shifting to canister stoves because of their lighter weight and ease of use. However, if you seek a nimble stove ideal for traveling outside the US, this stove's multi-fuel versatility... could be an ideal match."
- verbatim, MSR XGK EX: "Simmering Ability 6.1... SPECIFICATIONS Type Multifuel (liquid)... Boil Time .5 liters 3 min 10 sec... Measured Weight 431 g | 15.2 oz... as with most liquid-fuel stoves, the XGK is field-repairable... includes essential repair items... 'I've never heard such a loud backcountry stove.'"
- verbatim, MSR PocketRocket Deluxe: "CONS... More average igniter... The built‑in igniter does have a larger button than some of the competition, though it often needed a few more clicks."
- verbatim, AOTU budget stove: "CONS... Piezo igniter frequently breaks... Questionable long-term durability."
- verbatim, on a different budget model: "while the built-in igniter is a nice touch at first, it is notoriously prone to failure after a few rough trips."
- verbatim, BRS-3000T: "Measured Weight... 1.4 ounces" (from the quick-picks summary: "This tiny stove weighs 1.4 ounces and costs less than $20").
- Supports: `simmer_control`'s `why_experts_care` (the 6.1-vs-~9 simmering-score spread), `boil_time_1l_min` and the mechanism families' weight ranges, the liquid-fuel field-repairability and international-travel judgement, and the piezo-igniter-failure judgement (two separate products, same reviewer, independent of each other within the article).

**Trangia, "Spirit stove vs gas stove – which should you choose?"**
https://trangia.se/en/article/moments/spirit-vs-gas-stove-which-to-choose/
- verbatim: "A gas stove generally brings water to the boil faster and is easier to fine-tune, while a spirit stove has a simpler design, runs quietly and has few parts that can break... If you plan to use it in colder weather, at around +5 °C and below you can use a preheater to help the burner get going faster... Gas is a fossil fuel, while spirit fuel has a significantly lower climate footprint when used."
- Trangia is the leading alcohol/spirit camp-stove brand, so I am treating this as a spec-sheet-adjacent primer rather than an independent review; it is the only source for the alcohol-stove family's cold-weather caveat and the climate-footprint line (climate footprint dropped from the JSON — see "Dropped").
- Supports: `fuel_format`'s wood/alcohol/solid branch, the mechanism family text, the alcohol preheat-below-5°C fact.

### Mechanism and vocabulary (general reference)

**Wikipedia, Ferrocerium**
https://en.wikipedia.org/wiki/Ferrocerium
- verbatim: "friction produces hot fragments that oxidize rapidly... producing sparks that can reach temperatures of 3,315 °C (6,000 °F). The effect is due to the low ignition temperature of cerium, between 150 and 180 °C."
- Supports the `ferrocerium rod` vocabulary entry. Not cited as a facet number because I have no sourced claim tying spark temperature to a buying decision (every ferro rod ignites typical tinder; this is background, not a discriminator) — kept as vocabulary only.

**Wikipedia, Knife**
https://en.wikipedia.org/wiki/Knife
- verbatim: "Carbon steel... can be very sharp. It holds its edge well, and remains easy to sharpen, but is vulnerable to rust and stains. Stainless steel... is not able to take quite as sharp an edge as carbon steel, but is highly resistant to corrosion."
- Supports `edge_material`'s `why_experts_care` and the carbon/stainless trade-off.

**Wikipedia, Carbon steel**
https://en.wikipedia.org/wiki/Carbon_steel
- verbatim: "...high strength steel wires, springs, bolts, garden and agricultural tools, wood chisels and axes [use carbon steel]... Carbon steel is susceptible to rust and corrosion... Alternatively, it can be made from a stainless steel alloy that contains chromium, which provides excellent corrosion resistance."
- Independent second source for the same trade-off, from a different article, naming axes specifically. Used together with the Knife article so the `edge_material` judgement has two sources, not one.

**Wikipedia, Multi-tool; Wikipedia, Hatchet**
https://en.wikipedia.org/wiki/Multi-tool, https://en.wikipedia.org/wiki/Hatchet
- verbatim (Multi-tool): "the industry underwent its most recent paradigm shift in 1983 when Tim Leatherman introduced a design... centred on folding pliers... from a pocketknife with accessories into a heavy-duty portable toolbox."
- verbatim (Hatchet): "a single-handed striking tool with a sharp blade on one side... and a hammerhead on the other... 19th and 20th century American manufacturers and retailers... unanimously distinguished hatchets from hand axes."
- Used only for background/mechanism understanding of the hand-tool group; neither is cited as JSON evidence because neither supports a specific facet claim beyond general definitions already covered by `hand_tool_type`'s own plain-English definition.

**Wikipedia, Carbon monoxide poisoning**
https://en.wikipedia.org/wiki/Carbon_monoxide_poisoning
- verbatim: "...residents may temporarily resort to fuel-burning space heaters, stoves, and grills (some of which are safe only for outdoor use but nonetheless are errantly burned indoors)."
- This is the general toxicology fact, not camping-specific; I could not reach a camping- or backpacking-specific safety primer that states the tent/stove case directly (CDC, CPSC, OSHA, NOLS and several park-service pages all returned HTTP 403/404 to both curl and WebFetch — see "Could not reach"). The judgement in `category.json` is marked confidence high anyway because the underlying mechanism (any flame indoors without ventilation risks CO buildup) is well-established and every stove's own instructions carry the same warning, but I note the camping-specific wording is mine, not a quoted source.

### Could not reach

WebSearch reported its session budget exhausted (200 of 200 calls) before I ran a single query for this category, so every source above came from a direct fetch (curl with a browser user-agent, or WebFetch), a known brand/standards URL, or a link found inside an already-fetched page. I was not able to use Internet Archive snapshots productively: the one `jetboil.com` snapshot I found was itself bot-blocked at crawl time (917 bytes). Sites that returned HTTP 403/404/000 to every attempt, with a browser user-agent, across at least two tries each: `rei.com` (REI's own buying-guide pages, which I expected to be the single best primer for this category), `cpsc.gov`, `cdc.gov`, `osha.gov`, `nols.edu`, `inciweb.wildfire.gov`, `www.fs.usda.gov` (specific alert page), `nps.gov` (the one fire-restrictions page I tried; a 404, possibly just a stale URL rather than a block), `counciltool.com`, `bahco.com`, `jetboil.com` (every product page returned an Incapsula block, ~850–950 bytes), `leatherman.com` (loaded, 1.4–1.9 MB, but appears to be a JavaScript SPA with no static product links in the fetched HTML, so I could not reach a specific product's spec table). `fiskars.com`, `victorinox.com` and `gerbergear.com` all 301-redirected without my following the chain further, since I had enough axe/multitool mechanism material elsewhere and did not want to spend more fetches chasing a secondary part of the register. I did not attempt a second WebSearch-dependent pass once the budget message appeared, per the brief's instruction to work from direct fetches instead.

This means the hand-tool side of the register (axes, saws, multitools, fire starters) is sourced more thinly than the stove side: I have good general-mechanism sources (Wikipedia) but no brand spec sheet for a specific axe or multitool's weight, head material or tool count, which is why `hand_tool_type` and `edge_material` are kept narrow (one categorical each) rather than expanded with numeric facets I could not back with two sources.

## Data points used for derived metrics

| Stove | Fuel | Min weight | Boil time, 1 L | Water boiled per 227 g canister | L per oz fuel |
|---|---|---|---|---|---|
| MSR PocketRocket 2 | IsoPro canister | 73 g | 3.5 min | 16 L | 2.0 |
| MSR WhisperLite Universal | white gas | 318 g | 3.5 min | n/a (liquid fuel) | 1.3 |
| MSR WhisperLite Universal | kerosene | 318 g | 4.4 min | n/a (liquid fuel) | 1.6 |
| MSR WhisperLite Universal | IsoPro canister | 318 g | 3.75 min | 15 L | 1.8 |
| MSR WindBurner Personal | IsoPro canister | 433 g | 4.5 min | 18 L | 2.3 |

`fuel_efficiency_l_per_100g = water_boiled_per_canister_l / 2.27` follows directly from the 227 g canister size all three MSR figures are quoted against; I did not need a second source for the arithmetic itself, only for the two input numbers (both are MSR's own spec tables, so this metric currently rests on a single brand's figures across three products — flagged as a limitation, not hidden). `output_w_equivalent = output_btu * 0.293` is the standard BTU/h-to-watt conversion (1 BTU/h ≈ 0.293 W), arithmetic only, not a sourced claim in itself; the facet it converts (`output_btu`) is sourced to OutdoorGearLab.

## Against the existing add-on schema

Add-on read: `supplies/active/add-ons/camping_tool.jsonc` (`fuel_type` enum, `burn_output` free string), composed with `supplies/active/active-standard.jsonc` (`sizing.max_user_weight`, mostly inapplicable here) and `supplies/supplies-standard.jsonc` (`high_signal_markdown`, `sizing.weight`, `sizing.capacity`, `sizing.dimensions`).

| Facet in this doc | In add-on today | Proposed kind under AGENTS.md | Note |
|---|---|---|---|
| `tool_type` | no | vertical anchor | The add-on currently assumes every row is a stove (`fuel_type`, `burn_output`); nothing distinguishes a cookware or hand-tool row. Proposal: a `tool_type` enum as the anchor, with the rest of the add-on's fields conditioned on it. |
| `fuel_format` | partly (`fuel_type` enum `[butane, propane, isobutane, white_gas, wood, alcohol, na, unspecified]`) | hard filter | The add-on's enum is a fuel *chemistry* list; this register's `fuel_format` is the buyer-facing *format* (canister / liquid / two-burner / wood-alcohol-solid) that chemistry rolls up into. Proposal: keep `fuel_type` for chemistry, add `fuel_format` as the derived, buyer-facing filter, or document the rollup rule in the add-on's own comment. |
| `output_btu` | partly (`burn_output`, a free string: "BTU / watts as stated") | quality currency, but low-commitment | A free string cannot be filtered or sorted. Proposal: split into `output_btu_h` (numeric) and, where a brand states watts instead, convert at ingest using this register's own `output_w_equivalent` formula, rather than storing two unit systems. Backfill low (brand spec sheets for car-camping stoves; often absent for backpacking stoves, where it is not worth chasing — see this register's `backfill_note`). |
| `boil_time_1l_min` | no | quality currency | On nearly every backpacking-stove brand page, almost never on a listing. Worth adding as a structured numeric; currently invisible to the pipeline entirely. |
| `water_boiled_per_canister_l` | no | quality currency | Same situation as boil time: on brand pages for canister stoves, feeds the fuel-efficiency derived metric, currently not captured anywhere. |
| `canister_valve_standard` | no | hard filter | Not on listings at all (see Sources); worth a researched field precisely because it is a hard compatibility gate the add-on currently has no way to express. |
| `burner_format` | no | hard filter | Also not a named field anywhere I found; derivable from the product photo/name with low backfill cost, which is a reasonable exception to "visually-derived fields stay out" (AGENTS.md rule 1) since the *name* states it in text even where the photo also shows it. |
| `ignition_type` | no | hard filter (boolean) | Listing titles reliably say "piezo ignition"; cheap to extract, currently not captured. |
| `pot_material` | no | hard filter | Stated in cookware titles directly; currently the add-on has no cookware-specific field at all. |
| `hand_tool_type` | no | vertical anchor (for the hand-tool branch) | Same point as `tool_type`: the add-on has no field distinguishing an axe listing from a multitool listing. |
| `edge_material` | no | category quality currency, low backfill | Named in brand spec sheets ("1055 carbon steel," "420HC") rarely in titles; worth the low backfill cost given the real rust-vs-edge-retention trade-off it gates. |
| `simmer_control` | no | high_signal_markdown, not a structured field | I could not find this reliably stated as a discrete field anywhere, even on brand pages; it is a judgement an assistant or a human would read off `burner_format` plus a specialist review's simmering score, not something to force into a column. Kept as a facet (and a split) in this register because it is genuinely one of the four things an expert asks about, but the add-on schema should not try to store it directly — route it through `high_signal_markdown` instead. |
| `cold_weather_rated` | no | derived, not stored | Same situation: derivable from `fuel_format` and `burner_format` per this register's own backfill note, so the add-on gains nothing by storing it as its own column. |

Add-on fields this register's research found no use for: none outright, since `camping_tool.jsonc` is already minimal (two fields). The main gap is not noise to cut but structure to add: a free-text `burn_output` and a fuel-chemistry-only enum cannot carry what a buyer or an assistant actually needs (format, boil time, fuel efficiency, simmer capability), and the add-on currently has nothing at all for cookware or hand tools despite the category leaf's own name naming both.

## Branches

Each leg below is traced to a specific sentence in the register (`category.json`) or in these notes. Legs I could not trace this way were dropped before writing the JSON, not after.

**Split 1, `tool_type` ("Stove, cookware, or a hand tool like an axe?")**

- when `stove`: then_ask `fuel_format`, `burner_format`, `output_btu`, `ignition_type`, `canister_valve_standard`; makes_irrelevant `pot_material`, `hand_tool_type`, `edge_material`.
  - Each `then_ask` facet is defined, in its own `definition` field, as a property of a stove specifically (fuel, burner mounting, heat output, ignition, cartridge valve); none of them can have a value for a bare pot or an axe, which is the trace for `makes_irrelevant` too: `pot_material`'s definition is "what the cooking vessel is made from," `hand_tool_type`/`edge_material` are defined over axes/saws/multitools/fire-starters, neither of which a stove is.
- when `cookware`: then_ask `pot_material`; makes_irrelevant every stove-only facet (`fuel_format`, `burner_format`, `output_btu`, `boil_time_1l_min`, `water_boiled_per_canister_l`, `ignition_type`, `canister_valve_standard`, `cold_weather_rated`, `simmer_control`) plus the hand-tool facets.
  - Trace: all nine stove facets are defined over "the stove" or "a canister," not a pot; `simmer_control`'s own definition is "whether **the stove** holds a low, steady flame," which is a stove property, not a pot property, so it is irrelevant even though `pot_material`'s `why_experts_care` talks about hot spots during simmering — the facet being asked about is the burner, not the metal.
- when `hand_tool`: then_ask `hand_tool_type`, `edge_material`; makes_irrelevant the same nine stove facets plus `pot_material`.
  - Trace: same reasoning, mirrored; an axe has no fuel, no burner, no pot.

**Split 2, `fuel_format` ("Canister, liquid fuel, two-burner propane, or wood and alcohol?")**

- when `canister`: then_ask `burner_format`, `canister_valve_standard`, `ignition_type`.
  - Trace: all three are properties that only exist on a canister stove (`burner_format`'s values are upright/remote/integrated canister mounting; `canister_valve_standard` is literally about the cartridge; `ignition_type` — OutdoorGearLab's piezo coverage, above — is discussed only for canister stoves in the sources I read).
- when `liquid_fuel`: makes_irrelevant `canister_valve_standard`, `ignition_type`, `burner_format`.
  - Trace: "liquid fuel stoves are known for their field repairability... durability" (OGL, WhisperLite Universal) and neither the WhisperLite nor the XGK EX product pages mention a piezo igniter or a canister valve; liquid-fuel stoves prime and light by hand.
- when `two_burner_propane`: then_ask `output_btu`; makes_irrelevant `canister_valve_standard`, `burner_format`, `cold_weather_rated`.
  - Trace for `output_btu`: this is the one family where brand pages reliably publish BTU (Camp Chef Everest 2X, "Total BTUs 40,000," OGL). Trace for `cold_weather_rated` irrelevant: propane's boiling point is -42.2°C (camping_stove wiki fuel table), far below any realistic camping temperature, so the yes/no split cannot discriminate within this branch — every two-burner propane stove is effectively cold-capable. Trace for `canister_valve_standard`/`burner_format` irrelevant: these stoves run on refillable bulk cylinders, not Lindal-valve cartridges ("refillable gas bottles are heavier, and tend to be used on larger stoves intended for car camping," camping_stove wiki).
- when `wood_alcohol_solid`: makes_irrelevant `canister_valve_standard`, `burner_format`, `ignition_type`.
  - Trace: none of these three fuel types use a gas cartridge, a canister-mounted burner, or (per the camping_stove mechanism text and the Trangia source) a piezo igniter.
  - **Changed 2026-10-25, after the blind check:** `cold_weather_rated` was dropped from this leg's `makes_irrelevant`. The original trace only covered alcohol (Trangia's "preheat below +5°C" workaround); nothing in the sources traces the same irrelevance for wood or solid-fuel tablets, which share this branch value, and I could not find or fetch a source stating wood's or hexamine's cold-weather behaviour specifically. Dropping the entry rather than inventing a trace for wood/solid fuel leaves `cold_weather_rated` still askable on this branch, which is the safer default per the house rule against invented claims.

**Split 3, `simmer_control` ("Just boiling water, or cooking real meals too?")**

- when `yes`: then_ask `pot_material`, `burner_format`.
  - Trace: `pot_material`'s own `why_experts_care` — "titanium... develops hot spots that scorch anything beyond boiling water" — states directly that this facet only matters once you are cooking real food, which is exactly what a `yes` answer means. `burner_format` trace: "Integrated systems boil fastest... but, per MSR's own compatibility notes, often cannot be paired with any pot but their own" (this register's own `burner_format` text, from the MSR FAQ above) and OGL's simmering scores separate integrated/liquid-fuel burners (around 5-6) from open-burner stoves (around 9), so burner format is exactly the lever a "yes" buyer needs to pull.
- when `no`: makes_irrelevant `pot_material`.
  - Trace: same MSR quote in reverse — "titanium pots are ideal for boiling water" — so the hot-spot problem `pot_material` exists to warn about never surfaces for a boil-only buyer.

**Split 4, `cold_weather_rated` ("Cooking below freezing or above 8,000 feet often?")**

- when `yes`: then_ask `burner_format`.
  - Trace: "Canister Liquid Feed: Delivers better cold weather and low-fuel performance" is MSR's own stated reason their remote/liquid-feed burner format exists, directly tying the cold-weather need to which burner format to look for.
- No leg for `no`: a "no" answer simply does not filter anything further; I considered adding `makes_irrelevant: [burner_format]` here but could not trace it — burner format still matters for weight and simmering reasons even in mild weather, so I left this leg with no listed effect rather than invent one.

## Trimmed detail

Sentences or facts cut from capped fields that carried something worth keeping a record of.

- **summary**: an earlier draft named the EN 417/Lindal valve explicitly ("and a canister stove only fits the cartridge its valve was built for") — cut for the 60-word cap; kept in full in `canister_valve_standard`.
- **mechanism.plain**: "which is why MSR sells a canister-liquid-feed hybrid specifically to fix this" (the WhisperLite Universal's own design rationale) — cut for the 150-word cap; kept in `fuel_format`'s `why_experts_care` and the cold-weather tradeoff.
- **`pot_material`.why_experts_care**: MSR's own extra claim that "darker pots (esp. the bottom) are the most fuel efficient. Older cookware, which blackens through use, becomes more efficient than new cookware" — a real, sourced fact, but I could not turn it into a facet or a derived metric (no listing states pot colour or age as a field, and "buy an old blackened pot" is not actionable advice for a new purchase), so it is dropped rather than forced in. Recorded here so it is not lost.
- **`burner_format`.why_experts_care**: the WindBurner's own claim to have "faster boil times" than conventional stoves, which its own measured 4.5 min/L is not actually faster than the open-burner PocketRocket 2's 3.5 min/L — cut because stating the brand's marketing line next to the contradicting number from the same source would read as a contradiction I had not resolved; see the WindBurner source note above for how I resolved it instead (no-wind condition, not a contradiction).
- **Trangia source**: "If you want to reduce the climate impact of your fuel, a spirit stove is another good option. Gas is a fossil fuel, while spirit fuel has a significantly lower climate footprint" — true and sourced, but a single-brand claim with no second source and no obvious facet (it is not a buyer-decidable spec, it is closer to a value judgement), so dropped rather than included as an unsupported environmental claim.

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

Blind checker's report: `check.md`, nine required fixes, most severe a weight-floor contradiction in `mechanism.families`. Fixed against `check.md`'s own evidence wherever that was enough; two fixes (the scope boundary and the branch trace) needed a fresh read of a sibling register rather than a new web fetch. No finding was rejected — all nine required fixes were applied.

1. **`mechanism.families`, "Small canister stoves" weight floor (required fix 1).** Changed "70 to 110 g" to "40 to 110 g" and "boils a liter in 3 to 4.5 minutes" to "3.5 to 4.5 minutes" (the second change follows from correction 3, below, so the family text and the facet it summarizes agree). The register's own cited source, `ogl_backpacking_stoves`, types the BRS-3000T as a small-canister stove weighing 1.4 oz / 39.7 g bare, so the old 70 g floor excluded it by roughly half; 40 g is a safe round floor above the sourced 39.7 g figure, no new citation needed since `ogl_backpacking_stoves` was already in `mechanism.evidence`.
2. **`fuel_format.why_experts_care` weight floor (consistency, not separately numbered by the checker).** Changed "Canister stoves run 70 to 450 g" to "40 to 450 g" for the same reason as correction 1 — the old number would have reintroduced the identical BRS-3000T contradiction one facet over, from the same evidence. Logged here because the checker did not flag this instance directly; I am treating it as the same error, not a new one.
3. **`boil_time_1l_min` range and `why_experts_care` (required fix 2).** The old range (`min: 2, max: 6`) and prose cited "about 2.5 minutes (small canister, half a liter)" as the low end, but every cited OGL figure is measured at 0.5 L, not 1 L, so a 1-liter facet was carrying a half-liter number; the max of 6 min traced to none of the four citations. Rewrote `why_experts_care` to cite only MSR's three 1-liter figures (3.5, 3.75–4.4, 4.5 min), narrowed `range` to `{min: 3.5, max: 4.5}`, and dropped `ogl_backpacking_stoves` from this facet's `evidence` list, since it supplies no 1-liter figure for this facet (it remains cited elsewhere — `simmer_control`, `ignition_type`, the fast-boil tradeoff — so it is not an orphaned reference).
4. **Scope boundary with `cookware-stove-accessories` (required fix 3).** Read `catalog.json`'s two `supplies > kitchen` entries this register had not checked (`cookware-stove-accessories` and `cookware-sets`) and that leaf's own `category.json`. Confirmed its four families (lids/splatter screens on the pan, steamers in the pot, induction discs/diffusers/wok rings under the pan, drip bowls/burner covers protecting the stove) are all home-stovetop accessories, with no camp pot, kettle or mug anywhere in it; `cookware-sets` is general home cookware, also not camping-specific. Added the explicit ownership statement to the scope paragraph above, and narrowed `pot_material`'s `definition` to name "the camp pot, kettle or mug sold to pair with a portable stove" so the facet itself states the boundary, not just these notes.
5. **`cold_weather_rated.source` (required fix 4).** Changed `"researched"` to `"derived"`. Its own `backfill_note` already states the full derivation rule ("liquid_fuel and two_burner_propane are always yes; canister is yes only if burner_format is remote_canister with liquid feed"), which is exactly the schema's definition of `derived`, not something that has to be found.
6. **`burner_format.source` (required fix 5).** Changed `"researched"` to `"listing"` and reworded `listing_field_hint` to lead with the name/title, matching the argument already made in the "Against the existing add-on schema" table below ("the *name* states it in text even where the photo also shows it"). `backfill_note` now covers only the rare listing that omits it from the title.
7. **Single-source judgements for `output_btu` and `water_boiled_per_canister_l`/`fuel_efficiency_l_per_100g` (required fix 6).** Added two judgement entries, matching the pattern `canister_valve_standard` already used: one flagging that `output_btu` rests on one specialist review and one car-camping model (`ogl_camping_stoves`); one flagging that `water_boiled_per_canister_l` and the derived `fuel_efficiency_l_per_100g` rest on one brand's (MSR) own figures across three products, with no independent or competing measurement. Both confidence `medium`, `sources_disagree: false`.
8. **`wood_alcohol_solid` branch, `cold_weather_rated` leg (required fix 7).** Dropped `cold_weather_rated` from this branch's `makes_irrelevant`. The only traced irrelevance was for alcohol (Trangia's +5°C preheat workaround); I looked for but could not fetch a source stating wood's or hexamine solid-fuel tablets' cold-weather behaviour specifically, and was not willing to invent that trace for fuels the existing source does not cover. Dropping the untraced entry (rather than forcing a wrong-shaped claim onto wood and solid fuel) leaves `cold_weather_rated` askable on this branch, which is the safer default. See the updated "Branches" entry below.
9. **`canister_valve_standard.definition` (required fix 8).** Softened "the de facto standard since 1992" to "the common standard since a 1992 specification," matching the medium-confidence hedge the same claim already carries in `judgements`. I looked for a non-paywalled primary EN 417/EN 521 text that would justify upgrading the judgement's confidence instead of hedging the definition, found none reachable, and softened the definition rather than leave the mismatch.
10. **`water_boiled_per_canister_l.backfill_cost` (required fix 9).** Changed `"medium"` to `"low"` to match `output_btu`'s rating, since both describe a figure that sits on the brand spec sheet for most relevant models but essentially never on a retail listing — the checker's finding that these two near-identical situations should carry the same cost.

## Script notes

`validate.py`, `render.py` and `viewer.py` all ran clean on the first validator pass after one self-caught fix (a missing `makes_irrelevant` entry for `simmer_control` on the `cookware` branch of split 1, caught by re-reading my own branch table against the register before the first validate run, not by the validator itself — the validator does not check branch completeness beyond "at least one effect"). No script misbehaviour to report.

**2026-10-25, after the blind-check fixes:** re-ran all three scripts after the ten corrections above. `validate.py` passed clean on the first attempt (13 facets, 4 splits, 14 references); `render.py` and `viewer.py` both wrote clean. No CONTRADICTED claim remains open.
