feat(vault): synthesize Discord scrape + web research into the ROM-hack catalog

Enrich the Obsidian ROM-hack vault from the valhalla Discord scrape
(/storage1/labdata/romhacks/metadata) plus web research, growing the catalog
from 285 to 368 notes and preparing a data export for a wiki site.

Tooling (all dry-run by default, --apply to write; .scrape/ is gitignored):
- scrape_match.py    reconcile scrape entries vs notes (43 overlap / 211 match / 83 new)
- enrich_vault.py    backfill frontmatter, merge scrape into curated notes,
                     create 83 new notes, rebuild import bodies to one layout
- enrich_web.py      apply hand/web-verified facts from .scrape/web_facts*.json
- build-wiki-data.py export wiki/catalog.json (the site data source)

Results: 368 notes, 327 with served banner art, 332 rich summaries, 200 with
feature lists; new frontmatter developer/release_date/banner/homepage/scrape_dir;
12 flagship hacks web-verified. wiki/SPEC.md describes the site build.
build-vault-mocs.py Index callout updated for the new counts.
This commit is contained in:
ginnoir
2026-06-08 20:10:59 -05:00
parent 2ec8952f4f
commit dd26aafc42
9 changed files with 18192 additions and 6 deletions
+6 -5
View File
@@ -263,13 +263,14 @@ def build_index(recs):
for p in PLATFORM_ORDER if pc[p]
)
callout = (
f"> [!note] {total} hacks total — the original hand-curated 75 plus "
f"~210 auto-imported from the Discord catalog on 2026-06-08 (tag "
f"`source/discord`).\n"
f"> [!note] {total} hacks total — 75 hand-curated, ~210 imported from the "
f"Discord catalog, and 83 added from the scrape (tag `source/discord`), "
f"enriched 2026-06-08 with developer / release / banner art and uniform "
f"Summary·Features·Story bodies.\n"
"> The **Dataview** blocks are the live source of truth; the **static** "
"tables below are regenerated from the notes by "
"`scripts/build-vault-mocs.py`. Imports have `play_status: Unplayed`, "
"empty `type`, and no `rating` yet — curate as you play."
"`scripts/build-vault-mocs.py`. Most carry `play_status: Unplayed` and no "
"`rating` yet — curate as you play."
)
return f"""# Pokémon ROM-Hack Library — Index