Byte-oriented paths
Linux path components are bytes, not guaranteed UTF-8 strings. ArgosFS therefore uses reversible encoding instead of dropping invalid names.
Compatibility
ArgosFS exposes mounted filesystem behavior for metadata, byte-oriented names, xattrs, rename flags, sticky directories, special inode types, import/export roundtrips, and durability hooks.
Coverage matrix
The matrix focuses on observable filesystem behavior: what applications see through a mounted FUSE filesystem and what survives metadata export, import, failure, and repair paths.
user.*, POSIX ACLs, and ArgosFS system xattrs are handled explicitly with error reporting for unsupported forms.RENAME_NOREPLACE and RENAME_EXCHANGE; whiteout is rejected rather than silently misapplied.Why compatibility is hard
Many FUSE demos pass simple file tests while failing on edge cases that real Linux systems rely on. ArgosFS tracks these cases because root filesystem use makes small metadata mistakes visible.
Linux path components are bytes, not guaranteed UTF-8 strings. ArgosFS therefore uses reversible encoding instead of dropping invalid names.
Directory metadata must be applied after children are created in some cases, and ownership should be restored before mode when permission bits matter.
Application-visible durability requires syncing the right metadata and shard state, not just returning success from the FUSE handler.
Rename and link behavior must respect sticky directories, source permissions, and target existence semantics.
Regression guardrails
The scripts are plain shell and JSONL-oriented so failures can be stored as artifacts rather than lost in terminal output.
cargo test for core Rust integration coverage.scripts/compat/run_fuse_smoke.sh for mounted filesystem behavior.scripts/compat/run_deep_roundtrip.sh for byte names, xattrs, import/export, and metadata preservation.scripts/compat/run_pjdfstest.sh for optional POSIX suite integration.scripts/ci/check_regressions.sh for high-signal project-specific guards.Run locally
Use a temporary mountpoint for smoke testing, and record outputs into paper-data when running reproducible experiments.
scripts/compat/run_fuse_smoke.sh
scripts/compat/run_deep_roundtrip.sh /mnt/argosfs
scripts/compat/run_pjdfstest.sh /mnt/argosfs paper-data/compat/pjdfstest.jsonl
scripts/ci/check_regressions.sh