Problem. This package's live typed clients use a whole-client generic Failure parameter (@Sendable (Request) async throws(Failure) -> Page, traversal errors like Traversal.Error<Failure>). The ruled target shape for client families (principal, 2026-07-31; C5 step-0 ruling swift-foundations/swift-witnesses#3 comment 5143970225) is per-operation domain-specific leaf errors via Either<Async.Lifecycle.Error, Leaf> — whole-client Client<Failure> genericism was explicitly rejected. swift-standards/swift-stripe-standard realized the ruled shape at fd63cd0 (309 operations, run 30698829457) and is the exemplar.
Proposed outcome. This package's client surfaces converge to the C5 shape: per-operation leaf enums at noun namespaces, Either<Async.Lifecycle.Error, Leaf> throws, Never for infallible operations, with the traversal-composition design mapped onto leaf errors rather than a generic parameter (the exact traversal mapping is a design element for the external-API first-principles programme — record the chosen mapping here before mass execution). Sequenced within the ruled migration order (after mailgun's vehicle; before identities-types closes the arc).
Problem. This package's live typed clients use a whole-client generic
Failureparameter (@Sendable (Request) async throws(Failure) -> Page, traversal errors likeTraversal.Error<Failure>). The ruled target shape for client families (principal, 2026-07-31; C5 step-0 ruling swift-foundations/swift-witnesses#3 comment 5143970225) is per-operation domain-specific leaf errors viaEither<Async.Lifecycle.Error, Leaf>— whole-clientClient<Failure>genericism was explicitly rejected. swift-standards/swift-stripe-standard realized the ruled shape at fd63cd0 (309 operations, run 30698829457) and is the exemplar.Proposed outcome. This package's client surfaces converge to the C5 shape: per-operation leaf enums at noun namespaces,
Either<Async.Lifecycle.Error, Leaf>throws,Neverfor infallible operations, with the traversal-composition design mapped onto leaf errors rather than a generic parameter (the exact traversal mapping is a design element for the external-API first-principles programme — record the chosen mapping here before mass execution). Sequenced within the ruled migration order (after mailgun's vehicle; before identities-types closes the arc).