Skip to content

fix(data): add source citations for 7086 website records - #345

Merged
Seungpyo1007 merged 2 commits into
developfrom
Seungpyo1007/website-citation-hunt
Sep 29, 2026
Merged

Seungpyo1007 merged 2 commits into
developfrom
Seungpyo1007/website-citation-hunt

Conversation

@Seungpyo1007

@Seungpyo1007 Seungpyo1007 commented Sep 29, 2026 •

Copy link
Copy Markdown
Member

Summary

Upgrades 7,086 data/website/ records from uncited (Wikidata-only,
verified: false) to source-verified by adding an independent, checkable
authoritative citation and flipping verified: true. No stored values were
fabricated, guessed, or altered.

Addresses the uncited-website backlog. Closes #296.

Methodology

Every website record previously carried exactly one source_urls entry — its
Wikidata item (wikidata.org/wiki/Q…) — and ~32k were verified: false. A
Wikidata item alone is a database cross-reference, not an independent
confirmation, so those records were effectively uncited.

For each verified: false, Wikidata-only record:

  1. Resolved its Wikidata QID and queried the Wikidata API
    (wbgetentities, props=sitelinks|claims|labels).
  2. If the item has an English Wikipedia article (enwiki sitelink), that
    article is a real, human-checkable authoritative source describing the same
    entity. The exact article URL returned by the API was appended to
    source_urls and verified set to true.
  3. Cross-checked stored launch_date against Wikidata inception (P571).
  4. If the item has no enwiki article, the record was left untouched
    (still verified: false, Wikidata-only) — no citation was invented.

Every added URL is the genuine Wikipedia sitelink Wikidata reports for that
exact entity; verified: true is only ever set together with a real article
URL. This is fully reproducible against the live Wikidata API.

Counts

Outcome Count
Cited-and-verified (added enwiki Wikipedia URL, verified: true) 7,086
Value-corrected 0
Left uncited (no enwiki article; not fabricated) 25,346
Left uncited — launch_date vs Wikidata P571 year mismatch, flagged for manual review 17
Already verified: true before this pass (untouched) 7,635
Total website records 40,084

On the 0 value corrections

17 records had a launch_date whose year disagreed with the Wikidata inception
date (P571). These were not auto-corrected: a website's launch date and the
inception of its subject/parent organisation are distinct facts (e.g. Netflix the
company, 1997, vs. the streaming service, 2007). Overwriting one with the other
would introduce wrong data, which the task forbids. They are left exactly as-is
and flagged for manual review instead.

Verification

  • python -m app.validate → passed.
  • TechEngine python integrity_check.py <worktree>/data --strict → exit 0, no
    hard anomalies
    (empty structural section; only pre-existing advisory
    CPU/GPU benchmark ratio outliers printed, unrelated to this change).
  • Static dump refreshed from TechEngine
    (python -m app.dump, fresh scratch DATABASE_URL, TECHAPI_DATA_DIR
    pointing at this worktree) — regenerated site/public/v1/websites for the
    affected records (last commit). Unrelated pre-existing dump drift in other
    categories was reverted to keep this PR scoped to data/website/ only.

Scope

data/website/ only. 7,086 data files + 7,086 regenerated dump files.

This is one batch; the remaining uncited records (those without an English
Wikipedia article) are intentionally left for future batches per the task's
"batch into multiple PRs" guidance.

Upgrade website records from Wikidata-only (verified:false) to source-verified by adding an independent, checkable citation: the English Wikipedia article linked from each record's Wikidata entity (enwiki sitelink). Only records whose Wikidata entity has an enwiki article were verified; the Wikipedia URL was appended to source_urls and verified set to true. No stored values were fabricated or altered.

Records with no enwiki article were left untouched (still verified:false, Wikidata-only). 17 records whose launch_date disagreed with Wikidata inception (P571) were left untouched for manual review, since a site's launch date and the subject's inception are distinct facts. Refs #296
…bsite records

Regenerated site/public/v1/websites from TechEngine (python -m app.dump against a fresh scratch DATABASE_URL with TECHAPI_DATA_DIR pointing at this worktree). Reflects the added Wikipedia citations and verified:true flags. Refs #296
@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,819 records ? diff base develop@e9fc443

Changed records in this PR

7086 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" : 5747
    "Yellow" : 1339
    "Red" : 0
Loading
Category Distribution Total 🟢 🟡 🔴 🟢 %
website 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟨🟨 7086 5747 1339 0 81.1%
All 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟨🟨 7086 5747 1339 0 81.1%

Full-dataset baseline

191819 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" : 38519
    "Yellow" : 152245
    "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 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟨🟥 4512 4219 292 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 13420 26664 0 33.5%
All 🟩🟩🟨🟨🟨🟨🟨🟨🟨🟨🟨🟥 191819 38519 152245 1055 20.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 3a4dfbc into develop Sep 29, 2026
5 checks passed
@Seungpyo1007
Seungpyo1007 deleted the Seungpyo1007/website-citation-hunt branch September 29, 2026 16:12
@Seungpyo1007 Seungpyo1007 removed the enhancement New feature or request label Sep 29, 2026
@TechEngineBot

Copy link
Copy Markdown
Member

TechEngine change review: PASS

12/12 categories ? 191,819 records ? diff base develop@e9fc443

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 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
laptop 0 0 0 0 0 0
monitor 0 0 0 0 0 0
software 0 0 0 0 0 0
website 0 7086 0 0 0 0

Changed record examples

website modified

  • website/04/0404-news.json - 0404 News
  • website/10/10-daily.json - 10 daily
  • website/10/100-nichi-go-ni-shinu-wani.json - 100 Nichi Go ni Shinu Wani
  • website/10/1000-word-philosophy.json - 1000-Word Philosophy
  • website/10/1000.json - 1000
  • website/10/1000minds.json - 1000minds
  • website/10/1031-all-saints-street.json - 1031 All Saints Street
  • website/10/10x.json - 10x
  • website/11/1177.json - 1177
  • website/12/123-importados.json - 123 Importados
  • website/12/123movies.json - 123Movies
  • website/12/12ft.json - 12ft
  • website/13/1337x.json - 1337x
  • website/14/140journos.json - 140journos
  • website/15/150-women-in-150-words.json - 150 women in 150 words
  • ... 7071 more

Heuristic review

  • Heuristic warnings: none found.

@TechEngineBot

Copy link
Copy Markdown
Member

TechEngine validation stats: PASS

12/12 categories ? 191,819 records ? diff base develop@e9fc443

Data summary

Category Total Verified Unverified Missing verified Tracked Verified % of tracked
brand 207 123 84 0 207 59.4%
soc 2117 284 1833 0 2117 13.4%
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 1496 580 0 2076 72.1%
cpu 4512 4219 293 0 4512 93.5%
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 14721 25363 0 40084 36.7%
all 191819 39343 152476 0 191819 20.5%

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.4% (284/2117), smartphone 18.8% (17581/93407), all 20.5% (39343/191819), watch 21.0% (94/447), 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=4512 GPU=2076
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 0
CPU cross-source ratio outliers (possible wrong-variant) 53
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

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Data accuracy: corrections, duplicates and dates (workstream)

2 participants