What problem does it solve? Building correct Tower-based services in Rust requires understanding readiness, backpressure, and middleware ordering, and mistakes like calling a service before it is ready cause panics or hidden overload behavior. ## Core Features & Use Cases - Service and Layer Conventions: Enforces correct poll_ready/call patterns, readiness delegation, and explicit error and future types when implementing Service and Layer. - Middleware Stack Guidance: Covers ServiceBuilder ordering, timeouts, concurrency and rate limits, load shedding, buffers, and explicit retry Policy implementations. - Framework Integration: Explains how Tower services integrate with axum, tonic, and hyper, including error conversion at framework boundaries. - Use Case: When adding a timeout and concurrency limit to an axum router, apply the recommended ServiceBuilder stack ordering and convert middleware errors into HTTP responses. ## Quick Start Ask the agent to review or write a Tower service or middleware stack in Rust, for example to add a timeout, concurrency limit, and load shedding around an existing service.