Skip to content

feat: add 43 missing Selangor cities to Malaysia dataset#1371

Merged
dr5hn merged 1 commit into
masterfrom
fix/1330-malaysia-selangor
Mar 28, 2026
Merged

feat: add 43 missing Selangor cities to Malaysia dataset#1371
dr5hn merged 1 commit into
masterfrom
fix/1330-malaysia-selangor

Conversation

@dr5hn
Copy link
Copy Markdown
Owner

@dr5hn dr5hn commented Mar 28, 2026

Rebased version of #1330 (data-only, no BQ.json/countries.json/schema.sql contamination). Adds 43 Selangor cities. Closes #1330

Adds cities including Cyberjaya, Kajang, Port Klang, Seri Kembangan,
Batu Caves, Ampang Jaya, and 37 more Selangor municipalities.

Closes #1330

Co-Authored-By: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
@dr5hn dr5hn merged commit 04df77c into master Mar 28, 2026
1 check passed
@dosubot dosubot Bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Mar 28, 2026
@dr5hn dr5hn deleted the fix/1330-malaysia-selangor branch March 28, 2026 09:52
@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:cities

Schema Validation (223 records)

Errors (blocking):

  • ❌ contributions/cities/MY.json: Record 1 ("Alor Gajah"): "id" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 1 ("Alor Gajah"): "created_at" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 1 ("Alor Gajah"): "updated_at" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 1 ("Alor Gajah"): "flag" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 2 ("Alor Setar"): "id" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 2 ("Alor Setar"): "created_at" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 2 ("Alor Setar"): "updated_at" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 2 ("Alor Setar"): "flag" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 3 ("Ampang"): "id" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 3 ("Ampang"): "created_at" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 3 ("Ampang"): "updated_at" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 3 ("Ampang"): "flag" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 4 ("Ayer Hangat"): "id" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 4 ("Ayer Hangat"): "created_at" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 4 ("Ayer Hangat"): "updated_at" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 4 ("Ayer Hangat"): "flag" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 5 ("Bagan Pulau Ketam"): "id" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 5 ("Bagan Pulau Ketam"): "created_at" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 5 ("Bagan Pulau Ketam"): "updated_at" must not be included (auto-managed)
  • ❌ contributions/cities/MY.json: Record 5 ("Bagan Pulau Ketam"): "flag" must not be included (auto-managed)
  • ...and 872 more errors

Warnings:

  • ⚠️ contributions/cities/MY.json: Record 1 ("Alor Gajah"): unknown field "type"
  • ⚠️ contributions/cities/MY.json: Record 1 ("Alor Gajah"): unknown field "level"
  • ⚠️ contributions/cities/MY.json: Record 1 ("Alor Gajah"): unknown field "parent_id"
  • ⚠️ contributions/cities/MY.json: Record 1 ("Alor Gajah"): unknown field "native"
  • ⚠️ contributions/cities/MY.json: Record 1 ("Alor Gajah"): unknown field "population"
  • ⚠️ contributions/cities/MY.json: Record 1 ("Alor Gajah"): unknown field "translations"
  • ⚠️ contributions/cities/MY.json: Record 2 ("Alor Setar"): unknown field "type"
  • ⚠️ contributions/cities/MY.json: Record 2 ("Alor Setar"): unknown field "level"
  • ⚠️ contributions/cities/MY.json: Record 2 ("Alor Setar"): unknown field "parent_id"
  • ⚠️ contributions/cities/MY.json: Record 2 ("Alor Setar"): unknown field "native"
  • ...and 1328 more warnings

Cross-Reference Validation

✅ 446 reference(s) verified

Geo-Bounds Check

✅ All 223 coordinate(s) within expected country bounds

Duplicate Detection

  • ⚠️ contributions/cities/MY.json: Record 1 ("Alor Gajah") appears to be a duplicate of existing "Alor Gajah" (id: 76409, distance: 0.0km)
  • ⚠️ contributions/cities/MY.json: Record 2 ("Alor Setar") appears to be a duplicate of existing "Alor Setar" (id: 76410, distance: 0.0km)
  • ⚠️ contributions/cities/MY.json: Record 3 ("Ampang") appears to be a duplicate of existing "Ampang" (id: 76411, distance: 0.0km)
  • ⚠️ contributions/cities/MY.json: Record 4 ("Ayer Hangat") appears to be a duplicate of existing "Ayer Hangat" (id: 76412, distance: 0.0km)
  • ⚠️ contributions/cities/MY.json: Record 5 ("Bagan Pulau Ketam") appears to be a duplicate of existing "Bagan Pulau Ketam" (id: 76413, distance: 0.0km)
  • ⚠️ contributions/cities/MY.json: Record 6 ("Bagan Serai") appears to be a duplicate of existing "Bagan Serai" (id: 76414, distance: 0.0km)
  • ⚠️ contributions/cities/MY.json: Record 7 ("Bahau") appears to be a duplicate of existing "Bahau" (id: 76415, distance: 0.0km)
  • ⚠️ contributions/cities/MY.json: Record 8 ("Bakri") appears to be a duplicate of existing "Bakri" (id: 76416, distance: 0.0km)
  • ⚠️ contributions/cities/MY.json: Record 9 ("Bandar Labuan") appears to be a duplicate of existing "Bandar Labuan" (id: 76417, distance: 0.0km)
  • ⚠️ contributions/cities/MY.json: Record 10 ("Banting") appears to be a duplicate of existing "Banting" (id: 76418, distance: 0.0km)

892 error(s), 1561 warning(s) | Status: Changes required

Please fix the errors above and push a new commit. Refer to our Contribution Guidelines for details.

@dosubot dosubot Bot added the enhancement New feature or request label Mar 28, 2026
dr5hn added a commit that referenced this pull request Mar 28, 2026
The 43 Selangor cities added in #1371 had IDs assigned by the Copilot
agent that collided with existing IDs in SA.json (160557-160558) and
US.json (161557-161558). Stripped IDs so MySQL AUTO_INCREMENT assigns
unique ones during import.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data:cities enhancement New feature or request needs-changes size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant