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

ErrorsTools · rule

conform.refused

On this page

The conformance suite wasn't sent to the provider's live API, because the app has no connection to the package, nothing sets the connection's credential or address, or ai: doesn't ask its models through it.

Area 14, Tools; not declinable; the next step is usually the human's.

Why Jadpo refuses it

jadpo package conform <package> ai --live sends the ai capability's cases to the provider's own API, so a package is proved against what the provider answers today rather than against its recordings. It sends them through the app's own connection to the package, with that connection's credential and address, and asks the models the app's ai: names, so the run proves what the app itself will send.

Without those, the only thing it could send is a stand-in key to a guessed address, and a failure would say nothing about the package. Jadpo won't set a credential for you: the key decides which account at the provider pays for the calls, and it is a secret only you hold.

What it looks like

An app that asks its models through its own provider package, Acme Models, whose key ACME_KEY gives:

config.jadpo:

example
config {    acme_host: Url {        default: "https://api.acme-models.example"    }    acme_key: Text {        secret: true    }    drafting_model: ModelId {        default: "acme/acme-small-1"    }}

app.jadpo:

example
application {    connections: {        acme: {            package: AcmeModels.v1            domains: [support]            credential: config.acme_key            host: config.acme_host        }    }    ai: {        connection: acme        models: {            default: config.drafting_model        }        limits: {            per_day: {                tokens: 2000000            }        }    }}

Nothing on this machine sets ACME_KEY, so the live run is refused before anything is sent:

shell
jadpo package conform acme_models ai --live
jadpo package

error acme has nothing set for the provider's API

reason
--live sends the suite to the provider's API with acme's credential and address, and nothing sets ACME_KEY, so only a stand-in would be sent.
next
Set ACME_KEY in .env.local to the provider's, then run it again (human)
rule
conform.refused
help
https://jadpo.dev/docs/errors/conform.refused

(human) at the end of the next: line tells your coding agent to stop and ask you which fix you want, because the choice is yours to make: it decides which of your accounts at Acme the suite's calls are made with.

How to fix it

The question is whether you meant to call Acme's API.

If you did, set the key, then run the suite again:

shell
jadpo config set acme_keyjadpo package conform acme_models ai --live

jadpo config set asks for the key without showing what you type and saves it in .env.local, which is never committed. The suite's cases then go to https://api.acme-models.example with it.

If you didn't, run the suite without --live:

shell
jadpo package conform acme_models ai

It then runs against the package's recordings and a local fake, and nothing leaves your machine.

Markdown for agents: /docs/errors/conform.refused.md.Built from Jadpo main at aee2e8f.