Skip to content

data: import GSMArena tablet, watch, and PDA records (373)#97

Merged
Seungpyo1007 merged 6 commits into
mainfrom
data/import-staging
Jun 30, 2026
Merged

data: import GSMArena tablet, watch, and PDA records (373)#97
Seungpyo1007 merged 6 commits into
mainfrom
data/import-staging

Conversation

@Seungpyo1007

Copy link
Copy Markdown
Member

What & why

Bulk import of 373 new GSMArena-scraped records across three categories, plus a supporting validator rule and a surgical static-dump refresh. All records land as verified: false (verified later in TechEngine / manually).

Category Added
tablet 306
watch 46
pda 21
total 373

Commits (each Refs #1):

  • validate: add storage_options_gb integer range check — reject non-integer / <1 GB values (the field these records populate).
  • data(pda): import GSMArena HP iPaq and Palm PDA records (21)
  • data(watch): import GSMArena smartwatch records (Apple, Huawei, LG, Samsung) (46)
  • data(tablet): import GSMArena tablets — Samsung, Huawei, Lenovo, LG, Sony
  • data(tablet): import GSMArena tablets — Apple, Asus, Acer and other brands
  • chore(site): refresh public dump after GSMArena tablet/watch/pda import

Closes #1

Source

GSMArena device pages (scraped; *-scrapegsma-* slug suffix). Each record carries source_urls.

Dump

Regenerated via TechEngine app.dump at the pinned submodule c0928f9 (scoring v2.0.0). Only the 373 new records and the affected category indexes + manifest counts are committed (tablets 3048→3354, watches 378→424, pdas 110→131) — no timestamp-churn on unchanged records.

Checklist

  • python -m app.validate passes locally (full dataset, ✅)
  • python TechEngine/integrity_check.py data --strict — no hard anomalies
  • git diff --check — no whitespace errors
  • Files live at the correct data/<category>/<...>/<slug>.json path
  • Slugs are kebab-case and unique within the category
  • source_urls cites at least one canonical reference

Reject non-integer or <1 GB values in storage_options_gb so the
GSMArena tablet/watch import is validated against a sane range
(mirrors the field the imported records populate).

Refs #1
17 legacy PDA records scraped from GSMArena (HP iPaq h63xx/hw69xx/
rw68xx/5xx/6xx/9xx series, Palm). Bulk import, verified:false.

Refs #1
…amsung)

46 smartwatch records scraped from GSMArena across Apple Watch
generations, Huawei, LG, Samsung, Asus and others. Bulk import,
verified:false.

Refs #1
…Sony

Major-brand slice of the GSMArena tablet scrape (Galaxy Tab line,
MediaPad/MatePad, Lenovo Tab/Yoga, LG G Pad, Sony Xperia Tablet).
Bulk import, verified:false.

Refs #1
…rands

Remaining GSMArena tablet scrape: Apple iPad, Asus tablets, Acer
Iconia, plus Xiaomi, HP, Vodafone, ZTE, BlackBerry, Amazon and
smaller brands. Bulk import, verified:false.

Refs #1
Add the 373 new tablet/watch/pda records to the static v1 dump and
bump the category index counts (tablets 3048->3354, watches 378->424,
pdas 110->131). Regenerated via TechEngine app.dump at the pinned
submodule c0928f9 (scoring v2.0.0); only the new records and affected
indexes are committed.

Refs #1
@Seungpyo1007 Seungpyo1007 added enhancement New feature or request data Dataset changes labels Jun 30, 2026
@Seungpyo1007 Seungpyo1007 self-assigned this Jun 30, 2026
@github-actions github-actions Bot added the app Validator or application code changes label Jun 30, 2026
@Seungpyo1007 Seungpyo1007 moved this from Todo to In Progress in TechAPI-Project Jun 30, 2026
@TechEngineBot

Copy link
Copy Markdown
Member

🔎 Data verification — Tier 0 (offline existence/trust)

Scored by app.verify; posted by TechEngineBot. Informational only — the structural gate (app.validate) is separate and authoritative for merge.

Changed records in this PR

373 record(s) scored.

%%{init: {"theme":"base","themeVariables":{"pie1":"#3fb950","pie2":"#d29922","pie3":"#f85149","pieStrokeWidth":"0px","pieOpacity":"1"}}}%%
pie showData
    title Verification bands — all records
    "Green" : 0
    "Yellow" : 373
    "Red" : 0
