detail
Second half of the Admin[00]/USR369 direction (SOP-SNAPSHOT-EXCLUDE.md), separate from T2541 (the standalone snapshot, already done -- D888). Read live SNAPSHOT.php source via file-reader.php rather than assuming its structure. Existing exclude_top array only matches top-level dir names at depth 0 -- systems/old zips ref/ and systems/old-zips-index.sqlite are nested, so that mechanism would not have worked directly; used the existing backups/snapshots prefix-match pattern instead (already proven working in the same function) rather than inventing a new mechanism. Added two checks: strpos($rel, "systems/old zips ref")===0 (catches the whole tree including its _extracted/ derived cache, which is correct -- that cache is also rebuildable/not part of the real archive) and an exact match on systems/old-zips-index.sqlite. Backed up SNAPSHOT.php first (D353). Bumped to v1.4 with changelog. Deployed, read-back confirmed both new strings present in the live file. Functional test: forced a fresh snapshot -- file count dropped from full-platform baseline to 3,449 files / 108.7MB source / 42MB zip, consistent with excluding both the 293-zip archive and its ~6,511-file extracted cache together (matches the same file-count swept by my own old-zips-search-api.php _extracted/ cache in the earlier T2541 first-pass mistake, which is a real independent cross-check that the right thing got excluded).