Skip to content

fix(data): backfill Wikipedia Commons images for 28 devices - #318

Merged
Seungpyo1007 merged 2 commits into
developfrom
feat/wikipedia-device-images
Sep 28, 2026
Merged

Seungpyo1007 merged 2 commits into
developfrom
feat/wikipedia-device-images

Conversation

@Seungpyo1007

Copy link
Copy Markdown
Member

Backfill 28 freely licensed Commons photos for laptop, tablet, watch and PDA records that already cite Wikipedia and lack an image URL. The existing conservative image, model-filename and license filters were preserved; only the image URL, license and attribution fields were added.

Category Checked Accepted Rejected Logo/model/format rejection No image Bad license
laptop 44 12 32 18 14 0
monitor 0 0 0 0 0 0
tablet 48 11 37 24 13 0
watch 55 4 51 40 11 0
pda 16 1 15 12 2 1
Total 163 28 135 94 40 1

Ran the CLI from GetTechAPI/TechEngine#108 for each category:

python -m app.verify.wikipedia_image_backfill --data-root <TechAPI-worktree> --category <category> --include-missing-key --apply

The batches share the existing append-only data/_verify/state/wikipedia_image_cache.jsonl: all earlier rows were preserved and 163 decisions appended, keyed by repository-relative record paths. No network errors or incompatible-record skips occurred.

The final commit refreshes the affected collections through TechEngine's standard dump generator and preserves all other manifest entries. Exactly 28 detail pages changed, and each image URL was checked against its source record.

Validation:

  • Full-dataset python -m app.validate passed against this modified data.
  • python -m app.dump_check --base 2c2c152f2ba2 --base-ref develop passed across 12 categories and 191,837 records.
  • Image-only record diff and append-only cache audits passed; both worktrees are clean.
  • Tool validation: 23 focused tests, ruff and mypy passed locally; TechEngine CI passed all 534 tests with 77.62% coverage.

Closes #295

@github-actions github-actions Bot added bug Something isn't working data Dataset changes enhancement New feature or request labels Sep 28, 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.

12/12 categories ? 191,837 records ? diff base develop@2c2c152

Changed records in this PR

28 record(s) assessed.

%%{init: {"theme":"base","themeVariables":{"pie1":"#3fb950","pie2":"#d29922","pie3":"#f85149","pieStrokeWidth":"0px","pieOpacity":"1"}}}%%
pie showData
    title Verification bands — all records
    "Green" : 27
    "Yellow" : 1
    "Red" : 0
Loading
Category Distribution Total 🟢 🟡 🔴 🟢 %
tablet 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟨 11 10 1 0 90.9%
watch 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 4 4 0 0 100.0%
pda 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 1 1 0 0 100.0%
laptop 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 12 12 0 0 100.0%
All 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟨 28 27 1 0 96.4%

Full-dataset baseline

191837 record(s) assessed.

%%{init: {"theme":"base","themeVariables":{"pie1":"#3fb950","pie2":"#d29922","pie3":"#f85149","pieStrokeWidth":"0px","pieOpacity":"1"}}}%%
pie showData
    title Verification bands — all records
    "Green" : 32787
    "Yellow" : 157995
    "Red" : 1055
Loading
Category Distribution Total 🟢 🟡 🔴 🟢 %
brand 🟩🟩🟩🟩🟩🟩🟩🟨🟨🟨🟨🟨 207 122 85 0 58.9%
soc 🟩🟩🟨🟨🟨🟨🟨🟥🟥🟥🟥🟥 2117 284 837 996 13.4%
smartphone 🟩🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟥 93407 18003 75350 54 19.3%
tablet 🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟥 3459 292 3166 1 8.4%
watch 🟩🟩🟩🟨🟨🟨🟨🟨🟨🟨🟨🟥 447 94 350 3 21.0%
pda 🟩🟩🟩🟩🟩🟩🟩🟨🟨🟨🟨🟨 140 83 57 0 59.3%
gpu 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟨🟨🟨 2076 1529 547 0 73.7%
cpu 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟨🟥 4530 4234 295 1 93.5%
laptop 🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 1995 107 1888 0 5.4%
monitor 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 882 0 882 0 0.0%
software 🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 42493 366 42127 0 0.9%
website 🟩🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 40084 7673 32411 0 19.1%
All 🟩🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟥 191837 32787 157995 1055 17.1%

Hard violations (forced red):

Count Check
1 !boost_ge_base

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.

@Seungpyo1007
Seungpyo1007 merged commit 3891e50 into develop Sep 28, 2026
5 checks passed
@TechEngineBot

Copy link
Copy Markdown
Member

TechEngine change review: PASS

12/12 categories ? 191,837 records ? diff base develop@2c2c152

Check Result
python -m app.validate PASS
Changed dump JSON and manifest/index counts PASS
New hard integrity anomalies vs PR base 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 0 11 0 0 0 0
watch 0 4 0 0 0 0
pda 0 1 0 0 0 0
gpu 0 0 0 0 0 0
cpu 0 0 0 0 0 0
laptop 0 12 0 0 0 0
monitor 0 0 0 0 0 0
software 0 0 0 0 0 0
website 0 0 0 0 0 0

Changed record examples

