diff --git a/Directory.Build.props b/Directory.Build.props
index 74c9008..cd12396 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -21,7 +21,12 @@
admin entrypoint (DynamicTenancyAdminExtensions) that dispatches add/disable/enable/remove
to every registered dynamic tenant source — graceful no-op when none — so CritterWatch never
sniffs the concrete tenancy type. -->
- 2.6.0
+
+ 2.6.1
13
1570;1571;1572;1573;1574;1587;1591;1701;1702;1711;1735;0618
Jeremy D. Miller;Jaedyn Tonee
diff --git a/src/JasperFx/Descriptors/HttpChainDescriptor.cs b/src/JasperFx/Descriptors/HttpChainDescriptor.cs
index 3408c85..6b0f15b 100644
--- a/src/JasperFx/Descriptors/HttpChainDescriptor.cs
+++ b/src/JasperFx/Descriptors/HttpChainDescriptor.cs
@@ -109,11 +109,10 @@ public class HttpChainDescriptor : OptionsDescription
/// OpenAPI tags applied to this chain.
public new List Tags { get; set; } = new();
- /// Middleware steps in apply order.
- public List Middleware { get; set; } = new();
-
- /// Postprocessor steps in apply order.
- public List Postprocessors { get; set; } = new();
+ // jasperfx#411: the Middleware / Postprocessors / ServiceDependencies pipeline-introspection fields
+ // were removed. The same operator-facing information is available on demand via the chain's generated
+ // source code (RequestHandlerSourceCode in Wolverine.CritterWatch) — the generated C# IS the compiled
+ // pipeline — so the descriptor copies were redundant payload.
///
/// Cascading message types this chain may publish — the
@@ -122,9 +121,6 @@ public class HttpChainDescriptor : OptionsDescription
///
public List CascadingMessageTypes { get; set; } = new();
- /// Service dependencies the chain resolves at runtime.
- public List ServiceDependencies { get; set; } = new();
-
/// Full OpenAPI shape of the operation, when discoverable.
public OpenApiOperationDescriptor? OpenApi { get; set; }
diff --git a/src/JasperFx/Descriptors/HttpGraphUsage.cs b/src/JasperFx/Descriptors/HttpGraphUsage.cs
index 01a7466..9c7fe0f 100644
--- a/src/JasperFx/Descriptors/HttpGraphUsage.cs
+++ b/src/JasperFx/Descriptors/HttpGraphUsage.cs
@@ -80,11 +80,8 @@ public class HttpGraphUsage : OptionsDescription
///
public List PolicyNames { get; set; } = new();
- ///
- /// Type names of middleware that may apply across the graph (the
- /// WolverineHttpOptions.Middleware registry).
- ///
- public List MiddlewareTypes { get; set; } = new();
+ // jasperfx#411: graph-level MiddlewareTypes (the WolverineHttpOptions.Middleware registry) was removed
+ // for API consistency with the per-chain pipeline-introspection removal.
///
/// Names of tenant-detection strategies registered on the graph.
diff --git a/src/JasperFx/Descriptors/MiddlewareStepDescriptor.cs b/src/JasperFx/Descriptors/MiddlewareStepDescriptor.cs
index 42313a8..24a2dba 100644
--- a/src/JasperFx/Descriptors/MiddlewareStepDescriptor.cs
+++ b/src/JasperFx/Descriptors/MiddlewareStepDescriptor.cs
@@ -1,29 +1,8 @@
namespace JasperFx.Descriptors;
-///
-/// One ordered step in a chain's middleware / postprocessor pipeline.
-///
-public class MiddlewareStepDescriptor
-{
- /// Type that owns the step (handler / middleware / policy).
- public string TypeFullName { get; set; } = "";
-
- /// Method name within the owning type.
- public string MethodName { get; set; } = "";
-
- ///
- /// Step kind — "Middleware", "Postprocessor",
- /// "Validation", "Audit", etc. Used for visual
- /// grouping in the Pipeline tab.
- ///
- public string Kind { get; set; } = "";
-
- ///
- /// Compact display string for the row (e.g.
- /// "OrderHandler.Before(Order)").
- ///
- public string Description { get; set; } = "";
-}
+// jasperfx#411: MiddlewareStepDescriptor (one step in a chain's middleware/postprocessor pipeline) was
+// removed along with HttpChainDescriptor.Middleware/Postprocessors. Pipeline information is available on
+// demand via the chain's generated source code rather than mirrored into the descriptor payload.
///
/// Narrow per-namespace prefix applied via Wolverine's