Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 30 Oct 2026. What's built · Install 0.1.0
jadpo
Reference: Project layout and modules

Project layout and modules · rule

visibility.public_unused

Public declaration no other domain uses.

Area 1, Project layout and modules; not declinable; the next step is usually the agent's.

public offers a declaration to the rest of the project, so it marks only what something outside the domain uses: another domain's code or tests, a root tests/ scenario, or the signature of a public declaration one of them uses. The domain's own tests don't count, and a package's public members are its interface to other projects, so they are exempt (area 11):

example
test "two todos are open" {    assert count_todos() == 2}
example
use shared/types { TodoCount }public action count_todos() -> TodoCount {    return 2}
text
error: `count_todos` is `public`, but nothing outside `planning` uses it --> domains/planning/actions/count_todos.jadpo:3:1  |3 | public action count_todos() -> TodoCount {  | ^^^^^^ offered to no one  reason: `public` offers a declaration to other domains, and no other domain's code or tests, no root `tests/` scenario and no public declaration they use names `count_todos`; `planning`'s own tests don't count.  next: Remove `public` (agent)  rule: visibility.public_unused  help: https://jadpo.dev/docs/errors/visibility.public_unusedcheck failed: 1 error, 4 files

Markdown for agents: /docs/errors/visibility.public_unused.md.Built from Jadpo main at a707efb.