tablet modified

  • tablet/asus/2012/padfone/asus-padfone-allphones-710-1gb-16gb-3g.json - Asus PadFone
  • tablet/asus/2012/padfone/asus-padfone-beridzeg45-2941-1gb.json - Asus PadFone
  • tablet/asus/2012/padfone/asus-padfone-scrapegsma-2600.json - Asus PadFone
  • tablet/hp/2011/hp-touchpad/hp-touchpad.json - HP TouchPad
  • tablet/hp/2011/touchpad/hp-touchpad-scrapegsma-3807.json - HP TouchPad
  • tablet/microsoft/2013/surface-2/microsoft-surface-2-allphones-2191-2gb-32gb.json - Microsoft Surface 2
  • tablet/samsung/2025/samsung-galaxy-tab-s11-ultra/samsung-galaxy-tab-s11-ultra.json - Samsung Galaxy Tab S11 Ultra
  • tablet/sony/2011/tablet-s/sony-tablet-s-allphones-7454-1gb-16gb.json - Sony Tablet S
  • tablet/sony/2012/xperia-tablet-s/sony-xperia-tablet-s-1gb-64gb-2g.json - Sony Xperia Tablet S
  • tablet/sony/2012/xperia-tablet-s/sony-xperia-tablet-s-allphones-7489-1gb-16gb.json - Sony Xperia Tablet S
  • tablet/sony/2012/xperia-tablet-s/sony-xperia-tablet-s-scrapegsma-9224.json - Sony Xperia Tablet S

watch modified

  • watch/google/2022/pixel-watch/google-pixel-watch-2gb-32gb-4g-lte.json - Google Pixel Watch
  • watch/google/2023/pixel-watch-2/google-pixel-watch-2-2gb-32gb-4g-lte.json - Google Pixel Watch 2
  • watch/samsung/2013/galaxy-gear/samsung-galaxy-gear-0-5gb-4gb-2g.json - Samsung Galaxy Gear
  • watch/samsung/2014/gear-s/gear-s.json - Gear S

pda modified

  • pda/palm/2009/pre/palm-pre-scrapegsma-7065.json - Palm Pre

laptop modified

  • laptop/apple/2016/apple-macbook-pro-13-2016-four-thunderbolt-3-ports.json - Apple MacBook Pro 13-inch (2016, Four Thunderbolt 3 Ports)
  • laptop/apple/2016/apple-macbook-pro-13-2016-two-thunderbolt-3-ports.json - Apple MacBook Pro 13-inch (2016, Two Thunderbolt 3 Ports)
  • laptop/apple/2016/apple-macbook-pro-15-2016.json - Apple MacBook Pro 15-inch (2016)
  • laptop/apple/2021/apple-macbook-pro-14-m1-pro-2021.json - Apple MacBook Pro 14-inch (M1 Pro, 2021)
  • laptop/apple/2023/apple-macbook-pro-14-m2-pro-2023.json - Apple MacBook Pro 14-inch (M2 Pro, 2023)
  • laptop/apple/2023/apple-macbook-pro-14-m3-2023.json - Apple MacBook Pro 14-inch (M3, 2023)
  • laptop/apple/2023/apple-macbook-pro-14-m3-pro-2023.json - Apple MacBook Pro 14-inch (M3 Pro, 2023)
  • laptop/apple/2023/apple-macbook-pro-16-m3-pro-2023.json - Apple MacBook Pro 16-inch (M3 Pro, 2023)
  • laptop/apple/2026/apple-macbook-pro-14-m5-pro-2026.json - Apple MacBook Pro 14-inch (M5 Pro, 2026)
  • laptop/microsoft/2015/microsoft-surface-book.json - Microsoft Surface Book
  • laptop/microsoft/2017/microsoft-surface-book-2-13.json - Microsoft Surface Book 2 13.5-inch
  • laptop/microsoft/2020/microsoft-surface-laptop-go.json - Microsoft Surface Laptop Go

Heuristic review

  • Heuristic warnings: none found.

@TechEngineBot

Copy link
Copy Markdown
Member

TechEngine validation stats: PASS

12/12 categories ? 191,837 records ? diff base develop@2c2c152

Data summary

Category Total Verified Unverified Missing verified Tracked Verified % of tracked
brand 207 123 84 0 207 59.4%
soc 2117 280 1837 0 2117 13.2%
smartphone 93407 17581 75826 0 93407 18.8%
tablet 3459 288 3171 0 3459 8.3%
watch 447 94 353 0 447 21.0%
pda 140 74 66 0 140 52.9%
gpu 2076 1493 583 0 2076 71.9%
cpu 4530 4211 319 0 4530 93.0%
laptop 1995 105 1890 0 1995 5.3%
monitor 882 0 882 0 882 0.0%
software 42493 358 42135 0 42493 0.8%
website 40084 7635 32449 0 40084 19.0%
all 191837 32242 159595 0 191837 16.8%

Warning

Tracked verified coverage is below 50% for monitor 0.0% (0/882), software 0.8% (358/42493), laptop 5.3% (105/1995), tablet 8.3% (288/3459), soc 13.2% (280/2117), all 16.8% (32242/191837), smartphone 18.8% (17581/93407), website 19.0% (7635/40084), 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

  • The integrity gate blocks only hard anomalies introduced by this PR relative to its merge base.
  • 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 (PR head compared with PR base)
loaded CPU=4530 GPU=2076
Integrity section Flagged lines
structural 18
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) 131
GPU cross-source ratio outliers + sanity 51

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working data Dataset changes enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Data collection: new records (workstream)

2 participants