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

Identity · rule

type.auth_principal_failure_context

Failure field holds a caller.

Area 8, Identity; not declinable; the next step is usually the agent's.

example
principal {    user: {        subject: Member.handle    }}type Handle = Text {    max_length: 40}entity Member {    id: Uuid    handle: Handle {        unique: true    }}type MemoLocked = Failure {    kind: FailureKind.conflict    client: {        caller: Principal.user    }}
text
error: `MemoLocked.caller` holds a caller --> main.jadpo:21:17   |21 |         caller: Principal.user   |                 ^^^^^^^^^^^^^^ a caller  reason: A failure is logged and its client fields reach the client, while a caller value holds who signed in, so a failure carries the caller's `id` instead.  next: Type `caller` with the entity's id, such as `User.id` (agent)  rule: type.auth_principal_failure_context  help: https://jadpo.dev/docs/errors/type.auth_principal_failure_contextcheck failed: 1 error, 1 file

Markdown for agents: /docs/errors/type.auth_principal_failure_context.md.Built from Jadpo main at a707efb.