effd4e3794
* feat(metadata): chmod/chown/touch via setattr with namespace overlay fallback * test(integ): guard cases.py mirage import against the redis.py sys.path shadow * fix(metadata): review fixes for metadata ops - bump snapshot format to v3 (symlinks key renamed to nodes) - disk chmod keeps owner access on the real inode, sidecar reports requested bits - touch on stat-only mounts reports Read-only file system instead of crashing - content writes clear overlay mtime/atime so touched times do not freeze - mv drops the replaced destination's node meta and keys moves into linked dirs under the real path - glob rm purges node meta via segment-wise pattern match - symbolic chmod on directories builds on 755 - touch -r resolves relative references against cwd - extract shared builtins helpers (flag/operand parsing) into shared.py * fix(metadata): typed setattr kwargs, non-null node stderr for the mypy ratchet