Skip to content

Commit e1cdb2f

Browse files
committed
fix(data): resolve 364 smartphone brand-prefix conflicts (same-chip duplicates)
Follow-up to #329, which merged the 50 identical-core brand-prefix pairs and left 717 pairs that disagreed on a core field (soc / release_date / ram_gb / battery_mah / weight_g / os) documented but unresolved. This resolves the largest, highest- confidence slice of those. Classification of the 717 (scripted, then spot-verified against sources): - The soc "conflict" in 572 pairs is two DIFFERENT slugs that both resolve to a real soc record. For 414 of those the two slugs are the SAME physical chip with a different spelling (e.g. "qualcomm-msm7227-snapdragon-s1" vs "qualcomm-msm7227", "qualcomm-msm8260a-snapdragon-s4-plus" vs "qualcomm-snapdragon-s4-msm8260a") — not a real spec difference. - The other conflicts on those same-chip pairs are the fabricated import placeholders (weight_g=150.0, battery_mah=1500, and the generic YYYY-01-01 launch date) that #329 already flagged as a systemic bulk-import bug. This commit merges the 364 same-chip pairs whose two sides are a GSMArena scrape (bare slug, Kaggle `gsmarena-mobile-devices`, carries a `raw_gsmarena` block) and a phonedb.net twin (brand-prefixed slug). Keeper = the GSMArena record: - Its specs are the real ones. Spot-verified: Acer DX650 weighs 133 g (GSMArena, imei.org, softpedia) — the phonedb twin's 150.0 g is the stamped placeholder; Acer CloudMobile S500 is 122 g (GSMArena) vs phonedb's 150.0. - soc kept as the keeper's slug (confirmed FK-valid for all 364; same physical chip). - name upgraded to the brand-inclusive form ("Acer DX650" over "DX650"). - source_urls unioned so the phonedb.net reference is retained. - verified left unchanged — NOT flipped to true, because the phonedb side's scalar values proved unreliable (fabricated weights), so it is not a trustworthy source. - release_date left as the keeper's value and NOT resolved here: the phonedb twin's specific dates are unreliable too (phonedb says Acer DX650 = 2009-03 but GSMArena/imei say 2009-06), so importing them would be guessing. Dates are reported as still-unresolved rather than changed. The redundant phonedb twin file is deleted. No scalar value was invented; in every one of these 364 pairs the keeper already held the real GSMArena value and only the deleted twin carried the placeholder. Left for follow-up (documented on #296): 37 same-chip pairs sourced against vendor /Wikipedia pages rather than phonedb, 157 pairs with a genuine ram/weight/battery question needing per-record sourcing, and 158 pairs whose soc slugs are two different chips — several of which are genuinely different devices that share a name (e.g. Honor Magic V2 SD8Gen2 vs Kirin 9000S, Huawei P50 Pro SD888 vs Kirin 9000, HTC One M9 Helio X10 vs Snapdragon 810) and will be un-paired, not merged. Both gates pass: `python -m app.validate` and `integrity_check.py <data> --strict` (0 hard anomalies). Closes #296
1 parent 2360ec8 commit e1cdb2f

728 files changed

Lines changed: 1126 additions & 10219 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎data/smartphone/acer/2009/acer-dx650.json‎

Lines changed: 0 additions & 22 deletions
This file was deleted.

