feat(catalog): add cheap source fingerprint cache

Complete production catalog generation hashes every package twice, which is
necessary for publication but wasteful when the same package tree has already
produced the current catalog. Add a metadata-only cache that records package
paths, sizes, nanosecond mtimes, catalog and unrar metadata, and output
identity. The cache is advisory: incomplete outputs never hit, and production
build validation remains the authority. Record files atomically under the
ignored local cache directory, with focused tests for hits, source changes,
and incomplete output.

Test Plan:
- `python3 -m unittest discover -s tools -p 'test_*.py'` -- passed
- `git diff --cached --check` -- passed
This commit is contained in:
ddidderr committed 2026-08-20 09:04:10 +02:00
1 parent 76eec55103
commit e6fe9aab91
3 files changed
+310

No files matched your search

+1
View File
@@ -1,5 +1,6 @@
/target
/.lanspread-peer-cli/
/.lanspread/catalog-cache/
/game.db
/thumbnails/
__pycache__/