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

Policy · rule

policy.binding_invalid

Policy names something that can't say who.

Area 9, Policy; not declinable; the next step is usually the agent's.

A field names who may do something only when it points at the caller, a reference to the principal's user entity; the same rule covers a membership's scope:, member: and role:, tenant:, and the lines under actions::

example
type Handle = Text {    max_length: 40}entity User {    id: Uuid    handle: Handle {        unique: true    }}principal {    user: {        subject: User.handle    }}entity Note {    id: Uuid    owner_id: Uuid    policy: {        read: [owner_id]    }}
text
error: `owner_id` doesn't point at a caller --> main.jadpo:23:16   |23 |         read: [owner_id]   |                ^^^^^^^^ not a user field  reason: A field names who may do this when it points at the caller: a reference to `User`, the principal's user entity (area 8), typed `User.id`. `Note.owner_id` isn't.  next: Name a reference to the user, a membership role, or `Access` (agent)  rule: policy.binding_invalid  help: https://jadpo.dev/docs/errors/policy.binding_invalidcheck failed: 1 error, 1 file

Markdown for agents: /docs/errors/policy.binding_invalid.md.Built from Jadpo main at a707efb.