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

ErrorsLogic · rule

failure.propagate_placement

Propagate is used outside a failure arm.

Area 3, Logic; not declinable; the next step is usually the agent's.

propagate passes a failure arm's failure on, so it has no meaning anywhere else:

example
type Count = Int {}type TicketStatus = Enum {    open    closed}function priority(status: TicketStatus) -> Count {    return match status {        TicketStatus.open -> 1        TicketStatus.closed -> propagate    }}
jadpo checkcheck failed: 1 error, 1 file

error propagate has no failure to pass on here

--> main.jadpo:11:32

   |11 |         TicketStatus.closed -> propagate   |                                ^^^^^^^^^ not in a failure arm
reason
propagate is an arm of a match on a call that can fail: it passes the failure that arm names on to the caller's fails list.
next
Give a value, return or reject a failure here instead (agent)
rule
failure.propagate_placement
help
https://jadpo.dev/docs/errors/failure.propagate_placement

Markdown for agents: /docs/errors/failure.propagate_placement.md.Built from Jadpo main at aee2e8f.