Expand description
The filesystem adapter.
This crate is the only place that knows about native paths, separators,
reparse points and platform privileges. It implements
agentlink_domain::Workspace against a real rooted directory so
the domain can stay a pure function of observable state.
Three platform facts shape everything here:
- Windows junctions never require elevation.
mklink /Jhas always been unprivileged. Since the highest-value resource — skills — is a directory, agentlink can link it on any Windows machine out of the box. - Windows symlinks do require elevation or Developer Mode. Two machines running the same Windows build can differ, so support is probed at runtime rather than inferred from the target triple.
- Junctions store an absolute target; symlinks can store a relative one.
Symlinks are therefore preferred: a relative target keeps the workspace
movable. Junctions are the directory-only fallback, and
RootedWorkspace::stale_junctionsdetects the ones a move left behind.
Structs§
- Rooted
Workspace - A real directory, viewed through workspace-relative paths.