Cross-Standard Ingredient Mapping Index
Status: PLANNED (2026-07-19)
The target file cross_standard_ingredient_index.json does not exist in the repository. An earlier version of this document cited it (and a dead absolute path /mnt/zspace/opwen/...) as if built; that was wrong. What exists today are the three verified source datasets below. The category-level crosswalk is a draft to be generated from them.
Data Sources (all verified 2026-07-19)
| Standard | Data Type | Count | File | Purpose |
|---|---|---|---|---|
| AAFCO Ch6 (2024 OP) | Ingredient definitions | 650 | pdf-parsed/us-2026/aafco_ch6_2024_parsed.json | US: What is this ingredient? |
| EU FMR Reg68 | Feed products | 4,704 | pdf-parsed/eu_fmr_products_20260714_v4.json | EU: What products are registered? |
| CFIA FeedList | Registered feed descriptions | 7,366 | pdf-parsed/ca-2026/cfia_approved/cfia_approved_ingredients.json | Canada: What livestock feeds are registered? |
| Total | 12,720 |
EU FMR Category Codes (verified counts)
1_Cereals 185 · 2_Oil_seeds 245 · 3_Legumes 309 · 4_Tubers 311 · 5_Other_seeds 101 · 6_Forages 815 · 7_Other_plants 327 · 8_Milk 118 · 9_Animal_products 362 · 10_Fish 85 · 11_Minerals 526 · 12_Fermentation 156 · Unknown 1,164
AAFCO Ch6 2024 Chapter Groups (verified counts; replaces an earlier mislabeled table)
| Group | Chapters | Count |
|---|---|---|
| Cereal grains & co-products | 12,42,69,75,78,93,48 | 79 |
| Brewers/distillers co-products | 15,27 | 16 |
| Oil-seed & plant-protein meals | 24,71,84 | 60 |
| Fish & marine | 51 | 18 |
| Milk products | 54 | 40 |
| Molasses & beet products | 63 | 17 |
| Minerals | 57 | 139 |
| Fats & oils | 33 | 21 |
| Fermentation products | 36 | 15 |
| Yeast | 96 | 13 |
| Vitamins | 90 | 42 |
| Non-protein nitrogen | 66 | 5 |
| Enzymes | 30 | 3 |
| Chemical preservatives | 73 | 36 |
| Pomace/forage/screenings/misc | 40,45,81,60 | 62 |
| Citrus co-products | 21 | 3 |
| Special-purpose & color additives | 87 | 53 |
| Parse artifacts & tentative | 16,18,22,70,74,T-codes | 28 |
Note: classic AAFCO chapter 9 (animal protein products) is absent from the parsed 2024 set.
Species Mapping
- AAFCO profiles: dog, cat
- EU FMR species: Dogs, Cats, Dogs and Cats, Ruminants, Dairy cows, Calves, Piglets, Lambs, Kids, Equidae, Equines, Mammals
- CFIA species: livestock only (Layer/Broiler Chicken, Turkey, Swine, Dairy, Beef, Sheep, Fish, Minor Species, Livestock and Multiple Species) — no dog/cat
Why Not 1:1 Mapping?
These 3 standards answer different questions:
- AAFCO Ch6 = "What IS this ingredient?" (definition)
- EU FMR = "What products are on the market?" (products)
- CFIA = "What livestock feeds are registered?" (commercial registry)
Mapping at ingredient level would require manual curation (not feasible at scale). Mapping at category level provides most of the value with a fraction of the effort.
Next Steps
- Generate
cross_standard_ingredient_index.jsonfrom the three files above (category-level crosswalk, FMR 12 named codes ↔ AAFCO chapter groups) - Register the file path in this document and in
_source.jsononce built - Only then enable the
categoryfilter in/api/v1/ingredient_lookup
---
*Last updated: 2026-07-19 (verified against local data files)*