refactor(admin): scan public directories in the file integrity scanner
The scanned folders were suffixes appended to ROOT_PATH, so assets and upload
would have silently dropped out of the snapshot once they move into public/.
They are now absolute roots, taken from the constants that follow them.
The implicit rule that only the repository root is scanned without recursion
became an explicit flag.
The installer directory is now covered as well: it is reachable by URL but was
never scanned. Existing snapshots keep working, since scan() only compares the
paths they already contain.
would have silently dropped out of the snapshot once they move into public/.
They are now absolute roots, taken from the constants that follow them.
The implicit rule that only the repository root is scanned without recursion
became an explicit flag.
The installer directory is now covered as well: it is reachable by URL but was
never scanned. Existing snapshots keep working, since scan() only compares the
paths they already contain.