Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 5 Nov 2026. What's built · Install 0.3.0
jadpo
ReferenceErrors

ErrorsHTTP · rule

route.output_required

Route has no output:.

Area 7, HTTP; not declinable; the next step is usually the agent's.

A route shows its contract without opening what it runs:

example
type Memo = Text {    max_length: 200}type MemoId = Uuid {}type AddMemo = Input {    text: Memo}type MemoView = Output {    text: Memo}action add_memo(input: AddMemo) -> MemoView {    return MemoView {        text: input.text    }}routes Memos {    prefix: /memos    POST / {        input: AddMemo        run: add_memo(input)    }}
jadpo checkcheck failed: 1 error, 1 file

error POST /memos has no output:

--> main.jadpo:24:5

   |24 |     POST / {   |     ^^^^^^ no `output:`
reason
A route shows its contract without opening what it runs: output: names what it sends, exactly what add_memo returns (MemoView).
next
Add output: MemoView (agent)
rule
route.output_required
help
https://jadpo.dev/docs/errors/route.output_required

What returns Unit sends nothing, so the route answers 204 rather than naming an output::

example
type Memo = Text {    max_length: 200}type AddMemo = Input {    text: Memo}action check_memo(input: AddMemo) -> Unit {    assert input.text == input.text}routes Memos {    prefix: /memos    POST /checks {        input: AddMemo        run: check_memo(input)    }}
jadpo checkcheck failed: 1 error, 1 file

error POST /memos/checks has no output:

--> main.jadpo:16:5

   |16 |     POST /checks {   |     ^^^^^^^^^^^^ no `output:`
reason
A route shows its contract without opening what it runs: check_memo returns Unit, so the route sends nothing, which status: SuccessStatus.no_content says, answering 204 with no body.
next
Add status: SuccessStatus.no_content (agent)
rule
route.output_required
help
https://jadpo.dev/docs/errors/route.output_required

Markdown for agents: /docs/errors/route.output_required.md.Built from Jadpo main at aee2e8f.