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

Logic · 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    }}
text
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_placementcheck failed: 1 error, 1 file

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