MACALCHEMIST OFFLINE SITEMAP MANAGER v0.1.6
============================================

STATUS AND SCOPE
---------------
Prepared Linux/Python source release; not uploaded or published.
Entry point: offline_sitemap_manager_v016.py
Requires Python 3.9+ and Tkinter for the GUI; no third-party Python dependencies.
A graphical display is required for interactive use, not for automated tests.
Windows v0.1.5 packages/build files are unchanged; Windows packaging is deferred.

CHANGES
-------
Two maintenance patches fix non-page-link scan failures and conflicting sitemap
filenames, then correct filesystem URL encoding and enforce website-root
boundaries. Raw malformed URLs cannot crash scans or bypass checks through
normalisation. Unsafe aliases remain warnings rather than appearing resolved.
DATAFILE and supplementary error-page failures have explanatory diagnostics.
Approved URLs remain stored as entered. Valid aliases, www variants, directory
indexes, slashless directories and relative-link resolution are preserved.

VALIDATION
----------
Runtime verification:
* Python 3.9: all 32 regressions and self-test passed in isolated Docker,
  as reported by the maintainer. Python 3.9 GUI remains untested.
* Python 3.10.12: all 32 regressions, self-test and Tkinter GUI startup passed
  on Linux Mint 21, using /usr/bin/python3.
* Python 3.13.7: all 32 regressions and self-test passed as non-GUI checks.
  This Homebrew installation lacks Tkinter (_tkinter), so GUI startup was not
  available with that interpreter. This is an interpreter limitation, not an
  application defect.

Additional checks cover syntax compilation, version labels, extracted-archive
regressions/self-test, clean demo workflows and SHA256SUMS.txt verification.
See README.txt for interpreter selection and Tkinter troubleshooting.

PACKAGE CONTENTS
----------------
Python entry point, README.txt, CHANGELOG.txt, RELEASE_NOTES.txt, LICENSE.txt,
regression tests, clean demo_project/, dummy_site/ and SHA256SUMS.txt.
No executables, Windows build files, used project state, development backups,
private configuration or generated sitemap output are included.
The demo uses ../dummy_site and https://example.test with five initial approvals.
Copy the release folder before running the demo if you want to keep it pristine.

COMPATIBILITY AND LIMITATIONS
-----------------------------
Back up both JSON project files before opening existing projects. Invalid output
filenames now require correction. Blocked URL mappings retain approvals; unsafe
or unmatched DATAFILE patterns retain the stored lastmod. Review warnings in
the scan log, copied diagnostics and sitemap-change-report.txt before uploading.
The engine reads local HTML/PHP source without executing PHP, JavaScript or a
CMS/database. Query URLs and arbitrary server rewrite rules are unsupported.
Path checks assume stable local files; they do not prevent concurrent symlink
replacement. There is no project lock, automatic protocol-limit splitting or
complete sitemap schema validation. See README.txt for details.

LICENCE AND CONTACT
-------------------
GNU GPL version 3; complete licence in LICENSE.txt.
Copyright (C) 2026 Stephen MacDonald-Brown.
sitemapper@macalchemist.net
https://buymeacoffee.com/macalchemip
