fix(validation): enforce strict authored exit checks - #258
Draft
zoeyrose wants to merge 1 commit into
Draft
Conversation
This was referenced Sep 1, 2026
Closed
zoeyrose
added a commit
that referenced
this pull request
Sep 2, 2026
## Summary Repair the current authored map changes that remove the statically detected non-enterable exit destinations from the content corpus. This addresses the content-repair work tracked by [content#256](#256) and is separate from the strict validator gate in [content#258](#258). The nine modified maps remove 28 of the 30 findings currently reported by the strict scan. The two remaining edge-stair findings depend on restoring filename-based automatic tiling in [classic#525](atrinik/classic#525) and are documented below rather than hidden by this PR. ## Implementation / behavior - Mark decorative or intentionally non-tiled stair and ladder records with `last_heal 0` so they do not inherit an automatic tiled-exit destination. - Remove the stale Hall of DMs exit to the obsolete Tutorial Island location and its associated sign. - Preserve the authored map layouts while updating modified dates and the canonical ordering of affected metadata records. - Exclude editor scratch directories and all unrelated working-tree files. ## Validation - `python3 tools/validate_exits.py --json` — reports exactly two remaining diagnostics, both the filename-tiling edge cases listed below. - `python3 tools/validate.py` — content parsing, release parity, and 175 tests pass; the current `main` baseline then rejects 28 stale baseline entries, which is expected to disappear when strict validator PR #258 removes the baseline mechanism. - `git diff --check` — passed. ## Limitations / follow-up The following two findings intentionally remain until Classic automatic tiling is restored and the validator is aligned with that runtime behavior: - `/shattered_islands/world_1_50:2571`, `(19,23)`, facing south, resolves to `/shattered_islands/world_1_50_-1` at `(19,24)`. - `/shattered_islands/world_2_47:105`, `(0,15)`, facing west, resolves to `/shattered_islands/world_2_47_-1` at `(-1,15)`. This draft should converge with [classic#525](atrinik/classic#525) and [content#258](#258) before the strict content gate is expected to report zero findings. Refs [content#256](#256)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Make authored exit validation fail on every statically detected non-enterable
exit. This is an independent follow-up to the merged validator PR #257
and keeps the content check red until the existing findings tracked in content issue #256
are repaired.
Implementation / behavior
diagnostic remains, including findings present on the base branch.
permission-gated, player-specific, and otherwise unresolvable exits.
Validation
python3 -m unittest tools.tests.test_validate_exits -v— 6 tests passed.python3 tools/validate_exits.py --check— intentionally fails with 30findings across 3533 parsed maps and prints their locations.
python3 tools/validate.py— intentionally fails after 175 tests and thepreceding content audits pass, rejecting the same exit findings.
git diff --check— passed.Limitations / follow-up
The check remains static; runtime-only activation rules remain outside its
verdict. This draft is intentionally red until the existing non-enterable exits
are repaired and the strict check reports zero diagnostics.