Files
crop-chem-docs/corpus/bayer/roundup-weathermax.json
justin a97107de46
Image rebuild (skip scrape) / build (push) Failing after 1h37m12s
docker: production image + Gitea Actions for monthly refresh
Dockerfile: self-contained image with corpus + Chroma + BM25 baked
in. Drawbar's compose pulls + runs without volume mounts. Built from
sources.json (labels schema), PRODUCT_NAME=crop_chem by default,
HYBRID_SEARCH=true (always-on for production quality). RERANK_URL +
OLLAMA_URL get set at compose time.

.gitea/workflows/refresh.yml: monthly cron (1st @ 06:00 UTC) does
full scrape → reindex → image push. Scrapes Bayer (~30 min) +
EPA PPLS row-crop filtered (~7h). Skips reindex+push if no corpus
diff. Tags pushed: :latest, :<sha12>, :corpus-<YYYY.MM.DD>.

.gitea/workflows/image-only.yml: on-demand or auto on code-only
pushes to main (paths: docs_mcp/, rag/, scrape/, requirements.txt,
Dockerfile, sources.json). Reindexes from committed corpus, builds
image, pushes. ~10 min vs ~9h full refresh.

.gitignore: corpus/ now COMMITTED (4,159 labels, 265 MB of .md +
sidecars). Lets image-only.yml rebuild indexes without re-scraping.
chroma/ + bm25/ still gitignored (regenerable binary indexes).

.dockerignore: drops venv, eval results, PLAN/README/CLAUDE.md,
deploy/, .git/ — keeps the image lean. corpus + chroma + bm25
explicitly NOT in dockerignore (those go INTO the image).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 12:32:41 -04:00

70 lines
2.6 KiB
JSON

{
"source": "bayer",
"source_key": "roundup-weathermax",
"epa_reg_no": "524-537-ZA",
"product_name": "Roundup WeatherMAX Herbicide",
"product_class": "herbicide",
"registrant": null,
"active_ingredients": [
{
"name": "Glyphosate, N-(phosphonomethyl)glycine,in the form of its potassium salt",
"cas": null,
"percent": null
}
],
"signal_word": null,
"label": {
"url": "https://cs-assets.bayer.com/is/content/bayer/Roundup_WeatherMAX1dp_Herbicide_Bayer_Labelpdf",
"filename": "Roundup_WeatherMAX1dp_Herbicide_Bayer_Labelpdf",
"accepted_date": null,
"last_modified": "2026-01-30T14:14:33+00:00",
"page_count": 25,
"text_layer": true
},
"supplemental_documents": [
{
"kind": "MSDS",
"title": "ROUNDUP WEATHERMAX HERBICIDE MSDS - Spanish",
"url": "https://cs-assets.bayer.com/is/content/bayer/Roundup_WeatherMAX2m_Herbicide_MSDSpdf",
"last_modified": "2026-01-30T14:08:57+00:00"
},
{
"kind": "MSDS",
"title": "ROUNDUP WEATHERMAX HERBICIDE MSDS - English",
"url": "https://preview1.assetsadobe.com/is/content/bayer/Roundup_WeatherMAX2i_Herbicide_MSDSpdf",
"last_modified": "2026-01-30T14:07:54+00:00"
},
{
"kind": "Supplemental",
"title": "USE WITH ENLIST E3 SOYBEAN",
"url": "https://cs-assets.bayer.com/is/content/bayer/Roundup_WeatherMAX1gp_Herbicide_Bayer_Supplemental_Labelpdf",
"last_modified": "2026-01-30T13:38:35+00:00"
},
{
"kind": "Supplemental",
"title": "USE WITH GT27 SOYBEAN",
"url": "https://www.cs-contentapi.bayer.com/content/dam/regional-folders/na/united-states/english/staging/e2e-migration-folder/cp-pdps/agrian-pdfs/supplemental-labels/Roundup_WeatherMAX1tg_Herbicide_Bayer_Supplemental_Label.pdf",
"last_modified": "2024-02-07T01:14:17+00:00"
},
{
"kind": "Supplemental",
"title": "USE WITH AGRISURE GT CORN",
"url": "https://cs-assets.bayer.com/is/content/bayer/Roundup_WeatherMAX1gt_Herbicide_Bayer_Supplemental_Labelpdf",
"last_modified": "2026-01-30T14:10:12+00:00"
},
{
"kind": "Bulletin",
"title": "Roundup WeatherMAX Product Bulletin",
"url": "https://cs-assets.bayer.com/is/content/bayer/Roundup-WeatherMAX_2025pdf",
"last_modified": "2026-05-19T20:33:42+00:00"
}
],
"source_urls": {
"product_page": "https://www.cropscience.bayer.us/crop-protection/herbicide/roundup-weathermax-herbicide",
"label_api": null,
"label_index": null
},
"fetched_at": "2026-05-24T00:59:48.993931+00:00",
"scraper_version": "0.1.0"
}