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

layout.unused_declaration

Shared declaration is not used.

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

example
type DueWindow = Int {    min: 1}
text
error: `DueWindow` isn't used --> domains/planning/types/due_window.jadpo:1:6  |1 | type DueWindow = Int {  |      ^^^^^^^^^ nothing uses this  reason: A shared type exists to be used by several files; one that nothing uses is dead code. Tests don't count as users.  next: Remove `DueWindow` (agent)  rule: layout.unused_declaration  help: https://jadpo.dev/docs/errors/layout.unused_declarationcheck failed: 1 error, 2 files

Beside a file's primary declaration, a supporting type or helper is there for it: the primary uses it, directly or through another supporting declaration it uses. One only the file's tests use is dead code too:

example
type Shelf = Int {    min: -2    max: 2}type OvenTemperature = Int {    min: 0    max: 300}function top_shelf() -> Shelf {    return 2}/// The temperature for a bake on `shelf`: a high shelf runs hot.action set_oven(shelf: Shelf) -> OvenTemperature {    if (shelf > 0) {        return 190    }    return 200}
text
error: `top_shelf` isn't used by `set_oven` --> domains/kitchen/actions/set_oven.jadpo:11:10   |11 | function top_shelf() -> Shelf {   |          ^^^^^^^^^ `set_oven` doesn't use this  reason: Everything in a file besides the declaration it is named after is there for that declaration, used by it directly or through one another; anything else is dead code. Tests don't count as users.  next: Remove `top_shelf` (agent)  rule: layout.unused_declaration  help: https://jadpo.dev/docs/errors/layout.unused_declarationcheck failed: 1 error, 3 files

The file's test calls top_shelf, which doesn't count:

example
test "the top shelf is turned down" {    assert set_oven(top_shelf()) == 190}

Markdown for agents: /docs/errors/layout.unused_declaration.md.Built from Jadpo main at a707efb.