feature: workspace node tools error module - #128
Merged
miguelramos merged 2 commits intoJan 13, 2026
Merged
Conversation
Implement the error module for workspace-fs crate as specified in
PRD §5.6 (FR-6.1.1 through FR-6.2.9):
Error variants implemented:
- NotFound { path } - path does not exist
- PermissionDenied { path } - insufficient permissions
- AlreadyExists { path } - path already exists
- NotAFile { path } - expected file but found directory
- NotADirectory { path } - expected directory but found file
- NotEmpty { path } - directory not empty
- InvalidUtf8 { path } - file content is not valid UTF-8
- Io { path, operation, source } - wrapped I/O error
- Timeout { path, operation, duration } - operation timed out
Features:
- Uses snafu 0.8.9 for derive and context selectors
- Result<T> type alias for convenience
- Implements std::error::Error with proper source chaining
- Static assertions ensure Error is Send + Sync
- Comprehensive documentation with examples
- 20 unit tests covering all variants and traits
Closes: workspace-node-tools-906.1
Implement AsRef<str> trait for Error enum to maintain consistency with workspace-core error patterns. Returns qualified variant names as static strings (e.g., "Error::NotFound") for: - Error categorization in logging systems - Metrics and telemetry - Pattern matching on error types without accessing fields Added 10 unit tests covering all variants and usage patterns. Total test count: 30
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.