What
Result<T> migration is documented as 75-80% complete. Finish the remaining public API paths so the library has a single, consistent error-handling style.
- Current: Mixed exception + Result in public API
- Expected: 100% Result in public API; exceptions only at internal boundaries with adapters
- Scope:
include/kcenon/network/**, src/**
Why
- Mixed error styles force consumers to handle both exceptions and Result
- Ecosystem convention (common_system, logger_system) is Result for public APIs
- Blocks v1.0 API freeze
How
Technical Approach
- Inventory remaining
throw statements in public headers
- Convert each to Result or document as internal-only with a throwing-to-Result adapter
- Update examples and docs
- Add a static check (grep or clang-tidy) that fails if a public header contains
throw
Acceptance Criteria
What
Result<T>migration is documented as 75-80% complete. Finish the remaining public API paths so the library has a single, consistent error-handling style.include/kcenon/network/**,src/**Why
How
Technical Approach
throwstatements in public headersthrowAcceptance Criteria
throwin public headers