data(soc): fill gpu_cores for 248 SoCs the earlier pass missed - #136
Conversation
248 SoC records gain gpu_cores (9% -> 21% coverage). The count is taken from the vendor's own notation in gpu_name -- 'PowerVR SGX543MP3', 'Mali-G76MP12', 'MP<n>' meaning n cores -- and from names that spell it out, such as 'PowerVR GXA6850 (octa-core graphics)'. Nothing external is consulted, so no new source is claimed: the value is read from a field the record already carries and whose existing source_urls back it. The rule was checked against the 138 records that already hold gpu_cores: all 138 agree with what the name encodes, none conflict. Records already holding a value are skipped rather than overwritten, and only counts in the 1-128 range are accepted. Note: cpu_config is deliberately NOT derived this way. Marketing strings like Tegra 3's "penta-core" describe a 4+1 arrangement, so deriving a core split from raw_chipset would encode a misleading structure. Refs #1
Regenerates site/public/v1/socs for the 248 records changed in the previous commit, with the engine at the pinned submodule commit so scoring output is unchanged. Only pages whose content actually differs are committed; the 3,961 pages that differed solely by created_at/updated_at are left alone. Refs #1
🔎 Data verification — Tier 0 (offline existence/trust)Scored by Changed records in this PR332 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" : 2
"Yellow" : 330
"Red" : 0
Full-dataset baseline105742 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" : 14622
"Yellow" : 89331
"Red" : 1789
Hard violations (forced red):
green = authoritative source + complete + consistent · yellow = plausible, needs confirmation · red = sparse/weak source or a hard contradiction. Promotion to |
TechEngine change review: PASS
Changed data
Changed record examplescpu modified
Heuristic review
|
TechEngine validation stats: PASS
Data summary
Warning Tracked verified coverage is below 50% for watch 2.5% (11/433), brand 4.8% (10/207), tablet 5.0% (174/3455), soc 5.8% (123/2104), smartphone 9.1% (8453/93396), all 9.5% (10028/105742), gpu 12.0% (244/2030), pda 19.3% (27/140), and 1 more. Validation notes
Key output:
|
What
248 SoC records gain
gpu_cores— coverage 9% → 21% — read from the vendor's own core-count notation in thegpu_namethe record already carries.Why there is more to do here after #51
#51 did this derivation in June and filled 139 SoCs, after which the work was recorded as finished. It wasn't: its pattern required a word boundary before
MP, so it matchedPowerVR SGX543MP3but silently skipped every name where the suffix follows a digit —Mali-G76MP12,Mali-T880MP4,ARM Mali-G52MP2. Those 248 records have been sitting empty since.Correctness
gpu_cores: all 138 agree with what their name encodes, zero conflicts. That is the rule validating itself on a held-out set.PowerVR SGX543MP4 (quad-core graphics)— and the two always agree.MP<n>are also read (PowerVR GXA6850 (octa-core graphics),Apple GPU (7-core graphics)) — 6 records.Nothing external is consulted, so no new source is claimed: the value comes from a field the record already has, backed by its existing
source_urls.Deliberately not done
cpu_configis not derived fromraw_chipset. Vendor marketing strings misdescribe the topology — Tegra 3's "penta-core" is a 4+1 arrangement — so a bulk derivation would encode a structure that is simply wrong. That field needs a real per-SoC source.python -m app.validate→ Data validation passed. Dump refreshed for the 248 changed pages only (3,961 timestamp-only pages left alone).Closes #1