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

ErrorsLogic · rule

toolchain.not_built_yet

Operation is declared but not built yet.

Area 3, Logic; not declinable; the next step is usually the agent's.

The language declares some operations that aren't built yet, such as the generated oauth.approve (area 8). Calling one is an error rather than a program that can't run:

example
type ConsentId = Uuid {}action approve_consent(consent: ConsentId) -> Unit {    oauth.approve(consent)}
jadpo checkcheck failed: 1 error, 1 file

error oauth.approve isn't built yet

--> main.jadpo:4:5

  |4 |     oauth.approve(consent)  |     ^^^^^^^^^^^^^ declared, not built
reason
The language declares oauth.approve, but this compiler has nothing to run it with yet, so a program that calls it couldn't run.
next
Do without oauth.approve for now (agent)
rule
toolchain.not_built_yet
help
https://jadpo.dev/docs/errors/toolchain.not_built_yet

A decided feature that isn't built can also be refused where its effect would be wrong. A File in a route's output: or a failure's client: is refused, because downloads aren't built and the answer would hold the store and key the file is kept under (What a File holds). A File in a provider operation's input: or a webhook's reply: is refused for the same reason, since sending a file to a provider isn't built. A FileContents in a route's output: or a failure's client: is refused too, since the answer would hold the whole file as Base64.

An email's attachments are its File fields, one file each, so a List<File>, a Set<File> or a Map of them and a FileContents on an email or a partial are refused, as a File on a partial is, since each would compile and never be sent (Attachments).

Markdown for agents: /docs/errors/toolchain.not_built_yet.md.Built from Jadpo main at aee2e8f.