Skip to content

feature: workspace node tools error module - #128

Merged
miguelramos merged 2 commits into
feat/next-evolutionfrom
feature/workspace-node-tools-906-error-module
Jan 13, 2026
Merged

feature: workspace node tools error module#128
miguelramos merged 2 commits into
feat/next-evolutionfrom
feature/workspace-node-tools-906-error-module

Conversation

@miguelramos

Copy link
Copy Markdown
Member

No description provided.

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
@miguelramos miguelramos self-assigned this Jan 13, 2026
@miguelramos miguelramos added ♨️ ACTION: pull request ✨ TYPE: Feature New feature or capability 💥 BREAKING CHANGE Backwards-incompatible change labels Jan 13, 2026
@miguelramos
miguelramos merged commit 5d6f6ca into feat/next-evolution Jan 13, 2026
5 checks passed
@miguelramos
miguelramos deleted the feature/workspace-node-tools-906-error-module branch January 13, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💥 BREAKING CHANGE Backwards-incompatible change ✨ TYPE: Feature New feature or capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant