Device Architecture Taxonomy (TREF-0004)
Defines how this archive classifies thermal extraction devices so that hundreds of device pages describe the same engineering reality with the same words. The model is the governing standard for devices/TED-* records; device pages are expected to map their specification tables and tags onto the axes below.
Design rule: orthogonal axes, not one “type” field
A device is not one exclusive type. Classification is expressed across five orthogonal axes, each with its own controlled vocabulary. A record may carry multiple values on an axis only where the hardware genuinely supports them (e.g., hybrid heating, dual power). No single frontmatter or prose field may substitute for the axes.
| Axis | Question it answers |
|---|---|
| Heating mechanism | How thermal energy reaches the load |
| Heat-generation mechanism | Where the thermal energy originates |
| Delivery mode | How the user draws the resulting aerosol |
| Operating mode | The usage pattern the hardware supports |
| Power | Where the energy input comes from |
The machine-readable vocabulary lives in metadata/device-taxonomy.json and is enforced by scripts/audit_device_taxonomy.py. Migration guidance for existing records is in docs/device-taxonomy-migration.md.
1. Heating mechanism
How heat is transferred to the load. Distinct from heat generation (where the heat originates): a torch (heat-generation: direct flame) can deliver heat by convection (heating mechanism).
| Value | Definition | Archive example |
|---|---|---|
conduction |
Load contacts a heated surface or thermal mass; heat transfers by contact | Vapman pan, Mighty+ chamber, IOLITE heater pin |
convection |
Heated air/gas passes over the load; no required contact | TinyMight 2, VapeXhale Cloud EVO, ball-vape heads |
hybrid |
Both conduction and convection contribute materially; use only when the mechanism is genuinely mixed or the manufacturer documents a ratio | Arizer Solo III (≈80/20 per manufacturer), G Pen Elite II |
radiant |
Thermal radiation (infrared/visible) is the dominant transfer path | Magic-Flight Launch Box (infrared component), halogen-lamp desktop heaters |
Rules:
hybridis a deliberate combination term — do not tag a devicehybridplus a single dominant mechanism unless the manufacturer states a ratio.- Do not use
conductionandconvectiontogether on the same record to mean “hybrid”; use the singlehybridvalue (contradiction rule TAX-01). radiantmay co-occur with another mechanism where documented (Launch Box: conduction + infrared).
2. Heat-generation mechanism
Where the thermal energy originates — the heating element or energy conversion inside the device. This axis is frequently confused with heating mechanism; keep the two separate.
| Value | Definition | Archive example |
|---|---|---|
resistive |
Electrical current through a resistance element | TinyMight stainless spiral, E-Nano ceramic rod, VapeXhale ceramic element |
induction |
Electromagnetic induction heats a susceptor/cup (no resistive element in the vapor path) | Dr. Dabber Switch² quartz induction cup |
direct flame |
Open flame contacts or is applied to the load path | Vapman pan, Lotus plate, DynaVap cap |
indirect flame |
Combustion heat is transferred through a heat exchanger; no flame contacts the load path | IOLITE/WISPR catalytic butane heat exchanger |
halogen |
Halogen lamp (radiant output) | Halogen-lamp desktop units |
cartridge heater |
Cylindrical cartridge-style resistance heater embedded in a heat block | Log-vape heater cores (E-Nano, Woodscents) |
coil |
Exposed heating coil (e.g., enail coil) wrapped around a head/thermal mass | FlowerPot 20 mm coil, F16 exposed coil, ZenLeaf 25 mm axial coil |
other |
Any mechanism not covered above; describe explicitly in the record | — |
Rules:
direct flameandindirect flameare mutually exclusive (contradiction rule TAX-02).induction(heat-generation) is distinct frominduction heater(a power source, axis 5): the Switch² generates heat inductively inside the device; an induction heater is an external appliance that powers a flame-style device (DynaVap + Ispire Wand).
3. Delivery mode
How the user draws the aerosol from the device.
| Value | Definition | Archive example |
|---|---|---|
direct draw |
Mouthpiece on the device body; user inhales directly | Mighty+ (cooling unit mouthpiece) |
stem |
Removable glass/metal stem that also serves as the draw path and often the load carrier | Arizer Solo III glass aroma tubes, E-Nano glass stems |
whip |
Flexible hose from the heater to the mouthpiece | Desktop whip units (e.g., VapeXhale whip use, 7th Floor family) |
balloon |
Valve bag inflated by forced air | Storz & Bickel Volcano family |
injector |
Heater head injects into a bowl seated in a 14/18 mm joint; draw through a water piece | FlowerPot B0/B1/F16 + injector bowl |
water-tool |
Aerosol passes through water filtration as part of the primary path | VapeXhale Cloud EVO + Hydratube, e-rigs (Dr. Dabber), ZenLeaf head + water piece |
A single device may support several delivery modes (e.g., Cloud EVO: whip or water-tool). Record each supported mode explicitly.
4. Operating mode
The usage pattern the hardware is designed for.
| Value | Definition | Archive example |
|---|---|---|
session |
Heater maintains temperature continuously for a drawn-out session | Mighty+ Session mode, Arizer Solo III Session mode |
on-demand |
Heat is applied only during the draw/activation, then idles or cools | TinyMight on-demand, Magic-Flight draw-actuated, DynaVap thermal-cycle |
manual thermal cycle |
User controls the heating cycle manually with an external heat source (torch) and/or a passive indicator | Vapman, Lotus, DynaVap click cap |
continuous desktop |
Designed for continuous/near-24-7 powered operation on a desktop | E-Nano log, ball-vape head + PID station |
Rules:
manual thermal cycleis the operating-mode term for torch-driven devices; do not use “analog” as a synonym (analog describes the control interface, not the operating mode).- A device can support multiple operating modes (Solo III: Session + On-Demand).
manual thermal cyclenormally excludessessionunless the manufacturer documents a session-style usage (contradiction rule TAX-03).
5. Power
The energy input that drives the device.
| Value | Definition | Archive example |
|---|---|---|
battery |
Internal or user-replaceable cells | Solo III, TinyMight 2, Magic-Flight AA cells |
mains |
AC wall power directly | E-Nano, VapeXhale Cloud EVO, Volcano |
external PID/controller |
Mains-powered external temperature controller (PID) drives the heater | FlowerPot coil + CH/Auber PID, ZenLeaf Whisper BYO-PID |
torch |
External butane jet/torch lighter provides the heat input | Vapman, Lotus, DynaVap |
induction heater |
External induction appliance heats the device’s susceptor (the device itself carries no power) | DynaVap + Ispire Wand / YLL IH |
Rules:
torchandinduction heatermay both apply to the same device (DynaVap supports both) — record both.batteryandmainsare mutually exclusive as primary power for a single unit unless the manufacturer documents dual power or pass-through operation (contradiction rule TAX-04).
Ball-vape component modeling
Ball vapes are modular. A retailer bundle is not a device model. Before creating a devices/TED-* entity for a ball-vape SKU, assign its component role:
| Component role | Definition | Archive example |
|---|---|---|
complete system |
A functioning whole (head + coil + PID + bowl + stand) sold as a unit | ZenLeaf Nova base station (integrated PID) — a system, not a head |
heater head |
The thermal-mass body that holds balls and mates to a coil | FlowerPot B1, B0/B-Zero, F16 head assemblies |
coil |
The heating coil (20 mm enail, 25 mm axial, 16 mm, XLR variants) | FlowerPot 20 mm coil, ZenLeaf 25 mm axial coil |
PID controller |
The external or integrated temperature controller | CH PID, Auber RDK 300A/300B, ZenLeaf built-in PID |
bowl |
The load container the head injects into (injector bowl, Shovelhead bowl, diffuser bowl) | Shovelhead bowl, injector bowls, Matrix bowl |
stand |
Base/holder for the head, with or without heating | ZenLeaf base stations, head stands |
bundle |
Retail SKU combining components/heads; never a unique model | “FlowerPot B2 bundle”, “B-Zero vaporizer bundle” |
Rules:
-
A bundle is not an entity. A retailer bundle that repackages an existing head+coil+PID+bowl is a SKU of the existing model, not a new
devices/TED-*record (rule TAX-05). Reference the bundle only as a source note on the model’s page. -
Heads, coils, PIDs, bowls, and stands are components, not standalone devices. Create a
TED-*entity for a component only when it is a substantive, separately-purchasable platform (e.g., the ZenLeaf Nova is a system/station; the B1 is a heater head). Otherwise record the component in the parent system/head’s specification table. -
When a head entity exists, its spec table names the coil/PID/bowl it mates with (e.g., “20 mm enail coil + external PID controller (CH or Auber)”) rather than implying they are part of the head.
-
A page for a head must say “heater head” explicitly in its family/summary so it is not mistaken for a complete system.
-
A marketing name does not promote a component to a model (rule TAX-06). Manufacturers rename and relaunch parts. If a SKU is currently sold as a component of a modeled head or system, it does not get its own
devices/TED-*record — even if it once carried its own product name, its own page, and its own price. Record it as a spec-table row on the records that use it, and narrate the former name as a lineage stage on the manufacturer or family-lineage page.The discriminator is what the listing sold, not what it was called: a listing offering the parts needed to complete a working head (for example a diffuser plus a top or nut) is an assembly and may earn a record; a listing offering only an insert that drops into a head the buyer already owns is a component. Apply the test to the listing as it stood, then check whether the part still ships inside a current product.
Worked example: Cannabis Hardware part 3408 was sold as the “Screen Baller”, a named generation in the manufacturer’s own lineage blog. Its listing contained only the diffuser and a screen — no top — and the same part ships today inside the B1 and B2 heads as the “22mm Standard Diffuser”. It is a component. Part 3405, the “Baller Head Assembly”, sold top-with-dish variants on the same listing and is discontinued; it is a heater head and holds a record.
Family lineage — the worked example
The component model above is abstract by design; it has to classify a torch-heated pan and a mains-powered base station with the same five axes. Cannabis Hardware Family Lineage (TGDE-0006) is the reference application of it: a single manufacturer’s FlowerPot, ZenLeaf, and Airstream catalog mapped end to end, with every modeled record assigned a component role and every deliberately unmodeled SKU recorded as a component or a bundle rather than silently omitted.
Consult it when a new record raises one of the recurring questions this standard answers in the abstract:
- Whether a SKU is a model, a component, or a bundle — the guide shows the call already made, with the manufacturer evidence behind it.
- How a head relates to the station that heats it, and how both relate to the coil, PID, and bowl named in their specification tables.
- How a generational chain is expressed —
supersedesbetween records, with approximate or unpublished dates labelled rather than invented.
A family index of this shape is the expected companion to any manufacturer whose catalog grows past a handful of interdependent records. The lineage guide is the pattern to copy.
Reusable terminology
Device pages must use the following terms consistently:
| Use | Instead of |
|---|---|
| Heating mechanism (axis 1) | “type of vape”, “vaporization method” |
| Heat-generation mechanism (axis 2) | “heating style”, “heater type” conflating axes 1–2 |
| Heater head / head assembly | “the vape”, “the device” for the thermal mass alone |
| Coil (20 mm / 25 mm axial / 16 mm) | “heater”, “element” (ambiguous with axis 2) |
| PID set-point control | “digital temp dial” for an external controller |
| Injector bowl / diffuser bowl / Shovelhead bowl | “bowl” alone when the interface matters |
| Base station / stand | “the base” conflated with the head |
| Bundle (SKU) | “model”, “unit” for a repackaged kit |
| Manual thermal cycle | “analog mode” (analog describes the control interface) |
| Thermal media / balls (ruby, sapphire, quartz, SiC) | “beads” unless the manufacturer uses that word |
| Enail coil | “coil” when the context is a PID-driven heated coil |
Relation conventions
Boris relations on device pages follow the established kinds (relates_to, supersedes, depends_on, implements):
- Device → manufacturer:
relates_to=manufacturers/TMFR-XXXX. - Successor models:
supersedes=devices/TED-XXXX(newer → older). - Family/sibling links:
relates_to=devices/TED-XXXX. - Component relationships (head ↔ system/station) are expressed with
relates_toplus explicit terminology in the spec table; do not invent relation kinds.
Validation
scripts/audit_device_taxonomy.py enforces the vocabulary and the contradiction rules TAX-01…TAX-05 against content/devices/*.md. See metadata/device-taxonomy.json for the machine-readable rule set and docs/device-taxonomy-migration.md for the state of existing pages.
TAX-06 is a review rule, not a machine check. Deciding whether a SKU is currently sold as a component of another product requires reading the manufacturer’s listing, so no audit can enforce it. It is applied when a record is created or revised, and any record it excludes is written into the family-lineage page’s “deliberately not modeled” table so the decision is auditable by a reader rather than by a script.
The record-completeness floor
A standard most records do not implement is not a standard. Before 2026-08-08 this document described five axes while no record in the corpus carried a tag on all five — heat generation was absent from 44 of 45 records and power from 43. The gap was invisible because nothing measured it.
scripts/audit_record_completeness.py now measures it, and bin/validate_graph.sh enforces
it on every build:
| Rule | Severity | Requirement |
|---|---|---|
| REC-01 | error | at least one tag from every axis defined in metadata/device-taxonomy.json |
| REC-02 | error | a Part Number spec row — the manufacturer’s identifier, or an explicit statement that none is published |
| REC-03 | error | a Sources section citing at least one primary-source URL; a footnote whose only provenance is the internal research corpus does not count |
| REC-04 | warning | a safety section |
| REC-05 | warning | a component-role or form-factor row |
| REC-06 | warning | more than one distinct source domain |
The severity split is deliberate. REC-01 to REC-03 are objective and mechanically decidable, so they block a build. REC-04 to REC-06 depend on how much a manufacturer chose to publish, so they inform without failing a record that is honestly thin.
Two consequences worth stating plainly. An absent part number is recorded, not omitted — “Not published by the manufacturer” satisfies REC-02, because the reader learns the identifier does not exist instead of wondering whether the archive forgot. And a record may not rest on the internal research corpus alone: dossier provenance is a pointer to where research happened, never a citation a reader can follow.
Related pages
- Physical Property Data Standards (TREF-0001)
- Evidence Labels and Claim Grammar (TREF-0003)
- Cannabis Hardware Family Lineage (TGDE-0006) — reference application of this standard
- Devices catalog
Derived navigation generated from structured relationships. Links are labeled by edge class and evidence trace; derived links are navigation, not primary assertions.