Loading
Category Distribution Total 🟢 🟡 🔴 🟢 %
tablet 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 306 0 306 0 0.0%
watch 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 46 0 46 0 0.0%
pda 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 21 0 21 0 0.0%
All 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 373 0 373 0 0.0%

Full-dataset baseline

102327 record(s) scored.

%%{init: {"theme":"base","themeVariables":{"pie1":"#3fb950","pie2":"#d29922","pie3":"#f85149","pieStrokeWidth":"0px","pieOpacity":"1"}}}%%
pie showData
    title Verification bands — all records
    "Green" : 10029
    "Yellow" : 89835
    "Red" : 2463
Loading
Category Distribution Total 🟢 🟡 🔴 🟢 %
brand 🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 189 10 179 0 5.3%
soc 🟩🟨🟨🟨🟨🟥🟥🟥🟥🟥🟥🟥 2104 123 680 1301 5.8%
smartphone 🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟥 90118 8453 80547 1118 9.4%
tablet 🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟥 3354 174 3152 28 5.2%
watch 🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟥 424 11 403 10 2.6%
pda 🟩🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟥 131 27 98 6 20.6%
gpu 🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 2030 245 1785 0 12.1%
cpu 🟩🟩🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨 3977 986 2991 0 24.8%
All 🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟥 102327 10029 89835 2463 9.8%

green = authoritative source + complete + consistent · yellow = plausible, needs confirmation · red = sparse/weak source or a hard contradiction. Promotion to verified runs in the scheduled verify-network workflow.

@TechEngineBot

Copy link
Copy Markdown
Member

TechEngine change review: PASS

Check Result
python -m app.validate PASS
python integrity_check.py TechAPI/data --strict PASS

Changed data

Category Added Modified Deleted Added verified Added unverified Added Kaggle-sourced
brand 0 0 0 0 0 0
soc 0 0 0 0 0 0
smartphone 0 0 0 0 0 0
tablet 306 0 0 0 306 0
watch 46 0 0 0 46 0
pda 21 0 0 0 21 0
gpu 0 0 0 0 0 0
cpu 0 0 0 0 0 0

Changed record examples

tablet added

  • tablet/acer/2011/iconia-tab-a100/acer-iconia-tab-a100-scrapegsma-1774.json - Acer Iconia Tab A100
  • tablet/acer/2011/iconia-tab-a101/acer-iconia-tab-a101-scrapegsma-1773.json - Acer Iconia Tab A101
  • tablet/acer/2011/iconia-tab-a500/acer-iconia-tab-a500-scrapegsma-1772.json - Acer Iconia Tab A500
  • tablet/acer/2011/iconia-tab-a501/acer-iconia-tab-a501-scrapegsma-1770.json - Acer Iconia Tab A501
  • tablet/acer/2012/iconia-tab-a110/acer-iconia-tab-a110-scrapegsma-1756.json - Acer Iconia Tab A110
  • tablet/acer/2012/iconia-tab-a200/acer-iconia-tab-a200-scrapegsma-1763.json - Acer Iconia Tab A200
  • tablet/acer/2012/iconia-tab-a210/acer-iconia-tab-a210-scrapegsma-1762.json - Acer Iconia Tab A210
  • tablet/acer/2012/iconia-tab-a510/acer-iconia-tab-a510-scrapegsma-1767.json - Acer Iconia Tab A510
  • tablet/acer/2012/iconia-tab-a511/acer-iconia-tab-a511-scrapegsma-1766.json - Acer Iconia Tab A511
  • tablet/acer/2012/iconia-tab-a700/acer-iconia-tab-a700-scrapegsma-1765.json - Acer Iconia Tab A700
  • tablet/acer/2012/iconia-tab-a701/acer-iconia-tab-a701-scrapegsma-1764.json - Acer Iconia Tab A701
  • tablet/acer/2013/iconia-tab-a1-810/acer-iconia-tab-a1-810-scrapegsma-1749.json - Acer Iconia Tab A1-810
  • tablet/acer/2013/iconia-tab-a1-811/acer-iconia-tab-a1-811-scrapegsma-1748.json - Acer Iconia Tab A1-811
  • tablet/acer/2013/iconia-tab-a3/acer-iconia-tab-a3-scrapegsma-1747.json - Acer Iconia Tab A3
  • tablet/acer/2013/iconia-tab-b1-710/acer-iconia-tab-b1-710-scrapegsma-1754.json - Acer Iconia Tab B1-710
  • ... 291 more

