Assize Index

Research & ranking

How we rank

Every figure is a claim. This page is where we say how the claim is built — so a green cell, a Rank 1, or a “best for …” recipe never has to be taken on faith.

Shared

Axis charts: one axis at a time

Every shelf table ranks on a single open axis at a time (oils: saturated fat, smoke point, and so on; sweeteners: GI, energy, …). Rank 1 is the numerical champion on that axis— highest or lowest depending on your sort — not a health crown.

Refined and unrefined oils stay separate rows. Plant vs animal origin is filterable. Empty cells mean we do not yet have a method-cited source we will put a number on.

Start from The Cooking Oil Nutrition Guide or The Sweeteners Nutrition Guide or The Plant Protein Nutrition Guide (Beans & Tofu).

Color is proportional, not by place

On axis charts, only the open column is colored. Green marks the conventionally healthier end of that axis (for example lower saturated fat, higher smoke point). Red is the other end. Sort order does not flip the colors.

On lifestyle recipes, colored columns are the axes in that recipe — each still uses its own polarity, never a whole-row “healthy” traffic light.

Sources & tiers

Every number carries a source and a year. When readings disagree, the highest tier wins as primary; others stay on hover and on each item page.

Smoke point is stored as a range plus method limits. Fatty acids lean on USDA FoodData Central and other citable lab sources. The numeric catalog, priority ladder, and a separate interpretation shelf (Examine, Harvard, FDA fish advice, and so on): Sources.

Cooking oils

Why columns sit in this order

After # and Cooking oil, columns run Saturated → Monounsaturated → Polyunsaturated → Omega-6 → Omega-3 → Smoke point.

Fatty acids come first as a saturation ladder, then the PUFA pool splits into ω-6 / ω-3. Smoke point is last: a temperature-ceiling auxiliary, not the hero heat signal.

Weighted recipes (published)

Everyday “best for …” ranks use named recipes with published decimal weights and smoke gates. Scoring: normalize each axis (min–max), flip when the recipe prefers low, then weighted sum. Missing a required axis, or failing a smoke gate → unranked. Rank 1 is the open-rule champion — not a clinical crown. No sitewide single “best oil.” Not medical advice.

Surfaces: Everyday Sauté · High heat & Frying · Salad & Cold · Heart Healthy · Low Smoke / Lungs · Ancestral & Primal.

Best cooking oil for high heat

id high-heat · v2026-09-21

Cold-like fat lean for the eater, total PUFA ↓ for heat stability, modest smoke headroom after a hard gate.

AxisPreferWeightRole
Polyunsaturatedlow ↓0.35Stability core — total PUFA ↓ (chemical heat stability; includes ALA, not linoleic-only).
Monounsaturatedhigh ↑0.27Cold-like eater lean + heat-stable MUFA / high-oleic character.
Saturatedlow ↓0.24Cold-like eater lean (guideline sat ↓). Pure thermal-stability (SFA ↑) lives on the separate thermal-stability recipe.
Smoke pointhigh ↑0.14Modest temperature-ceiling residual after the hard gate — more headroom still helps at extreme heat; high smoke ≠ chemically stable.

Smoke gate: midpoint ≥ 200 °C — Editorial high-heat headroom gate (sear / stir-fry / hot wok) — not a legal standard.

Ancestral & primal fats — pure thermal stability (chemistry)

id thermal-stability · v2026-09-21

Keto / carnivore / ancestral hard fats: SFA ↑, total PUFA ↓, MUFA ↑ — maximum chemical stability on the open rule. Not mainstream sat guidance.

AxisPreferWeightRole
Saturatedhigh ↑0.42SFA ↑ — most heat-hardy fatty-acid class (no double bonds).
Polyunsaturatedlow ↓0.40Total PUFA ↓ — fewer double bonds → slower oxidation under heat.
Monounsaturatedhigh ↑0.18MUFA ↑ — secondary heat-stable class (one double bond); high-oleic character.

Smoke gate: none.

Best cooking oil for salad and cold dishes

