Files
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

1.7 KiB

Soybean yield trial — Norborne, MO, 2025

  • Source: AgriGold plot report (cross-vendor head-to-head)
  • Vendor: AgReliant Genetics / AgriGold
  • Crop: Soybean
  • State: MO
  • County: Carroll
  • City: Norborne
  • Year: 2025
  • Plot ID: 147428
  • Cooperator: Mark Drehle
  • Plot average: 75.23 BU/Ac
  • Planted: 2025-05-13
  • Harvested: 2025-10-11
  • Population: 150,000 seeds/acre
  • Row width: 15.0"
  • # Rows: 11
  • Tillage: Conventional
  • Previous crop: Corn
  • Irrigation: None
  • URL: https://www.agrigold.com/soybeans/performance/soybean-yield-results/147428

Results (by rank)

Rank Brand Product Trait Ck H20 Test Wt. Yield Adj Yield
12 AgriGold G3552XF XTENDFlex - 13.1 57.5 61.5 61.5
6 AgriGold G3577E3 Enlist E3 - 13.4 57.6 75.8 75.8
5 AgriGold G3725XF XTENDFlex - 13.3 57.3 75.9 75.9
11 AgriGold G3854E3 Enlist E3 - 12.9 56.9 70.5 70.5
9 AgriGold G3955XF XTENDFlex - 12.9 55.6 72.8 72.8
10 AgriGold G4051E3 Enlist E3 - 12.9 55.6 72.0 72.0
2 AgriGold G4184XF XTENDFlex - 12.7 56.9 81.7 81.7
7 AgriGold G4204E3 Enlist E3 - 12.6 57.0 74.5 74.5
3 AgriGold G4430XF XTENDFlex - 12.0 56.8 80.6 80.6
4 AgriGold G4459E3 Enlist E3 - 12.6 56.7 79.6 79.6
8 AgriGold G4650XF XTENDFlex - 13.1 57.4 73.8 73.8
1 AgriGold G4695E3 Enlist E3 - 14.4 55.4 84.1 84.1

Top 5 by Yield: G4695E3 (AgriGold) 84.1, G4184XF (AgriGold) 81.7, G4430XF (AgriGold) 80.6, G4459E3 (AgriGold) 79.6, G3725XF (AgriGold) 75.9.