Files
seed-mcp/corpus/agrigold_plot_reports/agpr-soybeans-2025-145423.json
justin b98965a68a Two new trial sources: LG Seeds + AgriGold plot reports (+2,307 cross-vendor yield trials)
Adds the **first non-Syngenta trial coverage** to the corpus:

| Source | Docs | Publisher | URL pattern |
|---|---|---|---|
| lg_plot_reports | 1,304 | LG Seeds (AgReliant) | lgseeds.com/performance/{crop} JSON XHR |
| agrigold_plot_reports | 1,003 | AgriGold (AgReliant) | agrigold.com/{crop}/performance/{crop}-yield-results |

Total trial coverage now: gh_plot_reports (4,299) + agripro_trials (14) +
lg_plot_reports (1,304) + agrigold_plot_reports (1,003) = 6,620 trial docs.

**Both scrapers follow the gh_plot_reports template** — same RateLimitedSession
primitive, same TrialResult/PlotReport dataclass shape, same data_type="trial"
sidecar convention. The trial chunker (`rag/chunk.py:_render_trial_chunk`) is
extended to recognize both new sources; they share `_render_gh_plot_chunk`
since their sidecars are structurally identical (just different brand label).

**LG specifics:**
- POST `/performance/{crop}/GetPlots/` returns sparse listing (id, year, lat/lng)
- GET `/performance/{crop}/GetPlotData/?PlotId=X&IsSilage=Y` returns full detail
  with state, cooperator, planting/harvest dates, and **top-5 hybrids** (LG +
  competitors). Top-5 is what LG publishes publicly; not the full ranking.
- 4 crops: corn (963), soybeans (287), sorghum (10), silage (50) — first
  alfalfa absent because LG doesn't run alfalfa plots; that's variety-only data.
- 301 gotcha: www.lgseeds.com redirects to lgseeds.com which drops POST body,
  so the scraper hits the apex host directly.

**AgriGold specifics:**
- Listing: GET `/{crop}/performance/{crop}-yield-results?harvestYear={year}`
  (server-rendered HTML, ~1MB; 408 corn plots in 2025 alone)
- Detail: GET `/{crop_url}/performance/{slug}/{plot_id}` returns the **full
  ranking** (not just top-5) plus rich plot management metadata: tillage,
  previous crop, fungicide, herbicide, insecticide, irrigation, soil type,
  row width, population. Most metadata-rich of the three trial sources.
- Soybean URL slug is singular: `/soybeans/performance/soybean-yield-results/`
- Columns: Rank | Brand | Product | Trait | Ck | H20 (moisture) | Test Wt. |
  Yield | Adj Yield (check-adjusted)
- 2 crops: corn (849) + soybeans (157)

**Indexer needs no changes** — `rag/index.py` auto-discovers any directory
under corpus/ and routes by data_type. Both new sources flow into the
existing trial collection and surface via `search_trials`.

Years scraped: 2024+2025 (matching gh_plot_reports baseline). 2023 is
available via `--include-2023` on either scraper for future backfill.
2026-05-26 22:26:24 -04:00

180 lines
3.7 KiB
JSON

{
"source": "agrigold_plot_reports",
"source_key": "agpr-soybeans-2025-145423",
"data_type": "trial",
"vendor": "AgReliant Genetics",
"brand": "AgriGold",
"crop": "soybeans",
"state": "IN",
"state_abbrev": "in",
"city": "Loogootee",
"county": "Daviess",
"year": 2025,
"plot_id": "145423",
"cooperator": "GARY & LANCE MATHIES",
"plot_average": 87.8,
"planted_date": "2025-04-24",
"harvested_date": "2025-10-04",
"population_seeds_per_acre": 135000,
"row_width": "15.0\"",
"num_rows": 12,
"soil_type": "Clay",
"tillage": "Conventional",
"previous_crop": "Corn",
"irrigation": "None",
"fungicide": "N/A",
"herbicide": "N/A",
"insecticide": "N/A",
"results": [
{
"rank": 2,
"brand": "AgriGold",
"product": "G3255E3",
"traits": "Enlist E3",
"metrics": {
"Ck": null,
"H20": 12.4,
"Test Wt.": 55.0,
"Yield": 95.2,
"Adj Yield": 95.2
}
},
{
"rank": 10,
"brand": "AgriGold",
"product": "G3334XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 12.7,
"Test Wt.": 54.0,
"Yield": 79.4,
"Adj Yield": 79.4
}
},
{
"rank": 5,
"brand": "Asgrow",
"product": "AG33XF3",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 12.8,
"Test Wt.": 54.0,
"Yield": 88.7,
"Adj Yield": 88.7
}
},
{
"rank": 1,
"brand": "AgriGold",
"product": "G3404E3",
"traits": "Enlist E3",
"metrics": {
"Ck": null,
"H20": 12.8,
"Test Wt.": 55.0,
"Yield": 95.6,
"Adj Yield": 95.6
}
},
{
"rank": 10,
"brand": "AgriGold",
"product": "G3425E3",
"traits": "Enlist E3",
"metrics": {
"Ck": null,
"H20": 12.7,
"Test Wt.": 55.0,
"Yield": 79.4,
"Adj Yield": 79.4
}
},
{
"rank": 4,
"brand": "AgriGold",
"product": "G3552XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 12.8,
"Test Wt.": 56.0,
"Yield": 91.8,
"Adj Yield": 91.8
}
},
{
"rank": 8,
"brand": "AgriGold",
"product": "35L17XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 13.0,
"Test Wt.": 56.0,
"Yield": 86.0,
"Adj Yield": 86.0
}
},
{
"rank": 3,
"brand": "AgriGold",
"product": "G3725XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 12.5,
"Test Wt.": 55.0,
"Yield": 92.1,
"Adj Yield": 92.1
}
},
{
"rank": 7,
"brand": "AgriGold",
"product": "G3955XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 12.4,
"Test Wt.": 56.0,
"Yield": 86.1,
"Adj Yield": 86.1
}
},
{
"rank": 9,
"brand": "AgriGold",
"product": "39L18E3",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 12.3,
"Test Wt.": 56.0,
"Yield": 83.9,
"Adj Yield": 83.9
}
},
{
"rank": 6,
"brand": "AgriGold",
"product": "G3854E3",
"traits": "Enlist E3",
"metrics": {
"Ck": null,
"H20": 12.5,
"Test Wt.": 56.0,
"Yield": 87.6,
"Adj Yield": 87.6
}
}
],
"n_results": 11,
"source_urls": [
"https://www.agrigold.com/soybeans/performance/soybean-yield-results/145423"
],
"fetched_at": "2026-05-27T02:25:05.313912+00:00",
"scraper_version": "0.1.0"
}