Files
Zecheng Zhang effd4e3794 Metadata ops: chmod, chown, touch via setattr with namespace overlay (#430)
* 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
2026-07-13 18:03:50 -07:00
..