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.principal_variant_unknown

Principal variant is not user or service.

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

A role is a field of the user's entity, which policy reads (area 9), never a kind of caller:

example
principal {    user: {        subject: Member.handle    }    admin: {        subject: Member.handle    }}type Handle = Text {    max_length: 40}entity Member {    id: Uuid    handle: Handle {        unique: true    }}
text
error: `admin` isn't a kind of caller --> main.jadpo:5:5  |5 |     admin: {  |     ^^^^^ not `user` or `service`  reason: A principal declares `user:`, a person, and `service:`, another system; a role or a tenant is a field of the user's entity, which policy reads (area 9).  next: Remove `admin` (agent)  rule: semantic.principal_variant_unknown  help: https://jadpo.dev/docs/errors/semantic.principal_variant_unknowncheck failed: 1 error, 1 file

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