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

Errors

Error messages

Every error has one shape, in the terminal, in the editor and as JSON: what is wrong, where, why, the recommended next step, who decides, the rule ID and a help link. One mistake gives one error: the compiler doesn't report the errors that follow from it. An error reads:

jadpo check

error titel isn't defined in this scope

--> domains/planning/libraries/titles.jadpo:6:12

  |6 |     return titel  |            ^^^^^
reason
Jadpo could not find this name. Did you mean title?
next
Use title instead of titel (agent)
rule
type.unknown_value
help
https://jadpo.dev/docs/errors/type.unknown_value

(human) at the end of an error's next: line tells your coding agent to stop and ask you which fix you want, because the choice is yours to make (who can see data, what a setting holds). (agent) means your agent can make the fix itself.

There is no warning severity. Every finding is an error, and it stops check and the build until it is answered: fixed or, for the few rules that allow it, declined.

  • Paths are relative to the project.
  • The two impact lines appear only when they say something.
  • An obvious repair carries its edit, so the editor and agents can apply it.
  • The help link is the address of the error's own page on the site, https://jadpo.dev/docs/errors/<rule>, which has an example of the rule.
  • Tools read the same fields as JSON with jadpo check --json, which gives line and column as well as byte offsets, and uses one naming style for its keys.
  • A reason that quotes another tool's lines, as toolchain.build_failed quotes cargo's, prints each as a line of its own under the reason, its indent kept and blank lines left out; JSON keeps them in the one string, each break a \n.

When Jadpo itself fails

Sometimes the fault is Jadpo's. If jadpo panics, including inside the interpreter that jadpo dev and jadpo test run, it says so first, so you don't hunt for a mistake in your own code. This is the screen:

text
✗ failed  This is a bug in Jadpo, not in your code  ran       jadpo check  version   jadpo 0.1.0 · aarch64-macos  in        crates/jadpo-check/src/lib.rs:12What to do next  1. Read the crash file. It can quote your project.     /Users/ada/.cache/jadpo/crashes/2026-10-30T14-02-31Z.txt  2. Report it with this link, attaching the file.     https://github.com/jadpo-dev/jadpo/issues/new?template=bug.yml&title=Internal%20error%20in%20jadpo%20check&version=0.1.0%20aarch64-macos

The screen names only the command word, never an argument, and never the panic message. The crash file holds those, so it can quote your project: read it before you attach it. Jadpo writes it under $XDG_CACHE_HOME/jadpo/ crashes/, or ~/.cache/jadpo/crashes/, and keeps the newest 20. It holds the version, the platform, the arguments (jadpo config keeps only its subcommand), the panic message and a backtrace. Jadpo sends nothing anywhere.

A deployed app is different: the client sees only 500 internal_fault, and the log says more (What it logs; Failures).

Markdown for agents: /docs/error-messages.md.Built from Jadpo main at aee2e8f.