Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 5 Nov 2026. What's built · Install 0.3.0
jadpo
ReferenceErrors

ErrorsPolicy · rule

policy.declaration_duplicate

Policy is declared twice.

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

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: User.id {        on_delete: OnDelete.cascade    }    policy: {        read: [owner_id]    }    policy: {        update: [owner_id]    }}
jadpo checkcheck failed: 1 error, 1 file

error Note declares policy: twice

--> main.jadpo:28:5

   |24 |     policy: {   |     ------ first declared here28 |     policy: {   |     ^^^^^^ declared again
reason
An entity's grants are one list per effect in one policy:, so "who can delete this?" is always one line.
next
Move what the second policy: holds into the first, and remove it (agent)
rule
policy.declaration_duplicate
help
https://jadpo.dev/docs/errors/policy.declaration_duplicate

Markdown for agents: /docs/errors/policy.declaration_duplicate.md.Built from Jadpo main at aee2e8f.