b98965a68a
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.
2.6 KiB
2.6 KiB
Soybean yield trial — Franklin Grove, IL, 2025
- Source: AgriGold plot report (cross-vendor head-to-head)
- Vendor: AgReliant Genetics / AgriGold
- Crop: Soybean
- State: IL
- County: Lee
- City: Franklin Grove
- Year: 2025
- Plot ID: 147412
- Cooperator: LaMoille FFA
- Plot average: 66.28 BU/Ac
- Planted: 2025-05-06
- Harvested: 2025-10-09
- Population: 140,000 seeds/acre
- Row width: 15.0"
- # Rows: 16
- Soil type: Silt Loam
- Tillage: Conventional
- Previous crop: Corn
- Irrigation: None
- URL: https://www.agrigold.com/soybeans/performance/soybean-yield-results/147412
Results (by rank)
| Rank | Brand | Product | Trait | Ck | H20 | Test Wt. | Yield | Adj Yield |
|---|---|---|---|---|---|---|---|---|
| 10 | NK Brand | NK21-C2E3 | Enlist E3 | - | 13.1 | 57.2 | 68.6 | 68.6 |
| 14 | NK Brand | NK23-P1E3 | Enlist E3 | - | 14.0 | 56.6 | 67.1 | 67.1 |
| 1 | FS Seeds | HS25E30 | Enlist E3 | - | 13.8 | 53.1 | 73.3 | 73.3 |
| 2 | AgriGold | G2601E3 | Enlist E3 | - | 13.8 | 51.1 | 72.5 | 72.5 |
| 4 | NK Brand | NK26-M6E3 | Enlist E3 | - | 13.8 | 52.9 | 71.6 | 71.6 |
| 5 | FS Seeds | HS26E50 | Enlist E3 | - | 13.7 | 51.1 | 69.9 | 69.9 |
| 13 | Alloy | A27E35 | Enlist E3 | - | 13.0 | 53.9 | 67.8 | 67.8 |
| 3 | Brevant Seeds | B275EE | Enlist E3 | - | 13.0 | 54.2 | 72.2 | 72.2 |
| 11 | FS Seeds | HS28E50 | Enlist E3 | - | 13.0 | 52.0 | 68.0 | 68.0 |
| 20 | NK Brand | NK28-G7E3S | Enlist E3 | - | 12.9 | 53.5 | 61.4 | 61.4 |
| 15 | Alloy | A28E36 | Enlist E3 | - | 12.6 | 54.4 | 64.3 | 64.3 |
| 18 | AgriGold | G2893E3 | Enlist E3 | - | 12.3 | 53.6 | 62.2 | 62.2 |
| 19 | FS Seeds | HS29E50 | Enlist E3 | - | 13.1 | 54.6 | 61.6 | 61.6 |
| 6 | Brevant Seeds | B294EE | Enlist E3 | - | 12.3 | 54.8 | 69.5 | 69.5 |
| 23 | NK Brand | NK30-A9E3 | Enlist E3 | - | 13.1 | 50.3 | 55.5 | 55.5 |
| 21 | Alloy | A30E35 | Enlist E3 | - | 12.8 | 55.7 | 59.4 | 59.4 |
| 9 | FS Seeds | HS30E40 | Enlist E3 | - | 13.2 | 53.6 | 68.7 | 68.7 |
| 17 | AgriGold | G3051E3 | Enlist E3 | - | 12.9 | 54.0 | 62.8 | 62.8 |
| 7 | Brevant Seeds | B315EE | Enlist E3 | - | 12.1 | 54.3 | 69.0 | 69.0 |
| 8 | FS Seeds | HS31E20 | Enlist E3 | - | 12.2 | 54.7 | 68.9 | 68.9 |
| 11 | Brevant Seeds | B324EE | Enlist E3 | - | 12.2 | 52.7 | 68.0 | 68.0 |
| 22 | NK Brand | NK33-W2E3S | Enlist E3 | - | 12.2 | 58.1 | 58.9 | 58.9 |
| 16 | FS Seeds | HS35E50 | Enlist E3 | - | 11.8 | 54.7 | 63.2 | 63.2 |
Top 5 by Yield: HS25E30 (FS Seeds) 73.3, G2601E3 (AgriGold) 72.5, B275EE (Brevant Seeds) 72.2, NK26-M6E3 (NK Brand) 71.6, HS26E50 (FS Seeds) 69.9.