Commit b4ea1bd
committed
fix(data): merge 28 confirmed PDA near-duplicate records
Scanned the pda category (140 records, reviewed every match by hand) for the
three duplicate patterns the tablet/watch (#324) and smartphone (#329/#330)
passes turned up. Merged 28 redundant files into 21 keepers (140 -> 112),
keeping the better-sourced side field by field and unioning source_urls.
Pattern 1 - identical scrape imported twice under different row-id slugs
(100% identical specs, differ only by source_row):
- motorola/2002/accompli-388: kept ...-scrapegsma-344, deleted ...-1227.
- mitac/2005/mio-a701: kept ...-scrapegsma-278, deleted ...-1161.
Pattern 2 - same device under a brand-prefixed slug and a bare slug in sibling
dirs. Same convention as the #330 GSMArena/phonedb merge: kept the bare
GSMArena/Kaggle record (real specs + raw_gsmarena, sometimes Wikipedia),
upgraded name to the brand-inclusive form, unioned source_urls to retain the
phonedb reference, kept the keeper's soc/release_date, left verified as-is,
deleted the phonedb twin:
- treo-680 <- palm-treo-680-palm-lowrider ("Palm Treo 680")
- treo-750v <- palm-treo-750v-htc-cheetah ("Palm Treo 750v")
- treo-750 <- palm-treo-750-htc-cheetah ("Palm Treo 750")
- treo-500v <- palm-treo-500v-palm-otto ("Palm Treo 500v")
Treo 750 vs 750v and Treo 500 vs 500v were kept as distinct SKUs (only the
matching-model twins were merged). palm-treo-500-palm-otto (2008 Treo 500) is a
different device and was left alone.
Pattern 3 - cross-source duplicate: the same PDA imported as a clean short-slug
record and as a cigarplug/scrape-gsma row in the same base dir. Kept the clean
record (correct soc FK, canonical slug), deleted the scrape twin, and repaired
the keeper's ram_gb from the twin's cited memory_internal (the clean side
carried the fabricated ram_gb=1 placeholder; the scrape side had the real
value). The github.com/cigarplug/scrape-gsma URL was unioned so the repaired
RAM is sourced:
- 16 HP iPAQ pairs: h6310/h6315/h6320/h6325/hw6510/hw6515 -> 0.0625 GB (64 MB);
hw6910/hw6915/rw6815/rw6818/rw6828/514 -> 0.0625; 610c/910c/data-messenger/
voice-messenger -> 0.125 GB (128 MB).
- i-mate pda2 (two identical scrape twins, -1004 and -121) -> 0.125 GB.
- i-mate pda2k -> 0.125 GB; i-mate pdal -> 0.062 GB.
- palm treo-pro (3-way: bare + scrape-gsma-7066 + phonedb palm-treo-pro):
kept the bare Wikipedia-cited record, ram 1 -> 0.125 GB (128 MB), name ->
"Palm Treo Pro", unioned all four source_urls.
Left unmerged and documented (ambiguous, per "leave ambiguous unmerged"): the
GSM webOS palm-pre-scrapegsma-7065 and palm-pre-plus-scrapegsma-7063 overlap a
region-split family (palm-pre[-plus]-palm-castle-c CDMA and
palm-pre[-plus]-gsm-*-palm-castle-g EU/NA) but do not map 1:1, so no merge.
The EU/NA regional variant pairs (pixi-gsm, pixi-plus-gsm, pre-2-gsm,
pre[-plus]-gsm-castle-g) are legitimate separate SKUs and were left alone.
No value was invented: every ram_gb repair took the real figure already present
in the deleted twin's cited memory_internal. verified flags unchanged.
Both gates pass: `python -m app.validate` and `integrity_check.py <data>
--strict` (0 hard anomalies).
Refs #2961 parent ee4f2fe commit b4ea1bd
52 files changed
Lines changed: 74 additions & 1247 deletions
File tree
- data/pda
- hp
- 2004
- ipaq-h6310
- ipaq-h6315
- ipaq-h6320
- ipaq-h6325
- 2005
- ipaq-hw6510
- ipaq-hw6515
- 2006
- ipaq-hw6910
- ipaq-hw6915
- ipaq-rw6815
- ipaq-rw6818
- ipaq-rw6828
- 2007
- ipaq-514
- ipaq-610c
- ipaq-910c
- 2008
- ipaq-data-messenger
- ipaq-voice-messenger
- i-mate
- 2004
- pda2k
- pda2
- 2006/pdal
- mitac/2005/mio-a701
- motorola/2002/accompli-388
- palm
- 2006
- palm-treo-680-palm-lowrider
- palm-treo-750v-htc-cheetah
- treo-680
- treo-750v
- 2007
- palm-treo-500v-palm-otto
- palm-treo-750-htc-cheetah
- treo-500v
- treo-750
- 2008
- palm-treo-pro
- treo-pro
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 0 additions & 45 deletions
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
Lines changed: 0 additions & 45 deletions
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
Lines changed: 0 additions & 45 deletions
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
Lines changed: 0 additions & 45 deletions
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
Lines changed: 0 additions & 45 deletions
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
0 commit comments