Skip to content

Latest commit

 

History

History
35 lines (24 loc) · 1.21 KB

File metadata and controls

35 lines (24 loc) · 1.21 KB

CLAUDE.md

MXmap (mxmap.ch) — an automated system that classifies where ~2100 Swiss municipalities host their email by fingerprinting DNS records and network infrastructure. Results are displayed on an interactive Leaflet map.

Commands

# Setup
uv sync --group dev

# Run pipeline (two stages, in order)
uv run resolve-domains          # Stage 1: resolve municipality domains
uv run classify-providers       # Stage 2: classify email providers

# Test
uv run pytest --cov --cov-report=term-missing    # 90% coverage threshold enforced
uv run pytest tests/test_probes.py -k test_mx     # single test
uv run pytest tests/test_data_validation.py -v    # data validation (requires JSON files)

# Lint & format
uv run ruff check src tests
uv run ruff format src tests

Data Files

  • overrides.json — manual classification corrections with reasons
  • municipality_domains.json — intermediate output from resolve stage
  • data.json — final classifications served to the frontend

What not to do

  • modify any data files directly without approval (especially data.json and municipality_domains.json, which are generated by the pipeline)
  • run the pipeline directly since it can time out and hides warnings