id salad-cold · v2026-09-20c

Cold plates: MUFA-forward, lower sat, modest ALA, light linoleic balance.

AxisPreferWeightRole
Monounsaturatedhigh ↑0.40Cold use — MUFA-rich liquid oils as everyday pattern.
Saturatedlow ↓0.30Replace-sat guidance when oil is the dressing fat.
Omega-3high ↑0.20Plant ALA present in some oils; modest positive signal.
Omega-6low ↓0.10Light balance vs linoleic-heavy sole pours — not anti-PUFA.

Smoke gate: none.

Best everyday cooking oil

id everyday-pan · v2026-09-21

Weeknight default: cold-like lean, total PUFA ↓ under gentle heat, soft smoke gate + tiny smoke residual.

AxisPreferWeightRole
Polyunsaturatedlow ↓0.35Stability core — total PUFA ↓ under everyday heat.
Monounsaturatedhigh ↑0.30Cold-like default — unsat / oleic-forward kitchen oil.
Saturatedlow ↓0.27Cold-like default — guideline lean on sat fat.
Smoke pointhigh ↑0.08Tiny residual after the soft gate — eligibility matters more than chasing ultra-high smoke for weeknight pans.

Smoke gate: midpoint ≥ 160 °C — Editorial everyday sauté / roast gate — softer than high-heat; not a legal standard.

Oils by heart-lean fat profile

id heart-lean · v2026-09-20c

Composition-only: sat ↓ heaviest, then MUFA ↑, modest ALA ↑, light linoleic ↓.

AxisPreferWeightRole
Saturatedlow ↓0.45Strongest guideline “limit saturated fat” signal.
Monounsaturatedhigh ↑0.35Replace sat with unsat; oleic-forward oils.
Omega-3high ↑0.12Modest plant ALA signal in the oil catalog.
Omega-6low ↓0.08Small balance term only — not anti-linoleic ideology.

Smoke gate: none.

Oils for the cook’s air (not the plate)

id chef-air · v2026-09-20c

For the person at the stove: smoke point only — a proxy for less visible fume onset, not a cancer score.

AxisPreferWeightRole
Smoke pointhigh ↑1.00Sole axis — proxy for more headroom before continuous visible smoke / heavy fume onset at a given pan temp.

Smoke gate: none.

Ship bar & missing data

A row ships (or stays listed) only when all five fatty-acid axes have a cited reading: saturated, monounsaturated, polyunsaturated, linoleic (omega-6), and ALA (omega-3). A USDA 0 counts. Seed or nut kernels are not proxies for oil composition.

Smoke point is optional. Empty stays — until AOCS Cc 9a-48 (or an equal lab method) is on file with a source and year. Blog or wiki temperature charts do not count. Oils that fail the fatty-acid bar are soft-delisted until filled — thin data does not stay in the table.

Refined and unrefined may share one USDA fatty-acid record when the agency does not split them; that is noted on Sources. Empty smoke alone is not a reason to delist.

Sweeteners

Early shelf, Everyday Health first

/sweeteners (Ultimate) opens on Everyday Health — the most common day-to-day sweetening use — not on a single axis. Columns after Kind still run GI → Energy → Carbohydrate → Sugars. Dedicated axis URLs like /sweeteners/gi carry chart-search intent. On the GI chart, lower ranks first; substitutes stay on the shelf for comparison even when a classical Atkinson GI row does not exist: high-intensity sweeteners are assigned GI 0 (no available carbohydrate) with that limitation on the cell; allulose follows FDA’s negligible-response / 0.4 kcal/g labeling guidance. Empty cells stay empty when we still lack a cite.

Sugars and substitutes share one table; filter All · Sugars · Substitutes. Each name opens an item page with the same sourced cells. Rank 1 is the open-rule champion on the open recipe or axis, not medical advice. Open The Sweeteners Nutrition Guide.

Why we do not rank by glycemic load (GL)

