Local workspace and package-graph loader for Cabin.
Given a path to a cabin.toml, this crate discovers workspace members
(if any), follows local path = "..." dependencies, deduplicates by
canonical manifest path, detects duplicate [package].name and package
cycles, and returns a topologically-sorted [PackageGraph].
Versioned dependencies are not resolved here. The CLI resolves them, fetches artifacts, and passes registry package sources back into this crate through the registry-aware loading entry points. Git sources are not supported.