οΈ Domain Boundary Diagrams β `_LayerView`, `_Stats`, `_ErrorSurface`, `_ErrorPropagation` (v1.45.0)
Apply [DomainBoundary("LayerName")] to a class or method and [ResultFlow] generates four additional constants that expose the architectural picture of your pipeline.
[DomainBoundary("Domain")]
static class UserService { ... }
[DomainBoundary("Application")]
static class OrderService
{
[ResultFlow(MaxDepth = 2)]
public static Result<Order> PlaceOrderCross(int userId, int productId) => ...
}
_Diagram with cross-method tracing β the full pipeline, sub-methods expanded as subgraphs:
_LayerView β architecture layers, color-coded by layer:
_ErrorPropagation β each error type grouped under the layer it originates from:
| Constant | Type | What it shows |
|---|---|---|
_Diagram |
flowchart LR |
Full pipeline β type travel, typed error edges, cross-method subgraphs |
_LayerView |
flowchart TD |
Architecture β Layer β Class β Method, color-coded subgraphs |
_ErrorSurface |
flowchart LR |
Fail-edges only β the complete error surface at a glance |
_ErrorPropagation |
flowchart TD |
Error types grouped by the layer they originate from |
_Stats |
Markdown table | Step count, async steps, error types, layers crossed, max depth |
[DomainBoundary] can be placed on a class (applies to all its methods) or on a method directly. Without the attribute, the generator falls back to namespace heuristics: *.Domain.* β Domain, *.Application.* β Application, *.Infrastructure.* β Infrastructure.