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

ErrorsTesting · rule

semantic.request_invalid

Route test request doesn't fit its route.

Area 13, Testing; not declinable; the next step is usually the agent's.

A request gives what its route takes: each placeholder in params: and the route's input::

example
type Memo = Text {    max_length: 200}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 / {        authentication: RouteAuthentication.none        input: AddMemo        output: MemoView        status: SuccessStatus.created        run: add_memo(input)    }}policy {    actions: {        add_memo: [Access.public]    }}test "a memo comes back" {    var response: Response = request {        method: HttpMethod.post        path: "/memos"    }    assert response.status == 201}
jadpo checkcheck failed: 1 error, 1 file

error POST /memos takes input:, a AddMemo

--> main.jadpo:38:30

   |38 |     var response: Response = request {   |                              ^^^^^^^ doesn't fit the route
reason
A request gives the route's method, its path as jadpo routes prints it, each placeholder in params: and, when the route takes one, its input:; a request but a GET may give the Idempotency-Key it sends in idempotency_key:.
next
Give the request what its route takes (agent)
rule
semantic.request_invalid
help
https://jadpo.dev/docs/errors/semantic.request_invalid

Markdown for agents: /docs/errors/semantic.request_invalid.md.Built from Jadpo main at aee2e8f.