watch added

  • watch/apple/2014/watch-38mm-1st-gen/apple-watch-38mm-1st-gen-scrapegsma-2382.json - Apple Watch 38mm (1st gen)
  • watch/apple/2014/watch-42mm-1st-gen/apple-watch-42mm-1st-gen-scrapegsma-2381.json - Apple Watch 42mm (1st gen)
  • watch/apple/2014/watch-edition-38mm-1st-gen/apple-watch-edition-38mm-1st-gen-scrapegsma-2380.json - Apple Watch Edition 38mm (1st gen)
  • watch/apple/2014/watch-edition-42mm-1st-gen/apple-watch-edition-42mm-1st-gen-scrapegsma-2379.json - Apple Watch Edition 42mm (1st gen)
  • watch/apple/2014/watch-sport-38mm-1st-gen/apple-watch-sport-38mm-1st-gen-scrapegsma-2384.json - Apple Watch Sport 38mm (1st gen)
  • watch/apple/2014/watch-sport-42mm-1st-gen/apple-watch-sport-42mm-1st-gen-scrapegsma-2383.json - Apple Watch Sport 42mm (1st gen)
  • watch/apple/2016/watch-edition-series-2-38mm/apple-watch-edition-series-2-38mm-scrapegsma-2364.json - Apple Watch Edition Series 2 38mm
  • watch/apple/2016/watch-edition-series-2-42mm/apple-watch-edition-series-2-42mm-scrapegsma-2363.json - Apple Watch Edition Series 2 42mm
  • watch/apple/2016/watch-series-1-aluminum-38mm/apple-watch-series-1-aluminum-38mm-scrapegsma-2370.json - Apple Watch Series 1 Aluminum 38mm
  • watch/apple/2016/watch-series-1-aluminum-42mm/apple-watch-series-1-aluminum-42mm-scrapegsma-2368.json - Apple Watch Series 1 Aluminum 42mm
  • watch/apple/2016/watch-series-2-38mm/apple-watch-series-2-38mm-scrapegsma-2366.json - Apple Watch Series 2 38mm
  • watch/apple/2016/watch-series-2-42mm/apple-watch-series-2-42mm-scrapegsma-2365.json - Apple Watch Series 2 42mm
  • watch/apple/2016/watch-series-2-aluminum-38mm/apple-watch-series-2-aluminum-38mm-scrapegsma-2369.json - Apple Watch Series 2 Aluminum 38mm
  • watch/apple/2016/watch-series-2-aluminum-42mm/apple-watch-series-2-aluminum-42mm-scrapegsma-2367.json - Apple Watch Series 2 Aluminum 42mm
  • watch/apple/2017/watch-edition-series-3/apple-watch-edition-series-3-scrapegsma-2357.json - Apple Watch Edition Series 3
  • ... 31 more

pda added

  • pda/hp/2004/ipaq-h6310/hp-ipaq-h6310-scrapegsma-3824.json - HP iPAQ h6310
  • pda/hp/2004/ipaq-h6315/hp-ipaq-h6315-scrapegsma-3823.json - HP iPAQ h6315
  • pda/hp/2004/ipaq-h6320/hp-ipaq-h6320-scrapegsma-3822.json - HP iPAQ h6320
  • pda/hp/2004/ipaq-h6325/hp-ipaq-h6325-scrapegsma-3821.json - HP iPAQ h6325
  • pda/hp/2005/ipaq-hw6510/hp-ipaq-hw6510-scrapegsma-3820.json - HP iPAQ hw6510
  • pda/hp/2005/ipaq-hw6515/hp-ipaq-hw6515-scrapegsma-3819.json - HP iPAQ hw6515
  • pda/hp/2006/ipaq-hw6910/hp-ipaq-hw6910-scrapegsma-3818.json - HP iPAQ hw6910
  • pda/hp/2006/ipaq-hw6915/hp-ipaq-hw6915-scrapegsma-3817.json - HP iPAQ hw6915
  • pda/hp/2006/ipaq-rw6815/hp-ipaq-rw6815-scrapegsma-3814.json - HP iPAQ rw6815
  • pda/hp/2006/ipaq-rw6818/hp-ipaq-rw6818-scrapegsma-3816.json - HP iPAQ rw6818
  • pda/hp/2006/ipaq-rw6828/hp-ipaq-rw6828-scrapegsma-3815.json - HP iPAQ rw6828
  • pda/hp/2007/ipaq-514/hp-ipaq-514-scrapegsma-3813.json - HP iPAQ 514
  • pda/hp/2007/ipaq-610c/hp-ipaq-610c-scrapegsma-3812.json - HP iPAQ 610c
  • pda/hp/2007/ipaq-910c/hp-ipaq-910c-scrapegsma-3811.json - HP iPAQ 910c
  • pda/hp/2008/ipaq-data-messenger/hp-ipaq-data-messenger-scrapegsma-3810.json - HP iPAQ Data Messenger
  • ... 6 more