We do not publish a GL axis. This shelf is a per-100 g ingredient catalog — GL needs a chosen serving of available carbohydrate, which invents a second product or misleads on high-intensity rows. Lifestyle ranks use GI + a published fructose / hepatic rule instead. See fructose / liver veto. Not medical advice.

Fructose, the liver path, and why we veto

Low GI is not a hepatic free pass: high-fructose rows can look green on GI while still loading the liver. Overall uses two published layers (decimals are ours). Not medical advice; Rank 1 remains the open-rule champion only.

Lifestyle scores

/sweeteners/for/* uses Base − Penalties + Bonuses (0–100), not a benefits pie. Chips: Everyday Health, Weight goals, Diabetic-friendly, Minimally processed, Easy on the liver. Decimals are editorial — published here. Not medical advice.

Overall Base: GI term (GI/100)×50, energy (kcal/400)×10, fructose −(share%/50%)×15 when share ≤ 50%; above 50% veto max 30 and bonuses void. Osmotic / polyol −6. Mechanism bonuses capped; minerals ≤ 2. Chemical-synthesis rows hard-gated. See also fructose / liver veto.

Fat loss: 100 − (kcal/400)×45 − (GI/100)×35 − (fructose share)×15 + bonuses ≤ 15 (no Overall veto). Diabetic / Ancestral: filter then Overall score (GI ≤ 55; process_id = physical_reduction). Liver lean: Overall base only — no osmotic penalty, no bonuses. Detail: docs/sweetener-weight-recipes.md.

Everyday Health

id overall · score overall

Day-to-day health ranking for kitchen sweeteners — glucose rise, fructose load, and a light energy slope. Weights on Methods.

GI leads, then a fructose rule (hard cap when free fructose runs very high), with a light energy slope. Osmotic gut risks take a modest hit; small cited bonuses can help. Synthetics stay off this rank.

Weight goals

id fat-loss · score fat-loss

When calories and glucose rise matter most for weight goals — energy density first, then GI. Weights on Methods.

Energy density weighs heaviest, then GI; fructose is a linear hit with no Everyday Health veto. Cited mechanism bonuses can help a little. Synthetics stay off this rank.

Diabetic-friendly

id diabetic · score overall

A friendly reference list for diabetic readers: cited GI ≤ 55, then the Everyday Health rank. Not medical advice.

Filter first (cited GI ≤ 55 · not fructose-vetoed), then Everyday Health. Reference only — not medical advice. Synthetics stay off this rank.

Minimally processed

id ancestral · score overall

Sweeteners that stay closer to boil, dry, or concentrate — not ultra-processed isolates — then Everyday Health rank. Weights on Methods.

Filter: boil / dry / concentrate only (not ultra-processed isolates or reconstituted white sugar). Score = Everyday Health.

Easy on the liver

id liver · score liver

Same everyday health base with the liver path in front — fructose rule kept, gut and bonus noise stripped. Weights on Methods.

Everyday Health base only — GI, light energy, fructose rule with hard cap when free fructose runs very high. No osmotic penalty; no bonuses.

Plant Protein (Beans & Tofu)

What this shelf is

Everyday plant protein as most people mean it: beans (including peanut), lentils, chickpeas, tofu, tempeh, edamame, and labeled concentrates. Many tree nuts and seeds are high in protein too — they are not on this shelf; a future Nuts shelf covers them. Peanut is a legume, so it belongs here; that Nuts shelf may also list peanut with the same footnote (* peanut is a bean). Dual-list is allowed when the note stays honest. No g/100g cutoff invents the boundary; the Beans & Tofu label does.

/plant-proteins (Ultimate) opens on Everyday protein (first lifestyle chip). Axis charts live on /plant-proteins/{axis}, including protein. Table columns run Protein → Fiber → Carb → Sodium → Energy → Saturated, plus cited Benefits & risks (fermented / minerals can score when a recipe publishes that weight). The top place on a list is whoever wins that published mix — not medical advice. Amino-acid scores and “complete protein” marketing claims are not scored axes in V1. Risks do not restate open axes (sodium and saturated fat stay in their columns).

Why we do not write “live cultures” as a blanket label: fermentation can be real while CFU claims are not. Tempeh is Rhizopus-fermented and almost always cooked — heat typically inactivates microbes; literature more often frames cooked tempeh as a paraprobiotic / process food (e.g. Nurkolis et al. 2023). Natto is Bacillus subtilis–fermented and usually eaten without a second cook, so the live-microbe story is stronger — but we still do not invent a yogurt-style CFU count. Both earn a Fermented benefit chip axes miss; natto also carries a cited Vitamin K2 (MK-7) note from the fermentation literature (USDA SR vitamin K on that row is phylloquinone, not a separate MK-7 cell). Lifestyle recipes publish the fermented-process bonus decimals below.

Open The Plant Protein Nutrition Guide (Beans & Tofu).

Form honesty — plate vs concentrate

All cells are per 100 g. Powder concentrates sit far above cooked legumes on protein density by design — they are opt-in via Kind = Concentrates. The default table view is All foods (whole beans and prepared tofu foods — not powders) so protein sort is not topped by shake powders. Kind also splits Whole foods (intact beans and seeds, including edamame and soybeans) from Prepared (tofu, tempeh, and kitchen soy foods). Concentrates stay opt-in. Canned drained solids often carry high sodium next to unsalted cooked rows; that contrast lives in the name and the sodium axis. Tempeh fiber: USDA SR leaves the cell blank. Vital et al. 2018 (PMC6163864) measured AOAC total dietary fiber on lyophilized soybean tempeh at 18.96 g/100 g (16.8 insoluble / 2.18 soluble) with moisture 2.57%. We restore to wet basis with the same USDA SR tempeh water we already use on that row (59.6 g/100 g): 18.96 × (100 − 59.6) / (100 − 2.57) ≈ 7.9 g/100 g. The formula and lab-sample caveat sit on the number’s * hover. A Lightlife wet label (~7.1) stays as a second reading. Crude fiber assays (~1–3 g) under-count and are not used.

Concentrates stay in the catalog so the numbers remain inspectable. This shelf is still Beans & Tofu — not a supplement aisle. All six lifestyle doors hard-gate concentrates, deep-fried tofu, and UPF meat analogs. Axis charts can still show concentrates via Kind; the top place on a plate list will not be a shake powder.

Soy milk (unsweetened) is in — primary row is brand-named Silk (USDA SR), which reports fiber; a generic shelf-stable unsweetened assay sits as Also reported (fiber often 0). Almond, oat, and other plant milks stay off this shelf. Per 100 g it is a dilute drink, so protein density will not match tofu.

Beyond Burger and Impossible Burger are in as branded meat-analog snapshots (USDA Branded Foods) so people can inspect the numbers next to beans and concentrates. They carry an ultra-processed analog caution; recipes churn, so the FDC date matters. Everyday plate lifestyle ranks should hard-gate them — this shelf is still Beans & Tofu, not a fake-meat aisle.

Lifestyle recipes

/plant-proteins/for/* uses weighted min–max scores (0–100) on the filtered list. Ultimate opens on Everyday protein. Chips: Everyday protein, Keto & low carb, Lean macros, Whole & ancestral, Gut & microbiome, Heart healthy. Decimals below are editorial — published here. Not medical advice.

Hard gates (most doors): kind = concentrate; risk id deep-fried; risk id ultra-processed-analog. Keto & low carb also unranks when net carbs (max(0, carb − fiber)) > 10 g/100 g. Whole & ancestral omits non-whole kinds before scoring (Everyday weights). Fermented metric: natto 1.0, tempeh 0.65, else 0 — process bonus, not a live-CFU claim. Everyday / Whole may add a tiny mineral bonus (≤ 0.02 on the 0–1 sum before ×100).

Best plant protein for everyday eating

id everyday · v2026-03-23

Protein and fiber up front; sodium and energy slope down; light carb brake; tiny fermented and mineral bonuses.

Most-common kitchen use for this shelf. The top place is whoever scores highest on this published mix — not medical advice. Powders, deep-fried tofu, and UPF meat analogs do not place.

MetricPreferWeightRole
proteinhigh ↑0.32Plate protein density per 100 g.
fiberhigh ↑0.22Dietary fiber per 100 g.
sodiumlow ↓0.18Sodium load - canned packs climb.
energylow ↓0.14Light energy density for everyday plates.
carbohydratelow ↓0.10Light starch brake - not a keto veto.
fermentedhigh ↑0.04Small fermented-process bonus (natto > tempeh). Not a live-CFU claim.

Best plant protein for keto & low carb

id keto-low-carb · v2026-03-23

Net carbs (carb - fiber) lead; protein next. Starch beans above the net-carb gate are unranked.

Kitchen low-carb plate filter - not a ketogenic diet prescription. Net carbs floor at 0. Gate at 10 g/100 g net keeps lupini / firm tofu / edamame in and typical starch legumes out. Not medical advice.

MetricPreferWeightRole
net-carbslow ↓0.55Net carbs = max(0, carb - fiber) per 100 g.
proteinhigh ↑0.35Keep plate protein in view after the carb filter.
fiberhigh ↑0.10Fiber still present - helps net-carb math.

Best plant protein for lean macros

id lean-macros · v2026-03-23

Protein per calorie leads; absolute protein and a carb brake still matter.

Deficit / cut-minded density. Peanuts and fried tofu sink on energy; firm tofu and tempeh climb. Not medical advice.

MetricPreferWeightRole
protein-densityhigh ↑0.55Protein (g) / energy (kcal) per 100 g.
proteinhigh ↑0.20Absolute protein still matters on the plate.
carbohydratelow ↓0.15Soft carb brake beside the density ratio.
energylow ↓0.10Extra energy punishment for oil-dense rows.

Best plant protein for whole & ancestral

id whole-ancestral · v2026-03-23

Whole beans and seeds only - then Everyday protein weights.

Filter-first door (kind = whole). Tofu, tempeh, natto, soymilk, concentrates, and UPF analogs are omitted. Remaining rows use Everyday weights. Not medical advice.

MetricPreferWeightRole
proteinhigh ↑0.32Plate protein density per 100 g.
fiberhigh ↑0.22Dietary fiber per 100 g.
sodiumlow ↓0.18Sodium load - canned packs climb.
energylow ↓0.14Light energy density for everyday plates.
carbohydratelow ↓0.10Light starch brake - not a keto veto.
fermentedhigh ↑0.04Small fermented-process bonus (natto > tempeh). Not a live-CFU claim.

Best plant protein for gut & microbiome

id gut-microbiome · v2026-03-23

Fiber leads; fermented-process bonus next; protein still present.

Fermented = process bonus (natto stronger than cooked tempeh) - not a live-CFU probiotic claim. High-fiber beans climb as prebiotic substrate. Not medical advice.

MetricPreferWeightRole
fiberhigh ↑0.50Dietary fiber as prebiotic substrate.
fermentedhigh ↑0.35Fermented-process score: natto 1.0 / tempeh 0.65 / else 0. Not CFU.
proteinhigh ↑0.15Keep plate protein in view.

Best plant protein for heart health

id heart-healthy · v2026-03-23

Sodium and saturated fat slope down; protein still present.

Lower sodium and saturated fat on the published mix. Deep-fried forms do not place. Canned chickpeas usually lose on sodium. Not medical advice.

MetricPreferWeightRole
sodiumlow ↓0.45Sodium per 100 g - unsalted cooked beans lead.
saturatedlow ↓0.35Saturated fat per 100 g.
proteinhigh ↑0.20Keep plate protein in view.

Appendix

When smoke disagrees with popular charts

Smoke cells are method-cited lab readings (usually AOCS Cc 9a-48). Brand labels and wiki temperature lists do not overwrite a lab primary. Rule: cite + method beats a chart without a method. Empty stays empty until we have a reading we will stand behind.

Catalog backlog

Editorial inventory of empty smoke cells and oils / sweeteners still waiting on composition cites — not a ranking rule.