Skip to content

Verify wiki page edits against indexed dump baseline #4

@ayrtondenner

Description

@ayrtondenner

Context

We previously wrote/rewrote 13 OpenApoc-related UFOpaedia pages (tracked in scratch/wiki-updates/ufopaedia-pages.json). 11 have already been published, 2 are pending. At the time, we compared our edits against saved .mhtml/.html snapshots of the live pages, but those snapshots are fragile and incomplete.

Now that the wiki dump is indexed (#3), we can do a proper comparison: diff our MediaWiki source files (scratch/wiki-updates/*.txt) against the original wikitext from the 2020 XML dump. This gives us a clean, structured baseline to verify our edits didn't accidentally drop content, introduce errors, or miss sections from the original pages.

Parent ticket: #3 — Organize and index UFOpaedia wiki dump data

Data Sources

Source Location Format
Our edits scratch/wiki-updates/*.txt MediaWiki wikitext (ready to paste)
Original pages (2020 dump) scratch/wiki-dump/ufopaedia-dump/indexed/pages/*.json JSON with wikitext field
Live page snapshots scratch/mhtml-from-wiki/*.mhtml Rendered HTML (legacy, for reference only)
Page tracking scratch/wiki-updates/ufopaedia-pages.json JSON with status and metadata

Checklist: Compare Each Page

For each page, diff our .txt rewrite against the original wikitext from the indexed dump. Verify no important content was lost, factual accuracy is maintained, and formatting is correct.

Already Published (11 pages)

  • Installing (OpenApoc)wiki-installing.txt vs indexed/pages/Installing_(OpenApoc).json
    • Major rewrite: updated installation steps, added GOG/Steam instructions, troubleshooting
  • Compiling (OpenApoc)wiki-compiling.txt vs indexed/pages/Compiling_(OpenApoc).json
    • Major rewrite: updated to C++17/CMake 3.30, corrected dependency list, added macOS section
    • Priority: Known issue — live page had wrong dependencies listed
  • Controls (OpenApoc)wiki-controls.txt vs indexed/pages/Controls_(OpenApoc).json
    • Major rewrite: complete controls reference for v0.0.49+, Cityscape and Battlescape hotkey tables
  • Improvements (OpenApoc)wiki-improvements.txt vs indexed/pages/Improvements_(OpenApoc).json
    • Major rewrite: documented all 54+ More Options menu settings with descriptions and defaults
  • Differences to X-COM (OpenApoc)wiki-differences-to-xcom.txt vs indexed/pages/Differences_to_X-COM_(OpenApoc).json
    • Major rewrite: comprehensive comparison across all game systems
  • Hidden Features (OpenApoc)wiki-hidden-features.txt vs indexed/pages/Hidden_Features_(OpenApoc).json
    • Major rewrite: full debug mode and cheat system with hotkey tables
  • Modding (OpenApoc)wiki-modding.txt (new page, no original to compare)
    • New page: modding guide covering XML patching, Lua scripting, mod loading, save editing
    • Verify: no conflicting page existed in the dump under a different name
  • Coding Style (OpenApoc)wiki-coding-style.txt vs indexed/pages/Coding_Style_(OpenApoc).json
    • Major rewrite: updated to C++17/clang-format-18, added smart pointers, logging, strings
  • Credits (OpenApoc)wiki-credits.txt vs indexed/pages/Credits_(OpenApoc).json
    • Major rewrite: full contributor list from git history with roles
  • What it should be. Design doc (OpenApoc)wiki-design-doc.txt vs indexed/pages/What_it_should_be._Design_doc_(OpenApoc).json
    • Footer only: added See Also section and Category tag, fixed typos
  • User:Deldonut1wiki-user-deldonut1.txt (user page, no original to compare)
    • Created user page

Not Yet Published (2 pages)

  • OpenApoc (main page) — wiki-openapoc-main.txt vs indexed/pages/OpenApoc.json
    • Major rewrite: updated project status/features for 2026, milestones table, community links
    • Review carefully before publishing — this is the main landing page
  • Info (OpenApoc)wiki-info.txt vs indexed/pages/Info_(OpenApoc).json
    • Major rewrite: project details table, requirements, milestones, key features, community links
    • Review carefully before publishing

Review Process

For each page:

  1. Load the original wikitext from the indexed dump JSON (wikitext field)
  2. Load our rewrite from scratch/wiki-updates/*.txt
  3. Diff the two — identify sections added, removed, or changed
  4. For published pages: also compare against Wayback snapshots (if available) to see the current live state
  5. Flag any content from the original that was accidentally dropped
  6. Flag any factual claims in our rewrite that should be double-checked
  7. Update ufopaedia-pages.json status if corrections are needed

Optional: Build a Diff Script

  • (Optional) Write scratch/wiki-updates/diff_against_dump.py that:
    1. Reads each entry from ufopaedia-pages.json
    2. Loads the corresponding indexed page JSON
    3. Diffs the original wikitext against our .txt rewrite
    4. Outputs a side-by-side or unified diff report per page
    5. Highlights sections present in original but missing from rewrite

Additional Sources of Truth (Upstream Repo Files)

Beyond the 2020 wiki dump, the upstream OpenApoc repository contains authoritative files that should be cross-checked against our wiki rewrites. These are maintained by the development team and may contain details we missed or got wrong.

Cross-Reference Matrix

Wiki Page Repo File What to Compare
Controls (OpenApoc) README_HOTKEYS.txt Complete hotkey reference (196 lines); verify our wiki tables include all hotkeys listed here
Coding Style (OpenApoc) CODE_STYLE.md Canonical coding conventions; verify our wiki rewrite matches all rules and examples
Compiling (OpenApoc) README.md (Building sections) Build instructions for Windows/Linux/macOS, dependency lists, vcpkg commands
Installing (OpenApoc) README.md (Setup section) "How to setup OpenApoc" section, cd.iso instructions, GOG/Steam notes
OpenApoc (main page) README.md Key Features list, milestone links, community links, project description
Info (OpenApoc) README.md Dependencies (vcpkg + submodules), requirements, project metadata
Compiling (OpenApoc) CMakeLists.txt CMake minimum version, build options/flags, target names
Compiling (OpenApoc) vcpkg.json Canonical dependency list with versions
Coding Style (OpenApoc) .clang-format Formatting rules that should match the wiki's formatting section
Credits (OpenApoc) README.md Community links, contributor acknowledgments
Compiling (OpenApoc) .github/workflows/cmake.yml CI build environment (Ubuntu version, compiler, CMake flags)
Coding Style (OpenApoc) .github/workflows/lint.yml Lint tooling versions (clang-format-18, clang-tidy-18)

How to Use

For each wiki page in the checklist above, in addition to comparing against the 2020 dump baseline:

  1. Fetch the corresponding upstream repo file(s) from the matrix
  2. Diff/compare relevant sections against our wiki rewrite
  3. Flag any discrepancies — missing hotkeys, outdated dependency versions, incorrect build flags, etc.
  4. Prioritize fixing factual errors (wrong commands, missing dependencies) over cosmetic differences

Note: The upstream README.md has known issues (dead badges, offline forum links) that we've already corrected in our wiki pages — so not all differences are problems. Focus on content accuracy: commands, dependency lists, build steps, hotkeys, and coding rules.


Dependencies

Metadata

Metadata

Assignees

Labels

discordDiscord export/data tasksufopaediaUFOpaedia wiki-related tasks

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions