8128b3a76f4d74ef9d45003d20b9a1ffbcd71d4f
Merged to production. UAT regression and security review both passed.
- UAT: PASS (Deal Dottie — CAR-733)
- Security: PASS (Stockboy Steve)
- Code CI (lint + test): PASS on uat commit f159d50f
Note: build-and-push has a GHCR permission_denied failure (write_package) — separate infra issue, does not affect code correctness.
ReceiptWitness
Purchase data ingestion service for CartSnitch. Authenticates with grocery retailer web portals (Meijer, Kroger, Target) via Playwright, scrapes purchase history, and writes structured records to the shared PostgreSQL database.
Quick Start
# Install dependencies
pip install -e ".[dev]"
# Run tests
pytest tests/ -v
# Local dev with Docker Compose
docker-compose up
Architecture
- Scrapers: Playwright-based browser automation for each retailer
- Parsers: Converts raw receipt data to structured
Purchase/PurchaseItemrecords - Database: SQLAlchemy 2.0 async; models inlined under
src/receiptwitness/shared/ - Events: Publishes
cartsnitch.receipts.ingestedto Redis after ingestion
Branches
dev— development, auto-deploys to dev clusteruat— user acceptance testingmain— production, auto-deploys to prod cluster
Description
Languages
Python
99.3%
Dockerfile
0.5%
Mako
0.2%