Typed services with visible work.
The design: REST — and opt-in GraphQL in 2.0 — will enter through transport adapters, then reuse the same application services, policies, transactions, and error vocabulary. No transport adapter exists. The kernel those adapters are meant to call does.
- OpenAPI 3.2 contract
- Shared service layer
- Explicit async and transactions
pub trait Capability {
type Config;
type Error;
async fn start(
&self, ctx: Context
) -> Result<Handle, Self::Error>;
}illustrative shape — not a published API

