Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 4 Nov 2026. What's built · Install 0.2.0
jadpo
Reference: Tooling

Tooling · rule

publish.publisher_mismatch

On this page

A release names another publisher than the one asked to publish it.

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

Why Jadpo refuses it

package.jadpo names a package's publisher so a fork can't be published as the original. The registry reads that name from the release and holds it to what it knows: a repository's earlier releases are one publisher's, a name is released from one repository, and a signed-in member asks as one publisher. A release that disagrees is refused, whoever would have confirmed it.

What it looks like

A fork of @acme/postcodes that still says publisher: "@acme":

shell
jadpo package publish
jadpo package

error Postcodes.v2 2.1.0 can't be released as @acme

reason
The registry refused it: @acme/postcodes is released from https://github.com/acme/postcodes, and this is https://github.com/mallory/postcodes.
next
If this is a fork, name your own handle in package.jadpo and tag a new release; if it is yours, ask on jadpo.dev (human)
rule
publish.publisher_mismatch
help
https://jadpo.dev/docs/errors/publish.publisher_mismatch

jadpo package verify <folder> --publisher @other says the same of a package naming anyone but @other, and the verifier does when the registry tells it who the release is for.

(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: whose package this is isn't something an agent can decide.

How to fix it

If this is a fork, publish it under your own handle. It is then your own package, @you/postcodes, and its name in code can stay:

example
/// UK postcodes: parsing, normalising and checking the outward code.package Postcodes.v2 {    publisher: "@you"    licence: Licence.mit    jadpo: "X.Y"}

Run jadpo package check and tag a new release: nothing of @acme's is touched, and your releasers confirm it.

If the package is yours and moved, an owner moves it to its new repository on its page on jadpo.dev, with a passkey, and then asks again:

shell
jadpo package publish

The new repository's releases are then the package's.

If a tag named the wrong publisher by mistake, release a new version that names the right one:

shell
jadpo package checkgit add -A && git commit -m "fix: name the right publisher"git tag v2.1.2 && git push origin main v2.1.2

A package never changes publisher by a release: handing one on is succession.

Markdown for agents: /docs/errors/publish.publisher_mismatch.md.Built from Jadpo main at 0e6fe62.