‎data/smartphone/acer/2009/dx650.json‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"slug": "dx650",
33
"base_model_slug": "dx650",
4-
"name": "DX650",
4+
"name": "Acer DX650",
55
"brand": "acer",
66
"soc": "533-mhz-samsung-s3c-6410",
77
"release_date": "2009-01-01",
@@ -11,7 +11,8 @@
1111
"os": "Windows Mobile",
1212
"verified": false,
1313
"source_urls": [
14-
"https://www.kaggle.com/datasets/msainani/gsmarena-mobile-devices"
14+
"https://www.kaggle.com/datasets/msainani/gsmarena-mobile-devices",
15+
"https://phonedb.net/index.php?m=device&id=1745"
1516
],
1617
"display": {
1718
"size_inch": 2.8,

‎data/smartphone/acer/2010/acer-betouch-e400.json‎

Lines changed: 0 additions & 22 deletions
This file was deleted.

‎data/smartphone/acer/2010/acer-neotouch-p400.json‎

Lines changed: 0 additions & 22 deletions
This file was deleted.

‎data/smartphone/acer/2010/betouch-e400.json‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"slug": "betouch-e400",
33
"base_model_slug": "betouch-e400",
4-
"name": "beTouch E400",
4+
"name": "Acer beTouch E400",
55
"brand": "acer",
66
"soc": "qualcomm-msm7227-snapdragon-s1",
77
"release_date": "2010-01-01",
@@ -11,7 +11,8 @@
1111
"os": "Android",
1212
"verified": false,
1313
"source_urls": [
14-
"https://www.kaggle.com/datasets/msainani/gsmarena-mobile-devices"
14+
"https://www.kaggle.com/datasets/msainani/gsmarena-mobile-devices",
15+
"https://phonedb.net/index.php?m=device&id=2246"
1516
],
1617
"display": {
1718
"size_inch": 3.2,

‎data/smartphone/acer/2010/neotouch-p400.json‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"slug": "neotouch-p400",
33
"base_model_slug": "neotouch-p400",
4-
"name": "neoTouch P400",
4+
"name": "Acer neoTouch P400",
55
"brand": "acer",
66
"soc": "qualcomm-msm7227-snapdragon-s1",
77
"release_date": "2010-01-01",
@@ -11,7 +11,8 @@
1111
"os": "Windows Mobile",
1212
"verified": false,
1313
"source_urls": [
14-
"https://www.kaggle.com/datasets/msainani/gsmarena-mobile-devices"
14+
"https://www.kaggle.com/datasets/msainani/gsmarena-mobile-devices",
15+
"https://phonedb.net/index.php?m=device&id=2236"
1516
],
1617
"display": {
1718
"size_inch": 3.2,

‎data/smartphone/acer/2012/acer-cloudmobile-s500.json‎

Lines changed: 0 additions & 25 deletions
This file was deleted.

‎data/smartphone/acer/2012/acer-liquid-glow-e330.json‎

Lines changed: 0 additions & 25 deletions
This file was deleted.

‎data/smartphone/acer/2012/cloudmobile-s500.json‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"slug": "cloudmobile-s500",
33
"base_model_slug": "cloudmobile-s500",
4-
"name": "CloudMobile S500",
4+
"name": "Acer CloudMobile S500",
55
"brand": "acer",
66
"soc": "qualcomm-msm8260a-snapdragon-s4-plus",
77
"release_date": "2012-01-01",
@@ -11,7 +11,8 @@
1111
"os": "Android",
1212
"verified": false,
1313
"source_urls": [
14-
"https://www.kaggle.com/datasets/msainani/gsmarena-mobile-devices"
14+
"https://www.kaggle.com/datasets/msainani/gsmarena-mobile-devices",
15+
"https://phonedb.net/index.php?m=device&id=3407"
1516
],
1617
"storage_options_gb": [
1718
1,

‎data/smartphone/acer/2012/liquid-glow-e330.json‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"slug": "liquid-glow-e330",
33
"base_model_slug": "liquid-glow-e330",
4-
"name": "Liquid Glow E330",
4+
"name": "Acer Liquid Glow E330",
55
"brand": "acer",
66
"soc": "qualcomm-msm7227a-snapdragon-s1",
77
"release_date": "2012-01-01",
@@ -11,7 +11,8 @@
1111
"os": "Android",
1212
"verified": false,
1313
"source_urls": [
14-
"https://www.kaggle.com/datasets/msainani/gsmarena-mobile-devices"
14+
"https://www.kaggle.com/datasets/msainani/gsmarena-mobile-devices",
15+
"https://phonedb.net/index.php?m=device&id=3413"
1516
],
1617
"storage_options_gb": [
1718
1

0 commit comments

Comments
 (0)