{ "schema": "lazaret-ignored-workspace-contract-v1", "mechanism": "rootless-host-fuse-router", "route_classes": [ "host", "isolated" ], "transition_contracts": [ { "id": "cross-route-rename", "operations": [ "rename", "rename-noreplace", "rename-exchange" ], "result": "EXDEV", "mutation": "none" }, { "id": "rename-whiteout", "operations": [ "rename-whiteout" ], "result": "EOPNOTSUPP", "mutation": "none" }, { "id": "cross-route-hard-link", "operations": [ "link" ], "result": "EXDEV", "mutation": "none" }, { "id": "ignored-to-host-policy", "trigger": "path becomes non-ignored without becoming tracked", "new_lookups": "host-or-absent", "open_handles": "remain-isolated", "isolated_state": "retained-hidden", "copy": "none" }, { "id": "host-to-ignored-policy", "trigger": "untracked path becomes ignored", "new_lookups": "retained-isolated-or-absent", "open_handles": "remain-host", "host_state": "retained-hidden", "copy": "none" }, { "id": "isolated-to-tracked-guest-publication", "trigger": "guest index publication tracks an isolated-only path", "result": "EBUSY", "index_mutation": "none", "isolated_state": "retained-visible", "copy": "none" }, { "id": "isolated-to-tracked-host-established", "trigger": "published index and type-compatible host object both exist", "new_lookups": "host", "open_handles": "remain-isolated", "isolated_state": "retained-hidden", "copy": "none" }, { "id": "isolated-to-tracked-unmediated-inconsistent", "trigger": "unmediated index publication tracks a path without a host object", "result": "EIO", "path_state": "fail-closed-until-consistent", "isolated_state": "retained-hidden-recoverable", "copy": "none" } ], "filesystem_operations": [ { "operation": "lookup-getattr-readdir", "host": "supported", "isolated": "supported", "cross_route": "not-applicable" }, { "operation": "create-mkdir-open-read-write-truncate-fallocate-fsync", "host": "supported", "isolated": "supported", "cross_route": "not-applicable" }, { "operation": "unlink-rmdir", "host": "supported", "isolated": "supported", "cross_route": "not-applicable" }, { "operation": "rename", "host": "supported", "isolated": "supported", "cross_route": "EXDEV" }, { "operation": "rename-noreplace", "host": "supported", "isolated": "supported", "cross_route": "EXDEV" }, { "operation": "rename-exchange", "host": "supported", "isolated": "supported", "cross_route": "EXDEV" }, { "operation": "rename-whiteout", "host": "EOPNOTSUPP", "isolated": "EOPNOTSUPP", "cross_route": "EOPNOTSUPP" }, { "operation": "hard-link", "host": "supported", "isolated": "supported", "cross_route": "EXDEV" }, { "operation": "symlink-readlink", "host": "supported", "isolated": "supported", "cross_route": "virtual-path-resolution" }, { "operation": "user-xattrs", "host": "backing-feature", "isolated": "backing-feature", "cross_route": "not-applicable" }, { "operation": "posix-acls", "host": "backing-feature", "isolated": "backing-feature", "cross_route": "not-applicable" }, { "operation": "sparse-seek-hole-data-punch-hole", "host": "backing-feature", "isolated": "backing-feature", "cross_route": "not-applicable" }, { "operation": "copy-file-range", "host": "supported", "isolated": "supported", "cross_route": "EXDEV" }, { "operation": "utimens-nanoseconds", "host": "supported", "isolated": "supported", "cross_route": "not-applicable" }, { "operation": "mmap-shared-private", "host": "supported", "isolated": "supported", "cross_route": "pinned-open-backing" }, { "operation": "flock-posix-record-lock", "host": "supported", "isolated": "supported", "cross_route": "pinned-open-backing" }, { "operation": "fifo-unix-socket", "host": "supported", "isolated": "supported", "cross_route": "not-applicable" }, { "operation": "character-block-device-create", "host": "EPERM", "isolated": "EPERM", "cross_route": "EPERM" } ], "git_compatibility": [ { "operation": "status-diff", "support": "supported" }, { "operation": "ordinary-add-reset-commit", "support": "supported-host-backed-paths" }, { "operation": "checkout-restore", "support": "supported" }, { "operation": "branch-reference-update", "support": "supported" }, { "operation": "merge-rebase-stash", "support": "supported" }, { "operation": "linked-worktree", "support": "supported" }, { "operation": "nested-repository", "support": "supported" }, { "operation": "force-add-isolated-only", "support": "EBUSY-before-index-publication" }, { "operation": "host-config-write", "support": "EROFS" }, { "operation": "default-hook-host-access", "support": "sandbox-transient-only" } ] }