Files
seed-mcp/corpus/bayer_seeds/asgrow-ag12xf4.json
T
justin 75f714b454 Phase 4-5: deployable container + corpus snapshot + CI fixes
deploy/docker-compose.yml — replace <product>/<registry> placeholders
with concrete values for Drawbar's stack:
- image: git.jpaul.io/justin/seed-mcp:latest (CF tunnel for pulls; CI
  pushes via LAN 192.168.0.2:1234 to avoid 100 MB body cap)
- container_name: seed-mcp
- port 8001:8000 (8001 host-side to not collide with crop-chem-docs
  on 8000)
- PRODUCT_NAME=crop_seed, hybrid search enabled, stateless HTTP
- llama-rerank shared with crop-chem-docs (NOT redefined here —
  expected to already be in Drawbar's parent compose network)
- networks.drawbar-mcp external: true so seed-mcp joins the existing
  cross-MCP shared network

.gitignore — corpus/ is now COMMITTED, not ignored. The monthly
refresh workflow scrapes and commits corpus changes; the image-only
workflow rebuilds indexes from the committed corpus. Allowing the
corpus to flow through git means the :corpus-YYYY.MM.DD image tag
pins to a specific seed-catalog snapshot. chroma/ and bm25/ remain
ignored — those are deterministically derived from corpus.

Initial committed snapshot: 614 varieties.
- bayer_seeds: 475 (DEKALB 288 + Asgrow 102 + WestBred 85)
- golden_harvest: 139 (Syngenta corn + soy; 36 sitemap URLs
  302-redirected = discontinued)

rag/chunk.py — normalize brand and crop to uppercase/lowercase in
Chroma metadata so cross-vendor brand-filter lookups don't break on
casing inconsistency (Bayer stores "DEKALB", Golden Harvest stores
"Golden Harvest"; _build_where uppercases user-supplied brand which
matched the former but not the latter pre-fix). Sidecar JSON keeps
original casing for display.

Stub scrapers (nk, agripro, becks_pfr, becks_products) — change
return code from 2 to 0 so the monthly-refresh CI workflow doesn't
fail on deferred sources. Real implementations will return 0 on
success / 1 on failure when they ship.

Smoke-tested cross-vendor retrieval against the 614-chunk index:
- list_versions shows both vendors with correct facet counts
- broad "corn hybrid 100 RM" query returns both DEKALB and Golden
  Harvest hits in top 5
- brand='Golden Harvest' filter returns 3 GH-only varieties
- variety-code prefilter still works (E085Z5 → top hit on GH)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-25 13:40:05 -04:00

499 lines
16 KiB
JSON

{
"source": "bayer_seeds",
"source_key": "asgrow-ag12xf4",
"vendor": "Bayer",
"brand": "ASGROW",
"product_name": "AG12XF4 BRAND",
"product_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US",
"hybrid_prefix": "AG12XF4",
"hybrid_suffix": "BRAND",
"crop": "soybeans",
"release_year": 2024,
"relative_maturity": null,
"maturity_group": "1.2",
"wheat_class": null,
"trait_stack": [
"XF"
],
"trait_descriptions": [
"XtendFlex"
],
"positioning_statement": "Asgrow® AG12XF4 brand is an early MG 1 XtendFlex® soybean. AG12XF4 has resistance to Phytophthora rot and tolerance to white mold and brown stem rot",
"strengths": [
"Medium tall plant with good emergence and average standability",
"Rps1c gene and good field tolerance to Phytophthora rot",
"Good tolerance to white mold",
"Avoid placement in fields with high populations of SCN"
],
"characteristics_groups": [
{
"label": "DISEASE RATINGS",
"type": "disease ratings",
"items": [
{
"characteristic": "SOUTHERN ROOT KNOT (M. INCOGNITA)",
"value": "-"
},
{
"characteristic": "SOYBEAN CYST NEMATODE",
"value": "S"
},
{
"characteristic": "PRR RESISTANCE",
"value": "Rps1c"
},
{
"characteristic": "PRR FIELD TOLERANCE",
"value": "5"
},
{
"characteristic": "WHITE MOLD",
"value": "4"
},
{
"characteristic": "BROWN STEM ROT",
"value": "4"
},
{
"characteristic": "SUDDEN DEATH SYNDROME",
"value": "6"
}
]
},
{
"label": "SENSITIVITY",
"type": "sensitivity",
"items": [
{
"characteristic": "CHLORIDE SENSITIVITY",
"value": "Inc"
}
]
},
{
"label": "MANAGEMENT",
"type": "management",
"items": [
{
"characteristic": "MATURITY GROUP",
"value": "1"
},
{
"characteristic": "VARIETY CODE",
"value": "1098245"
}
]
},
{
"label": "PLANT DESCRIPTION",
"type": "plantDescription",
"items": [
{
"characteristic": "GROWTH HABIT",
"value": "Indeterminate"
},
{
"characteristic": "HILUM COLOR",
"value": "IB"
},
{
"characteristic": "OIL CONTENT",
"value": "22.2"
},
{
"characteristic": "POD WALL COLOR",
"value": "BR"
},
{
"characteristic": "PROTEIN CONTENT",
"value": "39.4"
},
{
"characteristic": "QUALITY TRAIT",
"value": "-"
},
{
"characteristic": "RELATIVE MATURITY",
"value": "1.2"
},
{
"characteristic": "HERBICIDE TOLERANT TRAIT",
"value": "XF"
},
{
"characteristic": "CANOPY",
"value": "MB"
},
{
"characteristic": "FLOWER COLOR",
"value": "Purple"
},
{
"characteristic": "PUBESCENCE COLOR",
"value": "G"
},
{
"characteristic": "PLANT HEIGHT CATEGORY",
"value": "MT"
}
]
},
{
"label": "PRODUCTION",
"type": "production",
"items": [
{
"characteristic": "EMERGENCE",
"value": "2"
},
{
"characteristic": "STANDABILITY",
"value": "3"
},
{
"characteristic": "NO-TILL ADAPTABILITY",
"value": "2"
},
{
"characteristic": "IRON CHLOROSIS",
"value": "4"
}
]
}
],
"_scale_direction": "1-9 (9 = best)",
"regional_recommendations": [
{
"product_list_name": "2026 Northern North Dakota Seedguide",
"agronomist": "Courtney Meduna",
"agronomist_email": "courtney.meduna@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_N1U_1"
},
{
"product_list_name": "2025 Northeast Seed Guide",
"agronomist": "Shaun Heinbaugh",
"agronomist_email": "shaun.heinbaugh@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C6F_1"
},
{
"product_list_name": "2025 South Dakota Product Guide",
"agronomist": "Jeff Spieler",
"agronomist_email": "jeff.spieler@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8A_2"
},
{
"product_list_name": "2025 South Dakota Product Guide",
"agronomist": "Jeff Spieler",
"agronomist_email": "jeff.spieler@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8C_2"
},
{
"product_list_name": "2026 South Dakota Product Guide",
"agronomist": "Jeff Spieler",
"agronomist_email": "jeff.spieler@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8A_1"
},
{
"product_list_name": "2025 South Dakota Product Guide",
"agronomist": "Gary Hegg",
"agronomist_email": "gary.hegg@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_ZBI_1"
},
{
"product_list_name": "2024 South Dakota Product Guide",
"agronomist": "Gary Hegg",
"agronomist_email": "gary.hegg@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_ZBL_2"
},
{
"product_list_name": "2024 South Dakota Product Guide",
"agronomist": "Gary Hegg",
"agronomist_email": "gary.hegg@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_ZBI_2"
},
{
"product_list_name": "2026 South Dakota Product Guide",
"agronomist": "Jeff Fuls",
"agronomist_email": "jeffrey.fuls@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8P_1"
},
{
"product_list_name": "2024 South Dakota Product Guide",
"agronomist": "Gary Hegg",
"agronomist_email": "gary.hegg@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_ZBK_2"
},
{
"product_list_name": "2024 South Dakota Product Guide",
"agronomist": "Gary Hegg",
"agronomist_email": "gary.hegg@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_ZBJ_2"
},
{
"product_list_name": "2025 Northeast Seed Guide",
"agronomist": "Shaun Heinbaugh",
"agronomist_email": "shaun.heinbaugh@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C6J_1"
},
{
"product_list_name": "2026 Eastern ND / Northern MN",
"agronomist": "Grant Mehring",
"agronomist_email": "grant.mehring@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_JAQ_1"
},
{
"product_list_name": "2026 Northern North Dakota Seedguide",
"agronomist": "Courtney Meduna",
"agronomist_email": "courtney.meduna@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_JAC_1"
},
{
"product_list_name": "Wisconsin 2025",
"agronomist": "Reid Gill",
"agronomist_email": "reid.gill@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C7N_1"
},
{
"product_list_name": "2026 South Dakota Product Guide",
"agronomist": "Jeff Fuls",
"agronomist_email": "jeffrey.fuls@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8L_1"
},
{
"product_list_name": "2026 Eastern ND / Northern MN",
"agronomist": "Grant Mehring",
"agronomist_email": "grant.mehring@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_JAL_1"
},
{
"product_list_name": "2025 South Dakota Product Guide",
"agronomist": "Gary Hegg",
"agronomist_email": "gary.hegg@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_ZBL_1"
},
{
"product_list_name": "2025 South Dakota Product Guide",
"agronomist": "Jeff Fuls",
"agronomist_email": "jeffrey.fuls@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8L_2"
},
{
"product_list_name": "2026 SEED GUIDE",
"agronomist": "Luke Miller",
"agronomist_email": "luke.miller@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C5M_1"
},
{
"product_list_name": "2026 Central & Western ND, MT/WY",
"agronomist": "Cody Oswald",
"agronomist_email": "cody.oswald@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_ZBN_1"
},
{
"product_list_name": "Wisconsin 2025",
"agronomist": "Sammie Brantner",
"agronomist_email": "samantha.brantner@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C7A_1"
},
{
"product_list_name": "2025 South Dakota Product Guide",
"agronomist": "Jeff Spieler",
"agronomist_email": "jeff.spieler@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8B_2"
},
{
"product_list_name": "2024 South Dakota Product Guide",
"agronomist": "Jeff Spieler",
"agronomist_email": "jeff.spieler@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8C_3"
},
{
"product_list_name": "Wisconsin Seed Guide",
"agronomist": "Mike Hopke",
"agronomist_email": "michael.hopke@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C7F_1"
},
{
"product_list_name": "Wisconsin 2025",
"agronomist": "Sammie Brantner",
"agronomist_email": "samantha.brantner@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C7M_1"
},
{
"product_list_name": "2026 SEED GUIDE",
"agronomist": "Luke Miller",
"agronomist_email": "luke.miller@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C5J_1"
},
{
"product_list_name": "2024 South Dakota Product Guide",
"agronomist": "Gary Hegg",
"agronomist_email": "gary.hegg@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_ZBM_2"
},
{
"product_list_name": "2026 South Dakota Product Guide",
"agronomist": "Jeff Spieler",
"agronomist_email": "jeff.spieler@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8F_1"
},
{
"product_list_name": "2026 Central & Western ND, MT/WY",
"agronomist": "Cody Oswald",
"agronomist_email": "cody.oswald@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_ZBO_1"
},
{
"product_list_name": "2025 South Dakota Product Guide",
"agronomist": "Jeff Fuls",
"agronomist_email": "jeffrey.fuls@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8P_2"
},
{
"product_list_name": "2024 South Dakota Product Guide",
"agronomist": "Jeff Spieler",
"agronomist_email": "jeff.spieler@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8B_3"
},
{
"product_list_name": "Wisconsin 2025",
"agronomist": "Reid Gill",
"agronomist_email": "reid.gill@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C7C_1"
},
{
"product_list_name": "2026 South Dakota Product Guide",
"agronomist": "Jeff Fuls",
"agronomist_email": "jeffrey.fuls@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8J_1"
},
{
"product_list_name": "2025 South Dakota Product Guide",
"agronomist": "Gary Hegg",
"agronomist_email": "gary.hegg@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_ZBK_1"
},
{
"product_list_name": "2025 South Dakota Product Guide",
"agronomist": "Jeff Fuls",
"agronomist_email": "jeffrey.fuls@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8J_2"
},
{
"product_list_name": "2026 SEED GUIDE",
"agronomist": "Luke Miller",
"agronomist_email": "luke.miller@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C5P_1"
},
{
"product_list_name": "2024 South Dakota Product Guide",
"agronomist": "Jeff Spieler",
"agronomist_email": "jeff.spieler@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8F_3"
},
{
"product_list_name": "2025 South Dakota Product Guide",
"agronomist": "Gary Hegg",
"agronomist_email": "gary.hegg@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_ZBJ_1"
},
{
"product_list_name": "2025 South Dakota Product Guide",
"agronomist": "Gary Hegg",
"agronomist_email": "gary.hegg@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_ZBM_1"
},
{
"product_list_name": "2026 SEED GUIDE",
"agronomist": "Luke Miller",
"agronomist_email": "luke.miller@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C5N_1"
},
{
"product_list_name": "Wisconsin 2025",
"agronomist": "Sammie Brantner",
"agronomist_email": "samantha.brantner@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C7S_1"
},
{
"product_list_name": "2025 South Dakota Product Guide",
"agronomist": "Jeff Spieler",
"agronomist_email": "jeff.spieler@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8F_2"
},
{
"product_list_name": "2024 South Dakota Product Guide",
"agronomist": "Jeff Spieler",
"agronomist_email": "jeff.spieler@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8A_3"
},
{
"product_list_name": "2026 Eastern ND / Northern MN",
"agronomist": "Grant Mehring",
"agronomist_email": "grant.mehring@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_JAG_1"
},
{
"product_list_name": "2025 Northeast Seed Guide",
"agronomist": "Shaun Heinbaugh",
"agronomist_email": "shaun.heinbaugh@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C6L_1"
},
{
"product_list_name": "2026 South Dakota Product Guide",
"agronomist": "Jeff Spieler",
"agronomist_email": "jeff.spieler@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8B_1"
},
{
"product_list_name": "2026 Eastern ND / Northern MN",
"agronomist": "Grant Mehring",
"agronomist_email": "grant.mehring@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_JAM_1"
},
{
"product_list_name": "2026 Central & Western ND, MT/WY",
"agronomist": "Cody Oswald",
"agronomist_email": "cody.oswald@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_JCJ_1"
},
{
"product_list_name": "Wisconsin Seed Guide",
"agronomist": "Mike Hopke",
"agronomist_email": "michael.hopke@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C7G_1"
},
{
"product_list_name": "2026 South Dakota Product Guide",
"agronomist": "Jeff Spieler",
"agronomist_email": "jeff.spieler@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_J8C_1"
},
{
"product_list_name": "2026 SEED GUIDE",
"agronomist": "Luke Miller",
"agronomist_email": "luke.miller@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C5D_1"
},
{
"product_list_name": "2026 SEED GUIDE",
"agronomist": "Luke Miller",
"agronomist_email": "luke.miller@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C5K_1"
},
{
"product_list_name": "Wisconsin Seed Guide",
"agronomist": "Mike Hopke",
"agronomist_email": "michael.hopke@bayer.com",
"variant_id": "SOYBEANS_AG12XF4 BRAND_ASGROW_US_2026_C7R_1"
}
],
"image_url": "https://cs-assets.bayer.com/is/image/bayer/Asgrow_SeedBag_60267_2_B",
"source_urls": [
"https://www.cropscience.bayer.us/soybeans/asgrow/asgrow-ag12xf4-soybeans"
],
"sitemap_last_modified": "2026-05-12T14:41:06.938Z",
"fetched_at": "2026-05-25T16:59:15.991954+00:00",
"scraper_version": "0.1.0"
}