Skip to content

Commit ca37e4d

Browse files
committed
docs: count SERDE as reserved and note the terminal SEND singleton
Clarify that the ordered-stage rationale lists five cross-cutting pillar stages (SERDE currently reserved/unused) and that SEND is also a singleton slot but represents the transport hop, not a configurable pillar — matching the six isPillar entries in the Stage enum.
1 parent dbc5b5b commit ca37e4d

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

docs/pipelines.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -486,9 +486,10 @@ status-to-exception mapping you do not want a transient failure to surface prema
486486
A common alternative to a step list is to nest cross-cutting concerns as `HttpClient`
487487
decorators — `RedirectClient(RetryClient(AuthClient(LoggingClient(transport))))` — where each
488488
wrapper calls `inner.execute(request)`. The `http.pipeline` layer deliberately uses an ordered
489-
list of `HttpStep`s keyed by a `Stage` enum instead, with five **pillar** stages
490-
(`REDIRECT``RETRY``AUTH``LOGGING``SERDE`) that admit exactly one step each. The
491-
reasons:
489+
list of `HttpStep`s keyed by a `Stage` enum instead, with five cross-cutting **pillar** stages
490+
(`REDIRECT``RETRY``AUTH``LOGGING``SERDE`, the last currently reserved/unused) that
491+
admit exactly one step each, plus the terminal `SEND` slot — also a singleton, but the transport
492+
hop itself rather than a configurable pillar. The reasons:
492493

493494
- **Deterministic, inspectable ordering.** `Stage.order` is the single source of truth for run
494495
order: lower-ordered stages run first (closer to the caller), higher ones run last (closer to

0 commit comments

Comments
 (0)