No description
  • Python 99.4%
  • Dockerfile 0.6%
Find a file
Denis c6968552e3 feat: versioning and supersession chain in validation
- Compute next_version (max active version + 1) per partner+service pair
- Set valid_to and superseded_by_item_id on deactivated items
- Persist version on newly activated items

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 21:45:38 +05:00
src/app feat: versioning and supersession chain in validation 2026-06-27 21:45:38 +05:00
tests feat: init 2026-06-27 09:53:02 +05:00
.env.example chore: update ports and switch Dockerfile to uv-native build 2026-06-27 12:54:40 +05:00
.gitignore feat: init 2026-06-27 09:53:02 +05:00
Dockerfile fix: docker 2026-06-27 13:37:05 +05:00
pyproject.toml feat: init 2026-06-27 09:53:02 +05:00
README.md feat: init 2026-06-27 09:53:02 +05:00
uv.lock feat: init 2026-06-27 09:53:02 +05:00

Validation Worker

Python worker that consumes ValidateDocumentItemsRequested, validates parsed/matched price items, creates validation issues/review tasks, activates eligible prices, and requests search reindexing.

Run

uv sync
uv run pytest
uv run python -m app.main

Optional health API:

uv run uvicorn app.health:app --host 0.0.0.0 --port 8083

Configuration

See .env.example. Key settings:

  • DATABASE_URL
  • QUEUE_KIND=redis_streams
  • REDIS_URL
  • PRICE_SPIKE_THRESHOLD_PERCENT=50
  • ALLOW_FUTURE_EFFECTIVE_DATE=false
  • ALLOW_WARNING_AUTO_ACTIVATION=false
  • REQUIRE_SOURCE_REF=true

Streams

Consumes ValidateDocumentItemsRequested from QUEUE_TOPIC_VALIDATE_ITEMS and publishes ValidationIssueCreated, ValidationCompleted, ReviewRequired, and SearchReindexRequested.