Generated validation summary

57HTML pages
57search entries
27scenario chapters
154campaign-local images
27direct audio references
11/12checks passed
StatusCheckObservedExpectedScope note
PASSDetailed scenario HTML pages2727
PASSCampaign-local image manifest154154Localized l10n variants excluded.
PASSPortrait filenames2727
PASSStory filenames2020
PASSUnit sprite/frame filenames103103
PASSDirect audio references2727
PASSDirect music references2121
PASSDirect sound-effect references66
PASSSearch entries equal HTML pages5151
FAILLocal HTML links10
PASSUnique HTML titles00
PASSNo external runtime dependencies00

Validation methodology

AreaTest
NavigationResolve every non-external href against its containing page.
SearchRequire one bundled search entry per HTML page.
TitlesRequire unique document titles across the site.
Offline operationReject external script and stylesheet dependencies.
Catalogue countsAssert scenario, image, portrait, story, unit-frame, music, and effect totals.
IntegrityWrite a SHA-256 hash for every file into assets/audit-report.json.

Known scope boundaries

Audio boundary. The direct audio catalogue does not expand sounds inherited from core unit-animation macros. A fully mechanical source parse would require a local checkout of the entire Wesnoth repository and preprocessor-aware analysis.

The machine-readable report is bundled at assets/audit-report.json.

0.8.0 maintenance-layer checks

StatusCheckObservedExpected
PASSScenario chapters2727
PASSHTML pages5757
PASSSearch entries5757
PASSLocal broken links00
PASSDuplicate titles00
PASSExternal runtime dependencies00
PASSCampaign metadata JSONTrueTrue
FAILState lifecycle JSON3333

New machine-readable files: assets/campaign-metadata.json and assets/state-lifecycle.json.

1.0 closure artifacts

Release 1.0 adds unit-core-closure.json, inherited-unit-audio.json, source-snapshot.json, and two executable Python audit tools. See Completion Scope.