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: HTTP

HTTP · rule

route.header_credential

Input field reads a header authentication owns.

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

Credentials and Jadpo's own headers belong to authentication (area 8), and Idempotency-Key to the runtime, which reads it before anything 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    }}type TaggedMemo = Input {    text: Memo    token: Memo {        header: "Authorization"    }}action add_tagged_memo(input: TaggedMemo) -> MemoView {    return MemoView {        text: input.text    }}policy {    actions: {        add_tagged_memo: [Access.public]    }}routes Memos {    prefix: /memos    POST / {        authentication: RouteAuthentication.none        input: TaggedMemo        output: MemoView        run: add_tagged_memo(input)    }}
text
error: `Authorization` belongs to authentication --> main.jadpo:24:17   |24 |         header: "Authorization"   |                 ^^^^^^^^^^^^^^^ read by authentication  reason: Credentials (`Authorization`, cookies) and Jadpo's own `X-Jadpo-` headers are read by authentication (area 8), so a route never sees them as input.  next: Remove the field, and take the caller as the route's `current_principal` (agent)  rule: route.header_credential  help: https://jadpo.dev/docs/errors/route.header_credentialcheck failed: 1 error, 1 file

Markdown for agents: /docs/errors/route.header_credential.md.Built from Jadpo main at a707efb.