Records and manifest
Besides your running app, the compiler writes two kinds of file, and it keeps them apart so that every change can be reviewed and every production event traced back to its source.
- A record is a promise to the outside world: your public API, the history of your database, the packages you pinned, and decisions people made. You commit records, review them as diffs, and each is changed by one command.
- A build output is a fact about one build. It is written again on every build and never committed. The main one is the manifest, the compiler's graph of your application. Every report is a view of it.
Reviewing a change means comparing two manifests. Explaining a production event means rebuilding the manifest of the build that raised it.
| Name | Holds | Where | Committed | Written by | Read by |
|---|---|---|---|---|---|
| API record | Each API's routes, fields and failure codes | api/<api>.jadpo_record |
Yes | jadpo api update |
check, reviewers, client teams |
| Event record | Each domain's events, the fields they carry and the types those name (The event record) | domains/<domain>/events/events.jadpo_record |
Yes | jadpo records update |
check, reviewers |
| Migrations | Each step of the database, with a snapshot of the whole schema | database/migrations/ |
Yes | jadpo migrate new |
migrate apply, check |
| Identity registry | What each renamed thing was born as | database/identities.jadpo_record |
Yes | jadpo rename, jadpo domain …, jadpo fmt --layout |
the compiler, migrate, incident |
| Translation sources | For each locale and message, a hash of the default wording it was translated from, and each acceptance (Translations as messages) | translations/sources.jadpo_record in each translations folder |
Yes | jadpo translations update, import, accept |
check, translations missing, approval |
| Package surface | An installed package's public surface, each entry pointing at its file (Integrations) | packages/<name>/<version>/surface.jadpo_record |
Yes, with the package | jadpo package check; verified by jadpo package add and update |
check, package show, reviewers, the registry |
| Lock | Each installed package's version, digest and source: registry, git (repository, tag and commit), path or link; and the Jadpo release the project runs with, when it is pinned |
jadpo.lock |
Yes | jadpo package add, update, remove, link, unlink; jadpo toolchain pin, unpin |
check, build, and every command, to choose the Jadpo that runs it |
| Suggestions kept quiet and taught | The suggestions a team ignored, and the patterns it taught jadpo suggest (Suggestions) |
ignored_suggestions.jadpo_record, taught_suggestions.jadpo_record |
Yes | jadpo suggest ignore, jadpo suggest found |
suggest |
| Acceptances | A person's decision to allow listed changes | acceptances/ |
Yes | drafted by jadpo acceptance new; the reason by a person |
check, approval |
| Manifest | The application graph: every node with its source place, edges, routes, schedules, hosts, policy, thresholds | build/manifest.json |
No | check |
every report, approval, incident, inspect, console, MCP |
| Reports | Views of the manifest: permissions, personal data, network, database, queries, catalogues, OpenAPI, monitoring rules | build/report/, build/catalogue/, build/openapi/, build/monitoring/ |
No | check |
people, agents, monitoring tools |
| Review | The difference between two manifests, decisions first | build/review/ |
No | jadpo approval |
reviewers, CI |
| Build stamp | Build id, commit, compiler, deployable, target | Inside each deployable; on every log event | No | jadpo build |
logs, incident |
Markdown for agents: /docs/records-and-manifest.md.Built from Jadpo main at a707efb.