Pure Rack HTTP engine with Mustermann routing. No framework — just pattern matching and boundary chain dispatch.
The engine is three operations:
"METHOD /path". Core routes (health triptych) mount first, site routes override by key.{ boundary:, args: }. The engine creates a fresh Context, executes each boundary via Boundary.execute, appends the crossing record, and checks for _halt.The engine doesn't know what boundaries do. It routes, chains, and serializes.
Three routes are always mounted. Sites can override the handler but cannot remove the route.
| Route | Boundary | Purpose |
|---|---|---|
/health |
:health |
Load balancer ping |
/status |
:status |
Monitoring — boundary count, route count |
/healthcheck |
:healthcheck |
Deep inspection — full manifest |
Chain entries can be a string (boundary name) or a hash with args:
/repos:
method: get
chain:
- boundary: auth_gate
args: { required_scopes: [read] }
- repo_list
Args are available to the boundary via input["args"] for that step only.
If a boundary result contains "_halt" => true, the chain stops. The result's "status" becomes the HTTP status code (default 200). This is how auth_gate and require_gate short-circuit.
wanderland-core/lib/wanderland/engine.rb