roadmap
clientx Roadmap (2026-03)
Positioning
clientx is a protocol-oriented client layer, not a heavyweight RPC framework.
- Keep protocol-specific APIs explicit (
httprequest/response,tcpstream,udppacket). - Unify engineering conventions instead of call shapes (config validation/defaults, error model, policies, observability hooks).
Snapshot (Updated)
Completed in current iteration:
Newconstructors now validate and normalize configs with explicit defaults.Close()lifecycle capability is unified acrosshttp,tcp, andudpclients.http.Executenow requirescontext.Context; TCP TLS dial path also honors context cancellation.- Capability interfaces are introduced in root package:
clientx.Closerclientx.Dialerclientx.PacketListener
- Policy pipeline foundation is introduced:
clientx.Operation/OperationKindclientx.Policy/PolicyFuncsclientx.InvokeWithPolicies
WithPolicies(...)is wired intohttp,tcp, andudpclients.- Built-in timeout-guard, retry/backoff, and concurrency-limit policies are implemented in
clientx. - Hook/policy panic isolation is enabled by default so single extension failures do not crash the client data path.
http.Config.Retryis mapped to the unified policy pipeline, andWithConcurrencyLimit(...)/WithTimeoutGuard(...)are now available for HTTP/TCP/UDP.- Engineering presets are introduced in
clientx/preset:NewEdgeHTTP,NewInternalRPC, andNewLowLatencyUDP(with override options).
Version Plan (Execution-Oriented)
v0.3.0-alpha.2(completed)- Add built-in policy modules: timeout guard, retry/backoff, concurrency limit.
- Add hook panic isolation (policy/hook failures must not crash client path by default).
v0.3.0-beta.1- Standardize operation taxonomy and policy metadata conventions.
- Add unified telemetry enrichment adapters for
observabilityx.
v0.3.0-rc.1- Publish end-to-end examples for service-to-service HTTP/TCP/UDP profiles.
- Complete regression/perf baselines for policy overhead.
Priority Suggestions
P0 (Now)
- Finalize built-in policy set and default composition order.
- Harden preset default profiles and override rules in docs/examples.
- Expand tests for policy ordering, error-joining, and cancellation semantics.
P1 (Next)
- Introduce context-aware hook contract and canonical operation attributes.
- Provide policy-level idempotency and retry classification helpers.
- Align docs and examples with capability-interface based usage.
P2 (Later)
- Add optional transport extension points while keeping core lightweight.
- Add benchmark matrix for protocol + policy combinations.
Non-Goals
- No one-size-fits-all abstraction that hides protocol semantics.
- No replacement of mature full-feature protocol SDKs.
- No forced dependency on one telemetry/retry implementation.