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: Records and manifest

Records and manifest

Acceptances

Some changes can break someone else, such as removing a field clients read. jadpo check fails on them until a person accepts them. An acceptance is one file per decision, listing every change it allows, with the reason in a /// line. Each entry is subject: Kind.change, with the subject and the change copied from the compiler's message:

example
// acceptances/20261020T1400_remove_todo_priority.jadpo/// Priority was never shown by any client; the mobile app stopped sending it in 3.2.acceptance {    changes: {        main.TodoView.priority: ApiChange.output_field_removed        main.TodoSummary.priority: ApiChange.output_field_removed    }}
  • It counts only in the change that adds it. Acceptances already on the before side are history, and editing one is an error. check fails when a change needs a person and no added acceptance lists it, when a listed entry matches nothing, or when the reason is missing.
  • Drafting is a command. jadpo acceptance new <purpose> writes a file listing every change not yet accepted, with no reason. An agent may run it, then stops: the missing reason keeps check failing until a person writes one.
  • The git host is the gate. acceptances/ and api/ are owned in CODEOWNERS, so the owner's approval of the pull request is what lets a decision in, and the host records who gave it (Review and sign-off).
Needs a person Kind Where it is described
A route removed, a required input field added, a rule tightened, an output field removed or retyped, a failure code changed ApiChange The public API record
A column or table dropped, an entity moved to another store DataChange Migrations
Any widening of who can do what, however it arises PolicyChange Policy
A domain created or renamed DomainChange Domains
A risky package change (Package upgrades) PackageChange Integrations
A package's service: a new or changed container image, before it runs PackageChange Integrations
Installing a third party's package from git rather than the registry (an unverified publisher) PackageChange Integrations
A connection that receives personal data but can't erase it, with the reason the data stays ErasureNotPossible Integrations, Erasure
A threshold raised or removed ThresholdChange Monitoring thresholds

Changes that only add need no acceptance: a new route, a new optional input field, a new output field, tightened policy. The diff still shows them.

Acceptances aren't built yet (What is built).

Markdown for agents: /docs/acceptances.md.Built from Jadpo main at a707efb.