Files
seed-mcp/corpus/agrigold_plot_reports/agpr-soybeans-2025-147635.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
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"source": "agrigold_plot_reports",
"source_key": "agpr-soybeans-2025-147635",
"data_type": "trial",
"vendor": "AgReliant Genetics",
"brand": "AgriGold",
"crop": "soybeans",
"state": "IN",
"state_abbrev": "in",
"city": "Loogootee",
"county": "Daviess",
"year": 2025,
"plot_id": "147635",
"cooperator": "Kavs Crop Care",
"plot_average": 78.59,
"planted_date": "2025-05-25",
"harvested_date": "2025-10-28",
"population_seeds_per_acre": 150000,
"row_width": "30.0\"",
"num_rows": 4,
"soil_type": "Clay",
"tillage": "Conventional",
"previous_crop": "Soybeans",
"irrigation": "None",
"fungicide": "N/A",
"herbicide": "N/A",
"insecticide": "N/A",
"results": [
{
"rank": null,
"brand": "AgriGold",
"product": "G3552XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 13.5,
"Test Wt.": null,
"Yield": 93.8,
"Adj Yield": 93.8
}
},
{
"rank": 6,
"brand": "AgriGold",
"product": "G2950XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 13.0,
"Test Wt.": null,
"Yield": 83.3,
"Adj Yield": 78.89
}
},
{
"rank": 2,
"brand": "AgriGold",
"product": "G3144XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 13.1,
"Test Wt.": null,
"Yield": 86.2,
"Adj Yield": 82.87
}
},
{
"rank": 7,
"brand": "AgriGold",
"product": "G3386XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 13.3,
"Test Wt.": null,
"Yield": 79.7,
"Adj Yield": 77.5
}
},
{
"rank": 9,
"brand": "AgriGold",
"product": "G3334XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 13.3,
"Test Wt.": null,
"Yield": 61.5,
"Adj Yield": 60.39
}
},
{
"rank": 1,
"brand": "AgriGold",
"product": "G3552XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 13.5,
"Test Wt.": null,
"Yield": 86.6,
"Adj Yield": 86.62
}
},
{
"rank": 8,
"brand": "AgriGold",
"product": "G3725XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 13.7,
"Test Wt.": null,
"Yield": 74.5,
"Adj Yield": 75.65
}
},
{
"rank": 3,
"brand": "AgriGold",
"product": "G3955XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 13.9,
"Test Wt.": null,
"Yield": 80.1,
"Adj Yield": 82.34
}
},
{
"rank": 5,
"brand": "AgriGold",
"product": "G4184XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 14.1,
"Test Wt.": null,
"Yield": 77.8,
"Adj Yield": 81.12
}
},
{
"rank": 4,
"brand": "AgriGold",
"product": "G4430XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 14.4,
"Test Wt.": null,
"Yield": 77.5,
"Adj Yield": 81.95
}
},
{
"rank": null,
"brand": "AgriGold",
"product": "G3552XF",
"traits": "XTENDFlex",
"metrics": {
"Ck": null,
"H20": 13.5,
"Test Wt.": null,
"Yield": 82.7,
"Adj Yield": 82.7
}
}
],
"n_results": 11,
"source_urls": [
"https://www.agrigold.com/soybeans/performance/soybean-yield-results/147635"
],
"fetched_at": "2026-05-27T02:25:32.861949+00:00",
"scraper_version": "0.1.0"
}