SupplyWatch watches supplier pages (price, lead time, stock, minimum order) and raises alerts a procurement team can actually audit: every value in an alert carries the exact span of page text it came from, and a verifier re-checks that quote against the fetched page before the value can enter a change diff. Unverifiable values are dropped and counted — never reported. That is the rule: no quote, no field. The pipeline is five deterministic steps: fetch (stdlib HTTP), extract (heuristic field detection, every hit carries a quote), verify (the quote must appear verbatim in the page text), diff (against the previous verified state, with explicit severity thresholds: price ±3%/±10%, lead time +20%/+50%, stock in-to-out is always critical), and alert (drafted by a language model on AMD ROCm via any OpenAI-compatible endpoint, with a deterministic template fallback so the alert never depends on the model). The demo is fully reproducible: two supplier mirrors show a valve whose price moves +19.2%, lead time +200%, and stock drops to out-of-stock, plus a bearing going on backorder — five verified changes, four critical, one warning, each with its quote. The repo includes 22 unit tests, a CPU Docker image and a ROCm Docker image (docker/rocm.Dockerfile) for AMD GPUs, plus instructions for serving the LLM step with vLLM on ROCm or AMD Developer Cloud notebooks. The whole core is standard-library Python — no runtime dependencies, no lock-in.
Category tags: