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
ReferenceReview and records

ToolsReview and records

What is built: Review and records

Feature Status
Manifest Built: jadpo check writes build/manifest.json at format 2, with nodes for project layout and modules, values and types, logic and failures and their calls, uses and raises edges, policy's grants, field restrictions, tenancies and listed actions with grants and scopes edges, prompts, and the connections, packages, operations, hosts, lock lines, principals, sign-in, generated routes, settings, locale set, rate limits, schedules and subscribers of Sign-in and identity, Configuration, External services and Background work, and the build stamp, a person node for each person entity, listing the references its records belong through and the fields erasure keeps of their record, and a retention node for each retention, under its field or entity, with its period and since: field. The graph's diff classifies their changes as Package upgrades and the acceptances table say (PackageChange, PolicyChange). Each threshold is a threshold node with what it watches and its limits, and each disk store's floor one too (What Jadpo generates from thresholds). Caches, OAuth scopes and personal fields join as their parts of the language are built.
Views of it Partly built: the library and failure catalogues are built, one OpenAPI document per API in build/openapi/, and the monitoring rules in build/monitoring/; the other reports come with their parts of the language.
Migrations Built: jadpo migrate new writes each folder, and jadpo check fails while the entities and the latest snapshot disagree. Each folder is a migration_snapshot node in the manifest.
Stable identity Built: a key is the kind and the born name, a function or type declared in a domain carries its domain, and a test's key is the file it sits beside and its sentence. jadpo check reads the registry and promotion with jadpo fmt --layout writes it; jadpo rename and the jadpo domain commands, which write it too, have rows of their own (Tools).
API record Built: jadpo api update writes api/<api>.jadpo_record for each API with routes, jadpo check fails with record.out_of_date while one disagrees with the routes, naming what changed, and a breaking change needs an acceptance.
.jadpo_record files Partly built: every record in the record format, the API record without version:, the registry as database/identities.jadpo_record, the header check, record.out_of_date, record.edited and record.format_newer, jadpo records and jadpo records update, and the .gitattributes lines jadpo new writes. Not built yet: telling a careful hand edit of a view from a stale one, which needs jadpo check to build the base as jadpo approval does; the editor grammar and jadpo lsp serving records.
Event records Built: one view per domain with events, domains/<domain>/events/events.jadpo_record, written by jadpo records update and checked as the API record is; what The event record records, and its breaking changes need an acceptance.
Access and network records Built: access.jadpo_record and network.jadpo_record at the root, written by jadpo records update and checked as the API record is (Acceptances).
Acceptances Partly built: jadpo acceptance new <purpose>, the before side read from git (--before on jadpo check), matching, the /// reason and history, for ApiChange (the API and event records), PolicyChange (widenings, routes made public, security declines, sign-in settings past their limit), DomainChange.created, NetworkChange.host_added, PackageChange.git_source, an upgrade's PackageChanges (Package upgrades), ThresholdChange (each domain's monitoring.jadpo and app.jadpo's disk floors read from git) and DataChange (read from the migrations a change adds, Removing data). And ErasureNotPossible, which says how things stand rather than what changed, read from where personal data goes. Not built yet: PackageChange.service_image, which comes with services; and a domain renamed, which shows as one created until jadpo domain rename writes the registry.
Lock and package surfaces Built. The lock is a ledger read and checked like the others, and jadpo check holds each installed package to its line and digest (External services gives the digest), and its jadpo version pin to the line app.jadpo names. jadpo toolchain pin and unpin write the pin, and the package commands and jadpo records update keep it. jadpo package add, update, remove, link and unlink write it, each line through the ledger's writer, sorted; git lines record the repository as written, the tag and the tag's commit, path lines a folder relative to the root, and a link line replaces the package's line while the replaced one waits in .jadpo/links (git-ignored, in the lock's own format) for unlink. Two versions of one package are locked side by side, each on its own line, and update names the version while two are held. A package surface is record surface 1, a view written by jadpo package check in a package's own repository, verified at install against its package's code, and read by jadpo package show; installed, a surface is held by its package's digest rather than regenerated, so jadpo records doesn't list it, and an own integration's is written to build/providers/ (External services). jadpo package update prints the surface's changes, each entry the app uses marked used by the app, and this page's review under Needs a person, the same list jadpo check asks an acceptance for; a package installed from git needs PackageChange.git_source.
Build stamp Built for native and Workers deployables: jadpo build writes the build id (b_ and twelve hex digits of a SHA-256 over the deployable's program digest, the compiler, the target and jadpo.lock), the commit, whether the tree was modified, the compiler, the deployable and the target into the binary or module as a constant, and every event it logs carries them (A native deployable, A Workers deployable). jadpo check writes the manifest's source (commit, left out when git doesn't track the project, and modified) and deployables, each deployable's target, build id and the disk stores that keep it on one server (one_server), which digests a declared deployable's declaration too, so two deployables of one app never share one (Declared deployables); a project with errors has none.
Approval Built: jadpo approval builds the before side, keeps its manifest and writes the report to build/review/.
Package upgrade plans, jadpo incident, jadpo inspect and jadpo test new --from-event Not built yet.

Markdown for agents: /docs/records-and-manifest-built.md.Built from Jadpo main at aee2e8f.