Skip to content

fix(ingest): correct Wikipedia CPU parsing (fractional TDP, clock ranges, L2 vs L3, family rows) - #90

Merged
Seungpyo1007 merged 2 commits into
mainfrom
fix/ingest-cpu-parsing
Sep 25, 2026
Merged

Seungpyo1007 merged 2 commits into
mainfrom
fix/ingest-cpu-parsing

Conversation

@Seungpyo1007

Copy link
Copy Markdown
Member

Summary

A dry run of python -m app.ingest --category cpu produced candidates with wrong values when checked against the Wikipedia source text:

Wikipedia Parsed before Now
Atom C2508 tdp=9.5 5 W 10 W
Atom E660T tdp=3.6 6 W 4 W
Atom C2530 freq=1.7-2.0 base 2.0 base 1.7, boost 2.0
L2 cache column written to l3_cache_mb ignored (L3/Smart Cache only)
September 2013 2013-01-01 2013-09-01
" Denverton " (14 nm) heading architecture with quotes Denverton, process_node 14 nm
Ryzen 5 / 7501 [ 32 ] rows became SKUs skipped / footnote stripped

AMD EPYC tables still mis-parse (model column without the EPYC brand, some shifted cells). They are not fixed here and weren't imported.

tdp_w is an int column, so fractional TDPs round half-up (9.5 → 10). That keeps them within the ±1 W verify tolerance.

Test plan

  • New regression tests in tests/unit/test_ingest_normalize.py and tests/unit/test_ingest_wikipedia_cpu.py
  • Full pytest, mypy app, ruff check app tests pass

…anges, L2 columns and family rows

- '9.5 W' parsed as 5 W and '3.6 W' as 6 W (regex matched the digits after the dot)
- '1.7-2.0 GHz' took 2.0 as the base clock; now base 1.7, boost 2.0
- any 'cache' header mapped to l3_cache_mb, so Atom 'L2 cache' columns became L3
- 'September 2013' collapsed to January 1; month is now kept
- family-tier rows ('Ryzen 5', 'Core i7') and citation markers no longer become SKUs
- quoted section headings are cleaned and '(14 nm)' goes to process_node
@Seungpyo1007 Seungpyo1007 self-assigned this Sep 25, 2026
@Seungpyo1007
Seungpyo1007 merged commit 3912f79 into main Sep 25, 2026
1 check passed
@Seungpyo1007
Seungpyo1007 deleted the fix/ingest-cpu-parsing branch September 25, 2026 04:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant