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

75 lines
2.3 KiB
JSON

{
"source": "bayer",
"source_key": "adament-50-wg",
"epa_reg_no": "264-1052",
"product_name": "Adament 50 WG Fungicide",
"product_class": "fungicide",
"registrant": null,
"active_ingredients": [
{
"name": "Tebuconazole",
"cas": null,
"percent": null
},
{
"name": "Trifloxystrobin",
"cas": null,
"percent": null
}
],
"signal_word": null,
"label": {
"url": "https://cs-assets.bayer.com/is/content/bayer/Adament_50_WG_Fungicide1d_Labelpdf",
"filename": "Adament_50_WG_Fungicide1d_Labelpdf",
"accepted_date": null,
"last_modified": "2026-01-30T13:35:41+00:00",
"page_count": 18,
"text_layer": true
},
"supplemental_documents": [
{
"kind": "MSDS",
"title": "ADAMENT 50 WG FUNGICIDE MSDS - Spanish",
"url": "https://cs-assets.bayer.com/is/content/bayer/Adament_50_WG1er_Fungicide_MSDSpdf",
"last_modified": "2026-01-30T13:54:23+00:00"
},
{
"kind": "MSDS",
"title": "ADAMENT 50 WG FUNGICIDE MSDS - English",
"url": "https://cs-assets.bayer.com/is/content/bayer/Adament_50_WG2e_Fungicide_MSDSpdf",
"last_modified": "2025-08-17T08:38:45+00:00"
},
{
"kind": "MSDS",
"title": "ADAMENT 50 WG FUNGICIDE MSDS - English",
"url": "https://cs-assets.bayer.com/is/content/bayer/Adament_50_WG1re_Fungicide_MSDSpdf",
"last_modified": "2026-01-30T13:38:34+00:00"
},
{
"kind": "MSDS",
"title": "ADAMENT 50 WG FUNGICIDE MSDS - Spanish",
"url": "https://cs-assets.bayer.com/is/content/bayer/Adament_50_WG2s_Fungicide_MSDSpdf",
"last_modified": "2025-08-17T08:38:45+00:00"
},
{
"kind": "2EE",
"title": "For Control of Red Leaf Blotch in Almonds",
"url": "https://cs-assets.bayer.com/is/content/bayer/Adament_50_WG_Fungicide_2EE1jpdf",
"last_modified": "2026-01-30T13:35:07+00:00"
},
{
"kind": "Bulletin",
"title": "Adement 50 WG Product Bulletin",
"url": "https://cs-assets.bayer.com/is/content/bayer/Adament_2025pdf",
"last_modified": "2026-05-20T00:46:44+00:00"
}
],
"source_urls": {
"product_page": "https://www.cropscience.bayer.us/crop-protection/fungicide/adament-50-wg-fungicide",
"label_api": null,
"label_index": null
},
"fetched_at": "2026-05-24T01:04:00.113872+00:00",
"scraper_version": "0.1.0"
}