Files
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

63 lines
2.0 KiB
JSON

{
"source": "bayer",
"source_key": "rimfire-max",
"epa_reg_no": "264-1099",
"product_name": "Rimfire Max Herbicide",
"product_class": "herbicide",
"registrant": null,
"active_ingredients": [
{
"name": "Propoxycarbazone-sodium",
"cas": null,
"percent": null
},
{
"name": "Mesosulfuron-Methyl",
"cas": null,
"percent": null
}
],
"signal_word": null,
"label": {
"url": "https://cs-assets.bayer.com/is/content/bayer/Rimfire_Max1g_Herbicide_Labelpdf",
"filename": "Rimfire_Max1g_Herbicide_Labelpdf",
"accepted_date": null,
"last_modified": "2026-01-30T14:24:13+00:00",
"page_count": 17,
"text_layer": true
},
"supplemental_documents": [
{
"kind": "MSDS",
"title": "RIMFIRE MAX HERBICIDE MSDS - Spanish",
"url": "https://cs-assets.bayer.com/is/content/bayer/Rimfire_Max_Herbicide_MSDS8pdf",
"last_modified": "2026-01-30T14:18:26+00:00"
},
{
"kind": "MSDS",
"title": "RIMFIRE MAX HERBICIDE MSDS - English",
"url": "https://cs-assets.bayer.com/is/content/bayer/Rimfire_Max_Herbicide_MSDS7pdf",
"last_modified": "2026-01-30T14:21:12+00:00"
},
{
"kind": "Other",
"title": "Rimfire Max - Bromus Species",
"url": "https://www.cs-contentapi.bayer.com/content/dam/regional-folders/na/united-states/english/staging/e2e-migration-folder/cp-pdps/herbicides/rimfire-max/RimfireMax_BromusSpecies_WP.pdf",
"last_modified": "2022-12-01T19:07:49+00:00"
},
{
"kind": "Bulletin",
"title": "Rimfire Max Product Bulletin",
"url": "https://cs-assets.bayer.com/is/content/bayer/Rimfire-Max_2025pdf",
"last_modified": "2026-05-21T23:21:16+00:00"
}
],
"source_urls": {
"product_page": "https://www.cropscience.bayer.us/crop-protection/herbicide/rimfire-max-herbicide",
"label_api": null,
"label_index": null
},
"fetched_at": "2026-05-24T00:56:03.561939+00:00",
"scraper_version": "0.1.0"
}