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

semantic.multiple_principals

Project declares more than one principal.

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

example
principal {    user: {        subject: Member.handle    }}principal {    user: {        subject: Member.handle    }}type Handle = Text {    max_length: 40}entity Member {    id: Uuid    handle: Handle {        unique: true    }}
text
error: `principal { }` is declared twice --> main.jadpo:7:1  |1 | principal {  | --------- first declared here7 | principal {  | ^^^^^^^^^ declared again  reason: The caller is declared once, in `app.jadpo`: one `user:` and at most one `service:`, so every route reads the same caller.  next: Move what this `principal` holds into the first, and remove it (agent)  rule: semantic.multiple_principals  help: https://jadpo.dev/docs/errors/semantic.multiple_principalscheck failed: 1 error, 1 file

Markdown for agents: /docs/errors/semantic.multiple_principals.md.Built from Jadpo main at a707efb.