Skip to content

feat(postcodes/MD): bulk-import 1,316 Moldova postcodes via Poșta Moldovei (#1039)#1467

Merged
dr5hn merged 1 commit into
masterfrom
feat/postcodes-moldova
Apr 27, 2026
Merged

feat(postcodes/MD): bulk-import 1,316 Moldova postcodes via Poșta Moldovei (#1039)#1467
dr5hn merged 1 commit into
masterfrom
feat/postcodes-moldova

Conversation

@dr5hn
Copy link
Copy Markdown
Owner

@dr5hn dr5hn commented Apr 27, 2026

Summary

Adds 1,316 Moldova postcodes spanning 35 of 37 CSC raions/special
units, sourced from the vasilcovsky/moldova-geodata per-district
CSVs of the Poșta Moldovei catalogue.

  • Coverage: 35/37 raions in the source; Bender and
    Basarabeasca are absent from the upstream feed and will be
    backfilled if a comprehensive source surfaces.
  • Granularity: locality level — one record per
    (MD-prefixed code, locality) pair, plus centroid lat/lng.
  • Format: codes are prefixed with the canonical MD- required
    by the country regex ^MD-\d{4}$.

Source & licence

Validation

  • python3 -m py_compile clean.
  • 100% of 1,316 codes match country.postal_code_regex (^MD-\d{4}$).
  • 100% of records resolve a valid state_id whose country_id == 144
    and whose iso2 matches state_code.
  • No auto-managed fields (id, created_at, updated_at, flag).

Test plan

  • Importer compiles and runs on a clean checkout.
  • Cross-reference validator passes (regex + FK + state_code agreement).
  • Idempotent merge verified.
  • CI pipeline green.

Refs #1039.

🤖 Generated with Claude Code

…dovei (#1039)

Source: Poșta Moldovei catalogue redistributed via the
vasilcovsky/moldova-geodata per-district CSVs (35 raions plus
Chișinău/Bălți/Gagauzia/Transnistria). Each code is prefixed with
the canonical "MD-" required by the country regex; state FK resolves
via filename ASCII-fold against states.json (100% of present rows
match; the 35 source files cover 35 of CSC's 37 states — Bender and
Basarabeasca are absent from the source).

Refs #1039.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 27, 2026 14:22
@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Apr 27, 2026
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.

@github-actions
Copy link
Copy Markdown
Contributor

CSC Validation Report

PR Format

  • ✅ Description provided
  • ✅ Data source linked
  • ✅ Issue linked (recommended for data changes)
  • ✅ Justification / context provided

Labels applied: data:postcodes, large-contribution

⚠️ Large Contribution

This PR contains 1316 records. Large contributions require manual review.

Schema Validation (1316 records)

✅ All records passed validation

Cross-Reference Validation

✅ 2632 reference(s) verified

Geo-Bounds Check

  • ⚠️ contributions/postcodes/MD.json: Record 274: coordinates (45.8458, 28.1947) fall outside MD bounds [46.32, 48.47] x [26.62, 30.13] (with 0.45deg tolerance)
  • ⚠️ contributions/postcodes/MD.json: Record 280: coordinates (45.8631, 28.3006) fall outside MD bounds [46.32, 48.47] x [26.62, 30.13] (with 0.45deg tolerance)
  • ⚠️ contributions/postcodes/MD.json: Record 281: coordinates (45.8561, 28.2917) fall outside MD bounds [46.32, 48.47] x [26.62, 30.13] (with 0.45deg tolerance)
  • ⚠️ contributions/postcodes/MD.json: Record 717: coordinates (45.5992, 28.4494) fall outside MD bounds [46.32, 48.47] x [26.62, 30.13] (with 0.45deg tolerance)
  • ⚠️ contributions/postcodes/MD.json: Record 718: coordinates (45.6778, 28.1742) fall outside MD bounds [46.32, 48.47] x [26.62, 30.13] (with 0.45deg tolerance)
  • ⚠️ contributions/postcodes/MD.json: Record 719: coordinates (45.7581, 28.5069) fall outside MD bounds [46.32, 48.47] x [26.62, 30.13] (with 0.45deg tolerance)
  • ⚠️ contributions/postcodes/MD.json: Record 720: coordinates (45.7217, 28.3917) fall outside MD bounds [46.32, 48.47] x [26.62, 30.13] (with 0.45deg tolerance)
  • ⚠️ contributions/postcodes/MD.json: Record 721: coordinates (45.80667, 28.42778) fall outside MD bounds [46.32, 48.47] x [26.62, 30.13] (with 0.45deg tolerance)
  • ⚠️ contributions/postcodes/MD.json: Record 722: coordinates (45.80667, 28.42778) fall outside MD bounds [46.32, 48.47] x [26.62, 30.13] (with 0.45deg tolerance)
  • ⚠️ contributions/postcodes/MD.json: Record 723: coordinates (45.5378, 28.17) fall outside MD bounds [46.32, 48.47] x [26.62, 30.13] (with 0.45deg tolerance)

Source URL Verification

✅ 1 source URL(s) accessible


0 errors, 29 warning(s) | Status: Ready for review (with warnings)

@dosubot dosubot Bot added the enhancement New feature or request label Apr 27, 2026
@dr5hn dr5hn merged commit 90b7fd6 into master Apr 27, 2026
1 check passed
@dr5hn dr5hn deleted the feat/postcodes-moldova branch April 27, 2026 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data:postcodes enhancement New feature or request large-contribution ready-for-review size:XS This PR changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants