f03d032336
Pulls CACHE_PATH, CACHE_VERSION, CACHE_STALE_HOURS, load_cache, save_cache, cache_age_hours, and fmt_age out of rc-jav.py and into a new self-contained module. No behavior change. rc-jav.py: 2019 → 1972 lines. The new module's `CACHE_PATH = Path(__file__).resolve().parents[1] / "cache.json"` keeps the file at the repo root next to rc-jav.py (one directory above the package), matching the legacy `Path(__file__). resolve().parent / "cache.json"` location. rcjav/__init__.py now re-exports the cache public surface alongside the model and ids surface. Verified: - python rc-jav.py --help → ok - python fixtures/run.py → 17/17 cases pass - python -m unittest tests.test_rules → 5/5 OK Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>