Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 30 Oct 2026. What's built · Install 0.1.0
jadpo
Reference: Tooling

Tooling · rule

deployable.unserved

No deployable serves an API, or runs the background work, the app has.

Area 14, Tooling; not declinable; the next step is usually the agent's.

Once deployables: is declared, an API's routes are served only by a deployable that names it, and background work runs only where its trigger is listed, so nothing the app declares is left unserved. The desk's backstage API has a route:

example
use desk/types { Echoed, Remark }use desk/actions { echo }/// The desk backstage.routes Backstage {    prefix: /backstage    api: backstage    /// Says it back.    POST / {        authentication: RouteAuthentication.none        input: Remark        output: Echoed        run: echo(input)    }}

but the one deployable serves only main:

example
application {    apis: {        main: {            prefix: /        }        backstage: {            prefix: /backstage        }    }    deployables: {        kiosk: {            serves: [main]            target: Target.native        }    }}
text
error: No deployable serves the API `backstage` --> app.jadpo:10:5   |10 |     deployables: {   |     ^^^^^^^^^^^ none serves it  reason: Once `deployables:` is declared, an API's routes are served only by a deployable whose `serves:` names it, and `backstage` has 1 route.  next: Add `backstage` to a deployable's `serves:` (agent)  rule: deployable.unserved  help: https://jadpo.dev/docs/errors/deployable.unservedcheck failed: 1 error, 7 files

Markdown for agents: /docs/errors/deployable.unserved.md.Built from Jadpo main at a707efb.