Skip to content

fix(data/laptop): MacBook year folders and dirty cpu_name values - #192

Open
Seungpyo1007 wants to merge 2 commits into
developfrom
fix/laptop-year-cpu-name
Open

Seungpyo1007 wants to merge 2 commits into
developfrom
fix/laptop-year-cpu-name

Conversation

@Seungpyo1007

@Seungpyo1007 Seungpyo1007 commented Sep 18, 2026

Copy link
Copy Markdown
Member

What & why

Fixes two laptop-data issues found in a read-only audit:

  1. Wrong year folder / release_date for 2025 MacBooks — several M4 MacBook Air and M5 MacBook Pro records lived under data/laptop/apple/2024/ with placeholder release_date: 2024-01-01, which also made the Apple laptop year tree stop at 2024.
  2. Dirty cpu_name values — scrape artifacts like Apple M4 M4, Snapdragon Snapdragon X Elite, and Intel 210H 210H.

Source

Apple (Newsroom + Support tech specs):

CPU naming:

  • Apple chip strings from the Support pages above (Apple M3 / Apple M4 / Apple M4 Pro / Apple M4 Max / Apple M5)
  • Snapdragon X Elite / Plus / X SKUs from Qualcomm product page and X Platform brief; X1E-* kept as Elite
  • Intel Core 5 210H from Intel ARK + Lenovo PSREF for the IdeaPad Slim 5 16IRH10R row

Changes

  • Moved 9 Apple records (6× M4 Air 2025, 3× M5 Pro 14) from apple/2024/apple/2025/ via git mv
  • Updated 22 Apple records' release_date + source_urls (2024 M3 Air / M4 Pro stay in 2024 with real availability dates)
  • Normalized 63 dirty cpu_name values across Apple and other OEMs (Snapdragon / Intel)

Dump note

site/public/v1 was not regenerated in this PR. Local python -m app.dump against the pinned TechEngine was started but aborted after ~25 minutes still mid-run: the full tree is ~190k+ JSON records (≈93k smartphones alone, plus large software/website collections), so a complete dump is multi-hour work on this machine. Please run TechEngine dump-refresh / weekly-refresh (or regenerate CI-side) before merge if the dump must ship in the same PR.

Checklist

  • The PR targets develop (main only moves through release PRs)
  • python -m app.validate passes locally
  • 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
  • Final dump commit (site/public/v1) — deferred; see Dump note

Move 2025 M4 Air and M5 Pro records out of the 2024 folder, set
availability dates from Apple Newsroom, and normalize chip names
against Support tech specs.
Collapse scrape artifacts such as "Snapdragon Snapdragon X Elite" and
"Intel 210H 210H" to vendor-canonical names, citing Qualcomm/Intel/OEM
specs in source_urls.
@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

No records scored.

Full-dataset baseline

105758 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" : 21425
    "Yellow" : 83132
    "Red" : 1201
Loading
Category Distribution Total 🟢 🟡 🔴 🟢 %
brand 🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 207 24 183 0 11.6%
soc 🟩🟨🟨🟨🟨🟨🟥🟥🟥🟥🟥🟥 2104 146 844 1114 6.9%
smartphone 🟩🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟥 93396 17382 75934 80 18.6%
tablet 🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟥 3455 218 3236 1 6.3%
watch 🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟥 433 18 410 5 4.2%
pda 🟩🟩🟩🟩🟩🟩🟨🟨🟨🟨🟨🟨 140 66 74 0 47.1%
gpu 🟩🟩🟩🟩🟩🟨🟨🟨🟨🟨🟨🟨 2030 810 1220 0 39.9%
cpu 🟩🟩🟩🟩🟩🟩🟩🟨🟨🟨🟨🟥 3993 2761 1231 1 69.1%
All 🟩🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟥 105758 21425 83132 1201 20.3%

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.

@TechEngineBot

TechEngineBot commented Sep 18, 2026

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 0 0 0 0 0 0
watch 0 0 0 0 0 0
pda 0 0 0 0 0 0
gpu 0 0 0 0 0 0
cpu 0 0 0 0 0 0

Changed record examples

  • No data file changes detected.

Heuristic review

  • Heuristic warnings: none found.

@TechEngineBot

TechEngineBot commented Sep 18, 2026

Copy link
Copy Markdown
Member

TechEngine validation stats: PASS

Data summary

Category Total Verified Unverified Missing verified Tracked Verified % of tracked
brand 207 24 183 0 207 11.6%
soc 2104 146 1958 0 2104 6.9%
smartphone 93396 17384 76012 0 93396 18.6%
tablet 3455 218 3237 0 3455 6.3%
watch 433 18 415 0 433 4.2%
pda 140 66 74 0 140 47.1%
gpu 2030 809 1221 0 2030 39.9%
cpu 3993 2724 1269 0 3993 68.2%
all 105758 21389 84369 0 105758 20.2%

Warning

Tracked verified coverage is below 50% for watch 4.2% (18/433), tablet 6.3% (218/3455), soc 6.9% (146/2104), brand 11.6% (24/207), smartphone 18.6% (17384/93396), all 20.2% (21389/105758), gpu 39.9% (809/2030), pda 47.1% (66/140).
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=3993 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
Seungpyo1007 force-pushed the fix/laptop-year-cpu-name branch from d0f2026 to 7b81791 Compare September 18, 2026 11:02
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: In Progress

Development

Successfully merging this pull request may close these issues.

2 participants