Heuristic review

  • Added records by manufacturer/brand: samsung: 89, huawei: 58, apple: 45, lenovo: 33, asus: 29, lg: 24, acer: 21, hp: 20
  • Added records by source class: other: 373
  • Heuristic warnings: none found.

@TechEngineBot

Copy link
Copy Markdown
Member

TechEngine validation stats: PASS

Data summary

Category Total Verified Unverified Missing verified Tracked Verified % of tracked
brand 189 10 179 0 189 5.3%
soc 2104 123 1981 0 2104 5.8%
smartphone 90118 8453 81665 0 90118 9.4%
tablet 3354 174 3180 0 3354 5.2%
watch 424 11 413 0 424 2.6%
pda 131 27 104 0 131 20.6%
gpu 2030 244 1786 0 2030 12.0%
cpu 3977 986 2991 0 3977 24.8%
all 102327 10028 92299 0 102327 9.8%

Warning

Tracked verified coverage is below 50% for watch 2.6% (11/424), tablet 5.2% (174/3354), brand 5.3% (10/189), soc 5.8% (123/2104), smartphone 9.4% (8453/90118), all 9.8% (10028/102327), gpu 12.0% (244/2030), pda 20.6% (27/131), and 1 more.
Tracked coverage excludes records missing the verified field; see the Missing verified column for those records.
This does not fail validation. Keep imported records verified: false until manual audit, but treat this as follow-up verification work before relying on the affected categories as curated data.

Validation notes

  • Full advisory outlier listings are suppressed on successful runs because they are dataset-wide and mostly stable between PRs.
  • Failure runs still include a detailed log excerpt for debugging.

Key output:

## app.validate
## integrity_check.py --strict
loaded CPU=3977 GPU=2030
✅ integrity gate: no hard anomalies.
Integrity section Flagged lines
structural 0
CPU name/tier consistency (desktop mainstream only) 0
CPU single>multi (cinebench/geekbench — should be multi>=single) 0
CPU era-vs-score outliers 8
CPU cross-source ratio outliers (possible wrong-variant) 152
GPU cross-source ratio outliers + sanity 18

@Seungpyo1007

Copy link
Copy Markdown
Member Author

🤖 Review — PASS

Validation run locally

Check Command Result
Schema/self-check python -m app.validate ✅ Data validation passed (full dataset)
Integrity gate python TechEngine/integrity_check.py data --strict ✅ no hard anomalies
Whitespace git diff --check origin/main..HEAD ✅ none

Data-change summary

  • Added: 373 records — tablet 306, watch 46, pda 21
  • Modified: 0
  • Deleted: 0
  • All new records are verified: false (bulk import), each with source_urls.
  • Supporting code: app/validate.py gains a storage_options_gb integer-GB range check.

Example records

  • data/tablet/acer/2011/iconia-tab-a100/acer-iconia-tab-a100-scrapegsma-1774.json
  • data/watch/apple/2014/watch-38mm-1st-gen/apple-watch-38mm-1st-gen-scrapegsma-2382.json
  • data/pda/hp/2004/ipaq-h6310/hp-ipaq-h6310-scrapegsma-3824.json

Heuristic warnings

  • Integrity gate emitted only soft GPU benchmark-ratio notes on pre-existing GPU records (out of scope for this import); no hard anomalies.

Site build

  • No site/src changes. site/public/v1 dump regenerated via TechEngine app.dump at pinned submodule c0928f9 (scoring v2.0.0); only the 373 new records + affected category indexes/manifest committed (no timestamp churn).

@Seungpyo1007

Copy link
Copy Markdown
Member Author

📊 Dataset stats (post-merge projection)

Metric Count
Total records 102,327
verified: true 10,028
verified: false 92,293
missing verified 6
Verified ratio 9.80%

Warning

Verified ratio is 9.80%, well below 50%. This is expected for the ongoing bulk-import campaign — the 373 new GSMArena records land as verified: false and are promoted later via the TechEngine verify-network reality check. The 6 records missing a verified field are pre-existing and unrelated to this PR.

@Seungpyo1007 Seungpyo1007 merged commit 29fca23 into main Jun 30, 2026
5 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in TechAPI-Project Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app Validator or application code changes data Dataset changes enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Massive dataset rebuild: CPU + brand + GPU + smartphone + SoC (1989-2026)

2 participants